
ウェブサイトの中に絞り込みや並べ替え検索を導入した場合、繁盛にURLパラメータが生成される。
ウェブサイトをオープンした時は良いが、しばらくたつと「Google Search Console」に重複したコンテンツとしてURLパラメータが表示される場合が多い。
URLパラメータが重複した場合の対処方法は大きく分けて3つある。
- Search ConsoleのURLパラメータツールを利用し除外する
- robots.txtでブロックする
- canonicalタグを利用して正規化する
以上の3つの方法になる。
ここでは、URLパラメータが重複した場合のベストな設定方法を検証し独自の見解で説明していく。
1.URLパラメータとは?2つの種類とGoogle評価
2.URLパラメータツールを利用する
3.robots.txtでブロックする
4.canonicalタグを利用して正規化する
5.URLパラメータ重複の解決方法のまとめ
SPONSORED LINK
【目次】
1.URLパラメータとは?2つの種類とGoogle評価
URLパラメータとは、URLの末尾に「?」を付け加えた「変数」のことを言います。
- 例:https://lab.peko.co.jp/web-marketing/harmful-rumor?replytocom=16
また、このURLパラメータには2つの種類があります。
アクティブパラメータ | ●ページのコンテンツを変えるパラメータ 例) ・並べ替え(例: sort=price_ascending) ・絞り込み(例: t-shirt_size=XS) ・特定(例: store=women) ・翻訳(例: lang=fr) ・ページ指定(例: page=2) |
パッシブパラメータ | ●ユーザーに表示されるコンテンツが変わらないパラメータ 例) ・?sessionid=12345 ・?sessionid=34567 ・?sessionid=34567&source=google.com |
パッシブパラメータはユーザーのトラッキングなどを確認するために利用されるパラメータであり、ダミーパラメータとも呼ばれる。
また、アクティブパラメータは、絞り込み検索や並び替えなどに繁盛に利用するパラメータです。
Googleは静的よりパラメータ付きURLを好むが・・・
過去に、Googleのジョン・ミュラー氏がSEOフォーラムで、「Googleの観点からお伝えすると、分かりやすいパラメータ付きURLの方が、一般的には不必要にURLを書き換えるより好ましい」と回答している。
例えば、
- Search Console:https://search.google.com/search-console/about?hl=ja
- ヘルプページ:https://support.google.com/webmasters/answer/66359?hl=ja
など、GoogleはURLにパラメータを利用している。
なぜならば、分かりやすいパラメータURLの方がクロールやインデックスなどがGoogleは行いやすいことが理由だ。
しかし、時にSearch Consoleではパラメータが重複してしまうケースがある。
そのため、
- パラメータの数が多すぎないこと
- パラメータが分かりやすいこと
- 不必要なパラメータがないこと
などが良いウェブサイトのページと言える。
2.URLパラメータツールを利用する
「旧Search Console」には、URLパラメータツールがあり、各パラメータを設定することにより、重複する可能性があるパラメータをGoogleから除外することが可能だ。(新しいSearch Consoleには現時点で機能は移管していない。)
(1)「URLパラメータを設定」するボタンを押す
Search Consoleにある程度の期間登録を行っていれば、「URLパラメータ設定≫」のボタンをクリックすることで、そのページについているパラメータを自動(以下画像)で検出してくれる。
「編集」ボタンを押して、設定を行う必要があり、自動検出だけでは何も設定がされていないので注意が必要だ。
編集を押すと「このパラメータで、ユーザーに表示されるページ コンテンツが変化しますか?」という質問が行われ、そのパラメータによってコンテンツが変更されるかどうかを選択します。
- いいえ:ページの コンテンツには影響しません(例: トラッキング用)
(パッシブパラメータ) - はい:ページ コンテンツを変更、並び替え、または絞り込みます
(アクティブパラメータ)
そのパラメータによってベストな選択をしよう。
(2)「いいえ:ページの コンテンツには影響しません」を選択した場合
「いいえ」を選択した場合、パラメータにどんな値を設定してもページのコンテンツが変更されないか確認しよう。
「保存」を押して設定は終了となる。
(3)「はい:ページ コンテンツを変更、並び替え、または絞り込みます」を選択した場合
「はい:ページ コンテンツを変更、並び替え、または絞り込みます」を選択した場合、上記の設定ページが表示される。
「URLの例を表示」して、どのパラメータが対象になっているか必ず確認しておこう。
「このパラメータがページのコンテンツに与える影響を選択してください」の設定
並べ替え | コンテンツが表示される順番を変更します |
絞り込み | ページのコンテンツをフィルタリングします |
特定 | ページに表示されるコンテンツを特定します |
翻訳 | コンテンツの翻訳版を表示します |
ページ指定 | 長いリストや記事の特定のページを表示します |
その他 | 上記以外の内容でコンテンツがパラメータによって変更されている場合 |
詳しくは、ヘルプページの「URLパラメータツールでパラメータを分類する」を確認しておく。
「このパラメータを含む URL のうち、Googlebot でクロールする URL を選択してください。」の設定
上記で指定したパラメータの処理を選択する項目になる。
Googlebotが決定 | Googleに処理を任せる方法 (指定したパラメータの動作が不明確な場合に利用) |
すべてのURL | パラメータで指定したURLはすべて異なるコンテンツの場合 (すべてのページをGoogleにクロールしてもらう) |
値が指定されているURLのみ | 値を指定したページのみをクロールしてもらう |
クロールしない | パラメータをクロールしないようにする |
パラメータで重複したコンテンツの場合、「クロールしない」を選択する方も多いが、例えクロールしないを選んだとしても、Googleにクロールされてしまう可能性は残るので注意が必要だ。
【注意】Search ConsoleのURLパラメータツールは完全にブロックしない
問題なことに、Search ConsoleのURLパラメータツールで「クロールしない」というオプションについて、Googleのジョン・ミュラー氏は以下の良いに答えている。
- 「クロールしない」設定はヒントとしてGoogleは見ている
(ただの合図であり、厳格な命令ではない) - クロールやインデックスを完全にブロックすることを保証したものではない
- この設定に関わらず対象のURLにアクセスすることがあるかもしれない
- クロールを完全にブロックするなら「robots.txt」を代わりに使った方が良い
というコメントを、過去にウェブマスターフォーラムで行っている。
【総論】パラメータツールはGoogleへ伝えるためのツール
設定方法と注意点を説明してきたが、Search ConsoleのURLパラメータツールでは、Googleへ伝えるためのツールに過ぎない。
そのため、「確実に重複を防ぐことができるか?」という問いには「NO」という回答になる。
もちろん、設定を行うことで、重複しない可能性はあるが、私はURLパラメータツールで設定したにも関わらず、Googleにインデックス、重複したコンテンツになっているパラメータを頻繁に見たことがある。
そのため、Search Consoleのパラメータツールを利用する場合は、
- コンテンツが変更されるアクティブパラメータの場合
- かつ、オプションで「クロールしない」や「値が指定されているURLのみ」を選択しない場合
などに利用すべきだと考えている。
では、「クロールしない」や「値が指定されているURLのみ」の場合はどのようにしたら良いのだろうか。
3.robots.txtでブロックする
そのパラメータをGoogleにクロールしてほしくない場合は、robots.txtファイルを利用してブロックすること一番賢明な方法と言える。(Googleのジョン・ミュラーも推奨している。)
詳しくはGoogleヘルプ「robots.txt を使用して URL をブロックする」を確認しておこう。
robots.txtでブロックしてもインデックスされてしまう?
しかし、robots.txtファイルでブロックしたものの、そのウェブサイトに「Googleが必要なコンテンツだ」と認識した場合、なんとインデックスされてしまう。
私は何度か、この現状に合ったことがある。
「新しいSearch Console」のインデックスカバレッジレポート(対象範囲)に「警告:robots.txt によりブロックされましたが、インデックスに登録しました」と内容のメッセージが来てしまったら、インデックスされてしまい、コンテンツ重複の原因となる。
上記の場合は、「URLの削除ツール」などを利用せず、まず以下の「canonicalタグを利用して正規化する」を確認しよう。
4.canonicalタグを利用して正規化する
「canonicalタグ」はページが移動しない301リダイレクトを行うようなもので、以下のように設定を行う。
例)https://lab.peko.co.jp/web-marketing/harmful-rumor?replytocom=16
上記のhead部分に、
<link rel="canonical" href="https://lab.peko.co.jp/web-marketing/harmful-rumor" />
と記述を追加することで正規化が可能だ。
重複するコンテンツやURLパラメータは、Googleとしてペナルティにはならないが、「重複したコンテンツはGoogle検索に悪影響?5つの対処法」で説明したように、マイナスの要因になりかねない。そのため、注意しながら重複を避けてほしい。
5.URLパラメータ重複の解決方法のまとめ
URLパラメータの重複を未然に防ぐ、また重複を解消する方法をまとめると以下の通りだ。
(1)アクティブパラメータの場合 | ・URLパラメータツールを利用する (「クロールしない」や「値が指定されているURLのみ」の設定を除く) ・新しいSearch Consoleに重複したコンテンツがないかチェックする |
(2)パッシブパラメータの場合 | ・インデックスされたくないのであれば、robots.txtファイルでブロックする ・新しいSearch Consoleで「警告」が出ないかチェックする |
その他 | ・(1)で重複したコンテンツの場合 ・(1)で「クロールしない」や「値が指定されているURLのみ」の設定の場合 ・(2)で「警告」が出た場合 canonicalタグを利用し正規化する |
上記の方法が最適な方法だと考える。
個人的には、「URLパラメータツール」はGoogleのみのもので、Bing検索などの他の検索はサポートされていないため、「canonicalタグ」での正規化をお勧めする。(Bingはcanonicalタグをサポートしています。)
とはいえ、Googleを目的としたSEOがほとんどの場合が多いため、状況に合わせて重複対策を行ってほしい。
Edit