URLの正規化とは?実践方法を5つの人気WEBサーバーで検証をしてみた
投稿日:2019/05/01 (更新日:)
- URLの正規化とは
- URLの正規化がSEO対策で重要視されている理由
- Googleが推奨しているURL正規化の方法
- 5つのWEBサーバーでURLの正規化ができるのか検証をしてみた!
- 正しく正規化されているか確認しておくこと
サイトを新しく立ち上げた当初は、URL(ドメイン)がwwwあり・なしの両方からでもサイトにアクセスできることがあります。
wwwあり・なしのように、両方にアクセスできるということは、URLが統一(正規化)されていない状態になります。
このようなURLが正規化されていない状態のままサイトを運用していると、SEO効果を発揮するどころか、Googleにサイトをマイナス評価と判定される恐れがあります。
なので、サイトをマイナスな評価にされないためにも、URLの正規化を行う必要があります。
URLの正規化の方法の1つに「301リダイレクト」があります。
301リダイレクトの設定を行うためには、「.htaccess」というファイルを用いて設定を行っていきます。
ただし、WEBサーバーの仕様によっては、正常に301リダイレクトが動作しないことがあります。
ですので今回は、利用者が多いWEBサーバー5つを使って、実際に301リダイレクトが正常に動作するのか検証してみました。
検証したWEBサーバーの5つというのは下記になります。
- エックスサーバー
- wpX
- mixhost
- ロリポップ!
- さくらインターネット
また、URLの正規化とSEOの関係性についても触れていきます。
令和元年、初めてのコラム記事投稿です!!
URLの正規化とは
URLの正規化とは、「www」のあり・なしや、「index.html」のあり・なし、などといった様々なURLからアクセスできる状態を、1つのURLにまとめて、統一(正規化)することを指します。
「communityserver.org」というURLを例に挙げると、
「あり」パターン | 「なし」パターン | |
---|---|---|
www | https://www.communityserver.org | https://communityserver.org |
https | https://communityserver.org | http://communityserver.org |
index.html | https://communityserver.org/index.html | https://communityserver.org |
パラメーター | https://communityserver.org/?p=9 | https://communityserver.org |
などがあります。
上記で挙げたURLのあり・なしを統一することをURLの正規化といいます。
URLの正規化がSEO対策で重要視されている理由
URLの正規化はSEO対策で重要視されている理由には、主に2つ挙げることができます。
それは、
の2つです。
詳しく解説していきます。
検索エンジンが別ページと認識する
正規化がされていないURLは、検索エンジンからみれば、同じコンテンツにもかかわらず、まったく別ページと認識してしまうので、重複コンテンツと判断される可能性があります。
また、正規化がされていないURLは、検索エンジンはどちらのコンテンツを評価していいのか理解しづらく、評価が分散される可能性があります。
以上のことから、URLの正規化を行うことで、検索エンジンに対して最適化を行うことができます。
URL末尾のスラッシュ(/)は同等に扱う
URLの末尾にスラッシュ(/)がついているサイトがありますが、スラッシュのあり・なしについては、URLとしては別物ですが、基本的に同等に扱うとGoogle社のジョン・ミューラーが自身のSNS(Twitter)で発言をしています。
I noticed there was some confusion around trailing slashes on URLs, so I hope this helps. tl;dr: slash on root/hostname=doesn't matter; slash elsewhere=does matter (they're different URLs) pic.twitter.com/qjKebMa8V8
— ? John ? (@JohnMu) 2017年12月19日
簡単にまとめると、
- (A)http://www.example.com/
- (B)http://www.example.com
- (C)https://www.example.com/
- (D)https://www.example.com
- (E)https://example.com/
- (F)https://example.com/fish
- (G)https://example.com/fish/
という7種類のURLを例にした時に、
同等に扱うパターン | 同等に扱わないパターン |
---|---|
(A)と(B) | (A)と(C) |
(C)と(D) | (C)と(E) |
(F)と(G) |
と、URLが同等に扱うのと扱わないパターンが存在します。
ジョン・ミューラーが添付している図では、サーバー側がどのようにURL末尾のスラッシュ(/)を処理するのかを示したものです。
つまり、同等に扱うパターンに該当するURLは別物ですが、同等に扱われるので、SEO上では問題ないでしょう。
被リンクが分散してしまう
正規化がされていないURLの状態だと、外部サイトから貼られた「被リンク」が分散される恐れがあります。
先ほど触れましたが、正規化されていないURLは、検索エンジンにとって別ページとして認識されます。
つまり、別々のURLでリンクが貼られると、被リンクによる効果が最大限発揮できなくなります。
被リンクの分散についてはGoogleの「検索エンジン最適化スターターガイド」に記述されています。
ある1つのコンテンツに対して、張られるリンクのURLがユーザーによって異なると、そのコンテンツに対する評価がURLごとに分かれてしまう恐れがあります。
なので、URLの正規化を行うことで、被リンクによる効果を最大限発揮することができます。
Googleが推奨しているURL正規化の方法
URLの正規化を行う方法には、Googleが推奨してるやり方で行いましょう。
その方法とは主に2つ挙げられます。
- 301リダイレクトを設定する
- canonicalタグを設定する
301リダイレクトを設定する
1つ目は、301リダイレクト(Permanent Redirect)を設定する方法です。
301リダイレクトとは、「恒久的に転送される」という意味合いのステータスコードの一種です。
主な使い方としては、サイトやページの引っ越しの時です。
301リダイレクトを設定することで、旧ページ(転送元)の評価を新ページ(転送先)に引き継ぐことができるので、SEOにおいて重要な役割があります。
301リダイレクトを設定するためには、「.htaccess」というファイルからリダイレクト設定を記述していきます。
canonicalタグを設定する
2つ目の方法は、canonicalタグを設定して正規化する方法です。
canonicalタグは指定したページをGoogleなどの検索エンジンに対して、優先的にインデックスするように伝えることができるので、重複コンテンツの対策になります。
canonicalタグは、HTMLのheadタグの中に<link rel=”canonical”>というタグを配置します。
具体的な記述方法では、下記の例を挙げると以下のようになります。
※URLの「https:/communityserver.org/」をwwwあり→wwwなしに正規化している例です。
上記のようにインデックスを登録させたい方のURLを記述することで、検索結果で表示されるページは、canonicalで指定しているURLになります。
ただし1つ注意点として、canonicalタグを設定したからといって、必ず指定したページがインデックスされるとは限りません。
あくまで指定をしているだけなので、指定通りに動いてくれるかは検索エンジン次第です。
旧サーチコンソールではwwwあり・なしの正規化ができる
先ほど解説した、2つのURLの正規化の方法以外にもGoogleが提供するサーチコンソール(Serch Console)を使用してURLの正規化を行う方法があります。
旧サーチコンソールでは、wwwあり・なしのどちらかのURLを正規化することができます。
しかし、2019年3月末で旧サーチコンソールの多くの機能がサポート終了しました。
2019年5月1日の段階では、旧サーチコンソールの「サイト設定」の画面に移動すると、「使用するドメイン」の項目の中のwwwあり・なしの設定を行うことができますが、今後サポートを終了する可能性があります。
また、新サーチコンソールでは、旧サーチコンソールの機能である「使用するドメイン」に代わる機能は2019年5月1日の段階までありません。
ですので、今後のことを考えるとwwwあり・なしの正規化を行うためには301リダイレクトかcanonicalタグを利用した方がいいでしょう。
追記情報:2019年9月をもって、旧サーチコンソールの提供が終了しました。
しかし、実際には旧サーチコンソールの一部の機能が利用することができます。
新しいサーチコンソールの左画面にある「以前のツールとレポート」にある項目を選択すると、旧サーチコンソールの画面に移動することができます。
「以前のツールとレポート」の項目内には、旧サーチコンソールの「サイト設定」の項目が見当たらないので、サーチコンソールからwwwあり・なしの設定ができなくなったと想定されます。
新しいサーチコンソールから「サイト設定」のサポートが実装されるまで、待つしかないでしょう。
旧サーチコンソールで利用できる機能については、サーチコンソールのヘルプページに詳しく情報が書かれています。
5つのWEBサーバーでURLの正規化ができるのか検証をしてみた!
今回、URLの正規化の方法の1つである301リダイレクトを使った「.htaccess」ファイルの記述方法について解説をしていきます。
「.htaccess」に記述される301リダイレクトは、WEBサーバーの仕様によって正常にリダイレクトがされないことがあります。
ですので、今回はレジストラの「Pure Domain」でドメインを保有・登録している人の中でも、多くの人が利用しているWEBサーバーを5つ使って、正常に301リダイレクトがなされるのか検証を行いました。
今回検証した5つのWEBサーバーは以下の通りです。
- エックスサーバー(XSERVER)
- wpX(ダブリューピーエックス)
- mixhost(ミックスホスト)
- ロリポップ!
- さくらインターネット
また、今回はURLの正規化させる方法として、5つのパターンを挙げて、動作確認を行いました。
それは、
- http→httpsに正規化させるパターン
- https→httpに正規化させるパターン
- 特定のページに正規化させるパターン
- wwwなし→wwwありに正規化させるパターン
- wwwあり→wwwなしに正規化させるパターン
になります。
上記の5つのパターンは中古ドメインを購入した後に301リダイレクトで設定をすることが多いパターンです。
各5つのパターンを「.htaccess」ファイルに記述した内容というのが以下になります。
1. http→httpsに正規化させるパターン
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
2. https→httpに正規化させるパターン
RewriteEngine On RewriteCond %{HTTPS} on RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]
3. 特定のページに正規化させるパターン
Redirect permanent /post-a/ https://example.com/post-b/
※「/post-a/」は転送元のURL(相対パス)、「https://example.com/post-b/」は転送先のURL(絶対パス)
4. wwwなし→wwwありに正規化させるパターン
RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com$ RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
※2行目のwwwなし(example.com)にアクセスされたら、3行目のwwwあり(www.example.com)に転送するような流れ
※WordPressを使ったサイトでは、WordPressの管理画面からwwwあり・なしの正規化の設定を行えます
5. wwwあり→wwwなしに正規化させるパターン
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.example\.com$ RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
※2行目のwwwあり(www.example.com)にアクセスされたら、3行目のwwwなし(example.com)に転送するような流れ
※WordPressを使ったサイトでは、WordPressの管理画面からwwwあり・なしの正規化の設定を行えます
上記の5つのパターンを5つのWEBサーバーで検証を行った結果を今から紹介していきます。
5つのWEBサーバーの検証結果
結論として、「エックスサーバー」、「wpX」、「mixhost」、「ロリポップ!」、「さくらインターネット」の5つのWEBサーバーで301リダイレクトを検証した結果、全ての動作が確認できました。
ただ1つ、「wpX」はWordPress専用のWEBサーバーなので、静的なサイト(HTMLファイルをベースにしているサイト)をwpXのWEBサーバーで使用することができないので、検証結果からは省いています。
先ほど紹介した、5つの記述方法を参考にして、今回ご紹介した5つのWEBサーバーで問題なく301リダイレクトが動作しました。
WordPressの管理画面からwwwあり・なしの正規化ができる
WordPressを使ってサイト運用をしている方は、WordPressのダッシュボード画面からwwwあり・なしの正規化を行うことができます。
方法としては、WordPressのダッシュボード画面から「設定」→「一般」とクリックします。
一般設定の画面に移動したら、「サイトアドレス (URL)」という項目に正規化させたいURLを入力します。
その後、サイトにアクセスすると、正規化させたいURLがリダイレクトされるでしょう。
ただし、ごく稀にWordPressのダッシュボード画面からURLの正規化をしてもリダイレクトがされないことがあるので、きちんとリダイレクトされているか確認をしましょう。
正しく正規化されているか確認しておくこと
今回、5つのWEBサーバーを使ってリダイレクトの検証を行いましたが、念のため正常に動作しているか確認をしておきましょう。
正常にリダイレクトされていなかったら、「.htaccess」の記述ミスの可能性があるので、確認して修正を行いましょう。
リダイレクトの簡単な確認方法は、ブラウザのアドレスバーにURLを入力してアクセスする方法です。
転送元のURLをアドレスバーに入力してアクセスし、転送後のURLに問題なくリダイレクトされていたら、URLの正規化が正常になされていることが確認できます。
この内容を削除すると、WordPressが正常に動作しなくなる可能性があるので、削除しないようにしましょう。