.htaccessリダイレクト(転送設定)の書き方とSEO評価について
2022.02.24WEB制作
リダイレクトとは
リダイレクトとはwebページ(対象となるURL)に訪れたユーザーを別のサイト(対象となるURL)に転送する仕組みを言います。.htaccess(ドットエイチティー)リダイレクトとも言われ、WEB運用ではかなりの頻度で使われる仕組みで超重要な要素になります。訪問した先のサイトでエラーが起きた時はリダイレクト設定が正しく行われていない事がほとんどです。
なぜリダイレクト設定が必要か
SEO効果を引き継ぐため
ホームページのリニューアルなど、ページ移転などでURLが変わる場合移転先の評価は低いままです。リダイレクト設定をすることで移転先のURLに移転元URLのSEO評価を引き継ぐことが出来ます。ドメインパワーの移行は一般的に2週間から3ヶ月ほどと言われています。
ユーザーが迷わないために
古いURLは検索エンジン上で一定期間残り続けてしまう場合もあります。また、被リンク先のURLは基本的に変更は加わらないことが想定されるため、リダイレクト設定をしてどこからアクセスしても最新のページが見られるようにする必要があります。
セキュリティ保護のために
リダイレクト設定が必要になる場面の多くはURLのhttps化の時でしょう。SSL設定を施した時、「http://」のURLと「https://」の2つのURLが存在することになります。リダイレクト設定で表示させたくない「http://」のURLを「https://」として表示させるようにしなければ、SSL認証の効果が得られず、情報漏洩や改竄のリスクに晒されることになります。
リダイレクトの種類
301リダイレクト
サイトリニューアルや移転に伴って恒久的に転送し続ける場合に使用されます。
302リダイレクト
サーバーエラー等で一時的に転送が必要な場合に使用されます。
どちらを使ってもユーザーにとっては変わることはありません。リニューアル等で301を使うべきところで302を使用してしまうと、新しいURLのSEOをほとんど0から育てなければいけなくなる為、注意が必要です。
クライアントサイドリダイレクト
「このサイトは移転しました。5秒後に自動転送します。自動転送されなければ下記のURLをクリックしてください」のようなメッセージをみたことある方は多いと思います。クライアントサイドリダイレクトによる表示で、HTMLに転送先を記述する方法を指します。
サーバーリダイレクト
クライアントサイドリダイレクトのようなメッセージ表示なく、ユーザーを転送先のページに転送する方法です。サーバー設定ファイルに「.htaccess」という記述をしてサーバーにアップロードして設定します。
Googleは「サーバーリダイレクト」を推奨しています。理由としてはクライアントサイドリダイレクトでは、移転元、移転先がそれぞれのページの認識を受けミラーサイトとしてペナルティをうける可能性があります。
具体的なリダイレクトの記述
ページ単位
http://www.xxx.com/▲▲▲.htmlから
http://www.xxx.com/●●●.htmlに転送させる場合の記述方法
.htaccessに記述するテキスト
RewriteEngine on
RewriteRule ^▲▲▲.html$ http://www.xxx.com/●●●.html [L,R=301]
ディレクトリ単位
ディレクトリとはyu-sho.design/ココ/の部分になります。
yu-sho.design/ココ/からyu-sho.design/ソコ/に転送させる場合の記述方法
.htaccessに記述するテキスト
RewriteEngine on RewriteRule ^ココ(.*)$ /ソコ$1 [L,R=301]
index.htmlを取り除く(非表示させる)
古いサイトはyu-sho.com/index.htmlとなっている場合が多く、リニューアル後にindex.htmlの表記がなくなったことで検索エンジンなどからのアクセス時に「ディレクトリが存在しません」というページになってしまう場合もあります。その場合は●●.com/index.htmlと●●.comを表示先を合致させる必要があります。記述は以下の通り。
.htaccessに記述するテキスト
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://○○○.com/$1 [R=301,L]
www有無のURL正規化
www有りから無しに変更することもできます。
また、これは.htaccessでなくサーバー側でボタン一つで処理することも可能です。「http://www.●●.jp」から「http://●●.jp」に変更する記述は以下の通り。
.htaccessに記述するテキスト
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.●●.jp$ RewriteRule ^(.*)$ http://●●.jp/$1 [R=301,L]
http→httpsへのリダイレクト(SSL設定時)
SSL設定をした際に必要になる記述になります。FTPに格納するかサーバーの.htaccessを入力できる部分に下記の記述を入れることで解決する事ができます。もしワードプレスで作られたサイトなら、ワードプレスの表示設定側にも「s」を付ける処理が必要となります。
.htaccessに記述するテキスト
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
まとめ
サイトリニューアルや移転等でリダイレクト設定をする必要があります。正しく設定が出来ないことでSEO的に評価が下がってしまうことも重要ですが、元々アクセスしていたユーザーが離れる原因になってしまいます。設定後に正しく機能しているかチェックしましょう。