完全無料!授業料0円のプログラミング教室特集はこちら

.htaccessとは?基本やSEO対策での使い方を初心者向けに解説

htaccessとは?基本やSEO対策での使い方を初心者向けに解説

.htaccessって何よ…?

“リダイレクトには.htaccessを使いましょう”とか、“URLの統一は.htaccessで実施しよう”とか、、

そんなん言われても、そもそも.htaccessがわかりません…。

 

こんなお悩みを解決する記事。

.htaccessがいまいちピンときていなくても安心してください。僕も最初は同じ状態でしたので。

本記事では、.htaccessの基本を網羅しつつ、僕の経験をもとに、WordPressやブログのSEO対策で.htaccessを最大限活かす方法についても解説します。

.htaccessを深く解説すると割と専門的な話になってしまうので、そういった部分は避けつつ出来る限りわかりやすく簡単に解説するので参考にどうぞ。

 

.htaccessとは:基本知識を初心者向けに解説

htaccessとは:基本知識を初心者向けに解説

まずは、.htaccessの基本知識について解説します。

.htaccessとは、サーバー動作をディレクトリごとに管理するためのファイルです。

「ディレクトリ = フォルダ」なので、フォルダごとに制御するためのファイルと覚えておくといいと思います。

 

htaccessとはサーバー動作をディレクトリごとに管理するためのファイル

 

通常、サーバーとウェブサイトに関係はこのようになっていまして、ひとつのサーバーに複数のサイトが保管されていることが多いです。

そして、サイトは個別のフォルダに格納されているため、それぞれのフォルダに制御の指示をする(つまり、それぞれのサイトに制御の指示をする)のが.htaccessの役割になります。

 

サーバー全体ではなく、ディレクトリ毎である理由は?

別にディレクトリごとじゃなくても、サーバー全体に制御をかければいいんじゃね?

 

自分ひとりでサーバーをまるっと使っているならOKですが、レンタルサーバーの場合、ひとつのサーバーを別の利用者と共有している場合が多いです。

その場合、サーバー全体のアクセス権限はサーバー会社が管理しているため、利用者は自分が管理するサイトのディレクトリ内に.htaccessを設置してサイトを管理することになります。

 

サーバー全体ではなく、ディレクトリ毎である理由は?

 

イメージとしてはこんな感じです。

.htaccessを使いこなすことで、それぞれのサイトごとにリダイレクトやURLの統一(www有無)を設定可能なので、この機会に.htaccessの基本を知っておきましょう。

 

.htaccessでできること

まずは、.htaccessでできる、代表的な機能を紹介します。

 

  • リダイレクト
  • ID・パスワード認証
  • IPアクセス制限
  • URLの統一

 

1. リダイレクト:読者を移転先へ誘導する

リダイレクトとは、あるページに訪れた読者を別のページに自動的に遷移するための仕組みです。

ブログでは、記事のリライトをしたときに、よくリダイレクト設定するのですが、ここで変更を加えるファイルが.htaccessになります。

» 参考:ブログ記事をリダイレクトする方法【301リダイレクトでSEO対策】

 

2. ID・パスワード認証:会員制サイトの構築

.htaccessを利用することで、会員制サイトや購入特典記事など、一部にしか公開したくないサイトや記事にパスワード認証をかけることができます。

 

3. IPアクセス制限:特定のネットワークからアクセスを遮断する

ID・パスワードによる認証ではなく、特定のIPアドレスからのアクセスを遮断したり、逆に特定のIPアドレスのみアクセスを許可したりするのにも、.htaccessの役目です。

これにより、社外ネットワークからの不正アクセスを防いだりすることも可能です。

 

4. URLの統一:wwwの有り無しを統一する

サイトのwwwの有り無しを統一しておかないと、SEO評価が分散されてしまうので非常にもったいないです。

www有り無しの統一はリダイレクトと同じ考え方ですが、https://www.sample.comというページに訪れた読者をhttps://sample.comに自動的に遷移させることで、SEO評価の分散を防ぐことが可能になります。

 

補足. まだまだある“.htaccess”でできること

このほかにも、.htaccessでできることはたくさんあるので、軽く紹介しておきます。

 

  • 404エラーページの表示指定
  • ファイル一覧表示の禁止設定
  • ディレクトリごとにデフォルトページを変更
  • index.htmlの有り無しを指定

 

ざっとこんな感じですね。

必要なときに調べればいいので、ここですべて覚える必要はありませんよ。

 

.htaccessの設定方法:WordPressの場合

WordPressでサイトを運営している場合、.htaccessは最初から用意されています。

FTPクライアントを使い、サーバーにアクセスしたら、ドメイン直下のディレクトリに保存されているはずなので、それをダウンロードしましょう。

FTPクライアントは無料で使えるFileZilla(ファイルジラ)がおすすめです。

»【FileZilla完全攻略】初心者でも出来るFTPクライアントの使い方

 

.htaccessが見当たらない

ごく稀に、サーバーのルートディレクトリを探しても、.htaccessが見当たらない場合があります。

このような場合、かなりの確率でWordPressインストール時に.htaccessが生成されなかった可能性が高いので、新しく作りましょう。

 

手順①:サーバーのパーミッションを変更

FileZIllaを使う場合のパーミッション変更方法は、各ソフトの設定方法 – FileZillaが参考になります。

この手順でパーミッションの属性を[775]に変更してください。

 

手順②:WordPress管理画面でパーマリンク設定

続いて、WordPressの管理画面を開き、[設定] > [パーマリンク設定] と進んだら、何も変更を加えずに [変更を保存] をクリックすれば終了です。

もう一度、FileZillaを開いて、.htaccessが作られているかを確かめてください。

 

自分で.htaccessを作る場合

.htaccessは自分でも作ることができます。

メモ帳など、なんでも良いのでテキストエディタを開き、下記の状態でファイルを保存しましょう。

 

ファイル名:.htaccess(※拡張子はつけない)

文字コード:UTF-8(BOMなし)

改行コード:LF

» 参考:HTACCESS TUTORIAL(外部サイト)

 

.htaccessを使うときのポイント

ファイル名の最初に(.)ドットがつくファイルはあまり目にすることがないと思います。

先頭にが(.)があるファイルは隠しファイルと呼ばれ、通常はデスクトップなどの画面に表示されないようになっているので、表示するためには少しばかり設定が必要です。

 

隠しファイルの開き方

設定と言っても、2秒で終わるので下記をご参照あれ。

 

  • Windows:メニューから [表示] をクリックし、 [隠しファイル] にチェック
  • Mac:commandshift.(ドット)を同時に押す

 

これだけ。簡単ですね。

 

.htaccessをSEOに活かす方法(使い方は4つ)

htaccessをSEOに活かす方法(使い方は4つ)

ここからは少し実践的に、.htaccessの使い方を解説していきます。

 

  1. ベーシック認証
  2. 301リダイレクト
  3. URLの統一
  4. アクセス制限

 

上記、使用頻度の高い活用方法をそれぞれ解説するので、気になる箇所からどうぞ。

 

1. ベーシック認証

まずは、ベーシック認証をかける方法です。下記コードをどうぞ。

 

.htaccessでBasic認証をかける

# Basic認証
<Files ~ “^\.(htaccess|htpasswd)$”>
Deny from all
</Files>
AuthType Basic
AuthUserFile /フルパス/.htpasswd
AuthName “IDとパスワードを入力してください”
AuthType Basic
require valid-user
# Basic認証ここまで

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

 

注意

WordPressの場合、.htaccessには、あらかじめコードが記載されています。

追記コードは、必ず #BEGIN WordPress の前に記載しないといけないので注意しましょう。後ろに書くと、エラーで正常な処理をしてくれない場合があります。

 

フルパスを用意する

上記のコードで、フルパスと書かれた箇所には、.htpasswdのフルパスを記述します。

 

フルパスの作り方

ユーザー名:Sample

パスワード:Pass

 

上記のユーザー名、パスワードを設定する場合、テキストエディタを開いて、次のように記述します。

 

Sample:Pass

 

ファイル名を[.htpasswd]にして、サーバー内の.htaccessと同じ階層に保存すればOKです。

 

続いて、.htaccess による認証用 パスワード暗号化ツールを用いて、.htaccessの“フルパス”に記載するコードを用意します。

Sample:yM0iI0pMz9I0sのようなコードが自動で生成されるので、こちらを.htaccessの“フルパス”部分にコピペすれば完了です。

 

表示するメッセージを作る

先ほどのコードでIDとパスワードを入力してくださいと書かれた部分には、ログイン画面に表示するメッセージ内容を記述します。

  • IDとパスワードがないと見れないぞッ(๑˃̵ᴗ˂̵)
  • Please Enter ID Password

など、なんでもOKなので、お好きなメッセージをどうぞ。

 

2. 301リダイレクト

301リダイレクトは、ブログの記事が増えてくるとめちゃくちゃ使うようになります。

頻度が最も高い使い方だと思うので、別記事でガッツリ解説することにしました。ブログ記事をリダイレクトする方法【301リダイレクトでSEO対策】をどうぞ。

 

3. URLの統一

wwwのありなしを統一する方法も、301リダイレクトを活用します。

下記のコードをご参照あれ。

 

wwwありに統一する

# wwwありに統一
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sample\.jp$
RewriteRule ^(.*)$ https://www.sample.com/$1 [R=301,L]
# ここまで

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
wwwなしに統一する

# wwwなしに統一
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.sample\.jp$
RewriteRule ^(.*)$ https://sample.com/$1 [R=301,L]
# ここまで

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

 

sample.comのドメイン部分は、適宜変更して活用してみてください。

 

書き方はいくつかある

URL統一の書き方は、上記以外にもいくつかありまして、その辺りは、Best Practice: 301 Redirect HTTP to HTTPS (Standard Domain)のスレッドが参考になるので、ここに貼っておきます。

英語ですが、ちょっと頑張って読んでみると理解が深まるはずです。

 

4. IPアクセス制限

最後にアクセス制限の掛け方を紹介して終わりたいと思います。

IPアクセス制限を掛けることで、指定したIPからのアクセスを拒否したり、逆に指定したIPからのみアクセスを許可したりできるようになります。

 

指定したIPからのアクセスを拒否する

# アクセス拒否
order allow,deny
allow from all
deny from アクセス制限したいIPアドレス または ドメイン
# ここまで

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
指定したIPからのアクセスのみを許可する

# アクセス許可
order allow,deny
deny from all
allow from アクセス許可したいIPアドレス または ドメイン
# ここまで

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

 

allowの欄に、許可したいIPアドレス(またはドメイン)、denyのほうには、拒否したいIPアドレス(またはドメイン)を書くだけなので、割とわかりやすいと思います。

 

スポンサードサーチ

まとめ:.htaccessでサイト管理をどうぞ

まとめ

本記事は以上です。

.htaccessを活用することで、サイト全体のセキュリティやリダイレクト管理ができるようになります。

とくに、301リダイレクトはSEOでも重要な役割を果たすので、この機会に.htaccessに触わって慣れておくといいと思います。

本記事を参考にしつつ、まずは出来そうなところからどうぞ。

おわり。