常時SSL化 #07 URLの正規化
投稿日:2017/6/1 更新:2018/4/3 コメント 0件 サイト運営 コアサーバー, レンタルサーバー, ワードプレス, 常時SSL化URL正規化
SSL化が済んだら「URLの正規化」を行います。サイトによっては異なるんですが、実はURLに「www.」を付加させて「https://www.edit-anything.com」にしたり、トップページのURLに「/index.html」を付加させて「https://edit-anything.com/index.html」としてもアクセス出来ます。
ただ、このように同じ内容のページでもアドレスが異なるとSEO的に良くないみたいですし、Googleアナリティクスなどのアクセス解析ツールで正しくカウントされなかったりして都合がよろしくなかったりするので特定のページに転送させてやる必要があります。
当サイトでは下記のいずれのアドレスに訪れても「https://edit-anything.com」に転送されます。
- http://www.edit-anything.com
- http://edit-anything.com/index.html
- http://www.edit-anything.com/index.html
- https://www.edit-anything.com
- https://edit-anything.com/index.html
- https://www.edit-anything.com/index.html
このようにURLをひとつに統一することを「URL正規化」といい、当サイトでは「wwwなし」、「index.htmlなし」に統一しています。
転送処理
転送処理の方法はいつくかあり、コアサーバーでも「ドメインウェブの設定」にある「転送先URL」と言う項目が転送させたいURLを入力して設定すれば自動転送できるんですがもしレンタルサーバーを移転した場合にはまた設定し直さないといけなくなりますし、Googleは「.htaccessファイル」による301リダイレクトを推奨しているので筆者もその方法で転送処理をしています。
図1は「index.htmlつき」のURLに訪れたら「https://edit-anything.com/」に転送しろという命令です。
図1 RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ https://edit-anything.com/$1 [R=301,L]
図2は「wwwあり」のURLに訪れたら「wwwなし」のページに転送しろという命令です。
図2 RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.edit-anything\.com$ RewriteRule ^(.*)$ https://edit-anything.com/$1 [R=301,L]
ハッキリ言って参考サイトでコピペしたものを修正しただけなので正規表現が使われてるということ以外は何という言語(Apache?)かもよく分かりません。
ただ、参考サイトでは「Options +FollowSymLinks」の記述があるものが多かったんですが、コアサーバーで.htaccessファイルにこの記述をするとサーバーエラーで正常に表示されなかったのでその記述を削除したら正常にリダイレクトされるようになりました。
リダイレクトのチェックツール
Fetch as Google
Google ConsoleのFetch as Googleで調べたいURLを入力して「取得」若しくは「取得してレンダリング」をクリックすると正しく転送(301リダイレクト)されているのかを調べられます。
結果のところをクリックすると詳細な情報が表示されます。
リダイレクトチェック
また、リダイレクトチェックではFetch as Googleのようにアドレスが固定されていないのでより自由な形でリダイレクトのチェックができます。