Webサイトをリニューアルするときによく使う.htacessによるリダイレクト処理をまとめていきます。サイトリニューアル時についつい忘れがちですが、SEOにも関わる重要な施策ですので自分用にまとめておきます。
この記事の目次
.htaccessとは?
「ドット・エイチ・ティ・アクセス」と読み、サーバーに対する命令をコントロールしているファイルです。今回まとめるページを移動するリダイレクト処理であったり、URLの正規化、ベーシック認証、キャッシュの設定、特定ドメインのアクセス除外なども設定できます。
リダイレクト処理
リダイレクト処理には、恒久的にページを移転させる301リダイレクトと一時的にページを移転させたいときに使用する302リダイレクトがあります。個人的には301リダイレクトを使用するケースが多いので今回は301リダイレクトを中心にご紹介します。
ページ単位でのリダイレクト
.htaccessファイル
RewriteEngine on RewriteRule ^old.html$ /new.html [R=301,L]
※ どちらもhtml形式の場合
.htaccessファイル
RewriteEngine on RewriteRule ^contact.html$ https://livalest.com/contact/ [R=301,L]
※ html形式から全URL記載ver
※ ページURLは適宜変更してください。
.htaccessファイル
RewriteEngine on RewriteRule ^blogcat/freelance/$ https://livalest.com/ [R=301,L]
※ ブログのカテゴリーページをトップページへリダイレクトする時の処理
ディレクトリ単位でのリダイレクト
.htaccessファイル
RewriteEngine on RewriteRule ^old(.*)$ /new$1 [L,R=301]
ドメイン単位でのリダイレクト
.htaccessファイル
RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.old-livalest.com)(:80)? [NC] RewriteRule ^(.*) https://new-livalest.com/$1 [R=301,L]
※ ページURLは適宜変更してください。
SSL化して、https通信へ変更するとき
.htaccessファイル
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
URLの正規化/index.htmlはトップページにリダイレクト
.htaccessファイル
RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ https://livalest.com/$1 [R=301,L]
※ ページURLは適宜変更してください。
wwwありURLを、wwwなしURLへリダイレクトする記述
これに関してはGoogle Search Consoleでも設定が可能なので、僕の場合は.htaccessを使わず、Google Search Consoleの方で設定することが多いです。
.htaccessファイル
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.livalest\.com RewriteRule ^(.*)$ https://livalest.com/$1 [L,R=301]
※ ページURLは適宜変更してください。
.htaccess注意点を変更・追加する上での注意点
WordPressの場合、その記述を消さないようにする
.htaccessファイル
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
WordPressのサイトでは、.htaccessのファイルを開くと上記のようなコードがあります。このコードは基本的に触らず、そのままにしておきましょう。
バックアップはしっかりとっておく
コード編集全般に言えることですが、必ずバックアップをとっておきましょう。Webサイトの表示そのものに関わる重要なファイル編集ですので、エラーが起これば早期にバックアップで復元しましょう。
場合によっては反映まで時間がかかることも・・・
こちらもご使用のサーバーによって、.htaccessの処理反応が遅いことがあります。この場合は少し時間を空けて再度確認してください。
レンタルサーバーによっては設定が必要なことも・・・
使用しているサーバーによっては、.htaccessの設置を許可されていないことがあります(みんなが知っているようなサーバーでは問題ないはずです)。また、.htaccessのパーミッション関係で設定が必要なこともあります。どうしても設定がうまくいかない場合は、ご契約しているサーバー会社さんに問い合わせした方が早いかもしれません。
まとめ
サイトリニューアルの時に設定し忘れることが多いですが、リダイレクト処理全般に関しては過去のサイトのSEO評価を引き継ぐうえでも重要な施策です。今回は自分用にクライアントワークでよく使うリダイレクト処理をまとめてみました。皆さんの参考になれば幸いです。