dポイントプレゼントキャンペーン実施中!

最近になってやっと、ajaxコンテンツページにハッシュフラグメントを付与する仕組みを知りました。
サイトによって下記のようにハッシュフラグメントの付け方が違うようなのですが、どういった意味があるのでしょうか?

/#!/page_name
/#/page_name
#!page_name

「#!」がついているとクローラーに読み取ってもらえるのでSEOに有利ということだけ分かったのですが
スラッシュで区切ったり区切らなかったりするのには意味があるのでしょうか。
「!」をつけていないページは、SEOは気にしてないけど通常のページのように振舞わせたいということなのでしょうか。

A 回答 (1件)

単純に#を#!に変換しとけばクローリングされるというわけではありません。


いいだしっぺはGoogleなのですが、
クローラーが #!page_name を見つけると
?_escaped_fragment_=page_name に変換してサーバにリクエストするので、
サーバーが_escaped_fragment_の扱いに対応してなければ変更する意味がないです。


スラッシュがあるとIDとしては使えません。
クエリとしてサーバーへ送信されたりもしないので、
URLとして見た時よりそれっぽいくらいの違いしかないですね。

JavaScriptで #/foo/bar/hoge をバラしたい時に split('/') すれば
['#', 'foo', 'bar', 'hoge']となるので、スラッシュがある方が若干便利だったりします。

参考URL:https://developers.google.com/webmasters/ajax-cr …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
「#!」をつけておくだけでクロール対応できるわけではないのですね。
サーバサイドでの処理が必要なんですね。間違った解釈をしていました。なるほど!

「/」がある場合はない場合と比べて違ったメリットがあるわけではなくて、
見た目がそれっぽいからという理由なんですね。
splitでバラせるのが若干便利ということですが、どういった場合に便利なのか想像がつきません(×u×;)
ぐぐってみてもコレといった答えがみつからず…
もしよろしければどういった状況だと便利なのかお教えいただけませんでしょうか。
追加質問で申し訳ないのですが、よろしければお願いします。

お礼日時:2012/08/19 17:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!