[レベル: 中〜上級]
モバイル対応の際に別々のURL構成を採用し、PC向けページとモバイル向けページに異なるURLを割り当てる場合、モバイル向けページのURLに「#」(フラグメント、ハッシュ)を使うべきではありません。
ほとんどのケースにおいてGoogleに適切にクロール、インデックスされません。
# 付きのURLをGoogleはインデックスしない
あるサイトの管理者が、検索結果からモバイル向けサイトのページが消え続けていると英語版のヘルプフォーラムで相談しました。
このサイトは、# を含んだURLをモバイル向けページで使っています。
モバイル向けページにはたしかに # が含まれています。
対応するPC向けページは、# を含まず、ごく一般的な通常のURLです。
GoogleのJohn Mueller(ジョン・ミューラー)氏は次のように説明します。
We can’t guarantee that we’ll index URLs with a “#” in them (the AJAX-crawling scheme is a bit different there), so I’d really recommend not using them where you can, if you need the content indexed properly.
「#」があるURLのインデックスを保証できない(Ajaxクロールのスキームはここではやや別問題)。なので、適切にコンテンツをインデックスさせる必要があるなら、# を使うことは本当に推奨しない。
URLに # が付いているとき、検索エンジンのクローラは通常それ以降を無視し、# の前までのURLをクロール、インデックスします(詳細は以前にWeb担コラムで解説)。
フォーラムの質問者のサイトで言うと、
http://m.jollydays.at/#/topic/geschenkideen-geburtstag-herbst
というモバイル向けページのURLは、
http://m.jollydays.at/
として検索エンジンに処理されます。
つまり、モバイル向けページはすべて http://m.jollydays.at/
になってしまうわけです。
#を含んだモバイル向けページに関しては、同じような質問が最近の英語版オフィスアワーでも出ています。
ミューラー氏の回答はフォーラムでの説明と同じです。
#が付いたURLを完全にはサポートしておらず、インデックスすることもあるけれど、再び削除してしまうこともある。
#を使わないクリーンなURLを使ったほうがいい。
モバイル向けページのURLを # 付きで構成しているサイトを僕は見たことがありません。
JavaScriptリダイレクトを使っているモバイル向けサイトではそれなりにありえる構成なんでしょうかね。
いずれにしても、もしあなたのサイトの構成が該当するなら十分に注意しましょう。
# を含むモバイル向けページはSEOに不向きです。
Ajaxの # は別モノ
ミューラー氏は次のように補足していました。
Ajaxクロールのスキームはここではやや別問題
これに関して説明を加えておきます。
AjaxやAngularJS、SPA (Single Page Application) などJavaScriptで生成するコンテンツのURLに # を使っている場合は、今のGoogleはほとんどのケースで適切にクロール、インデックスできます。
モバイル向けページのURLではなく、JavaScriptフレームワークを利用したコンテンツのURLに # を使うのであれば、現在はたいていは問題は発生しません。
Googleはきちんと認識、処理してくれます(もちろんすべての環境で完全に無問題ということでもないので、Fetch as Googleのレンダリングでの検証は忘れずに)。