angularなどで作成したページは検索エンジンになかなか認識されにくいので多少細工を施してやる必要がある。
方法としてはハッシュフラグメントをURLに付加する方法と、メタタグにて知らせる方法がある。
1, ハッシュフラグメントで知らせる。
AjaxページのURLに「#!」を付加する。
例)
http://example.com/index.html#!
GoogleBotはURL中に「#!」を見つけると、そこを「?_escaped_fragment_=」に置換して再アクセスしてくる。
なのでサーバー再度は「_escaped_fragment_」のパラメーターがあるかないかで返却するHTMLを切り替えてやればOK。
2, メタタグにて知らせる。
1, のような「#!」を使わずにAjaxページであることを知らせたい場合は、head内に下記のメタタグを追加してやる。
<meta name="fragment" content="!">
GoogleBotはこのメタタグを発見すると、1, と同様、URLの末端に?_escaped_fragment_=を付加して再アクセスしてくる。
サーバー再度は同じく、上述のパラメーター有無をキーに処理を切り替えてやればOK。