TwitterやFacebookのURLには、なぜ#!が含まれるのか (SEOとAjaxのおいしい関係)
- Ajaxを使うためにはページ内リンク (hash fragment=URLの#以降) を使うのが一般的*1
- hash fragmentはサーバに送信されないから、JavaScript非対応のブラウザだと動作しない
そこで Google は、#! が含まれる URL を hash を含まないものに読み替える仕組みを提唱している。例えば「www.example.com/ajax.html#!key=value」のサーチエンジン用URLは「www.example.com/ajax.html?_escaped_fragment_=key=value」になる。
TwitterやFacebookはこの仕様に従うことで、Ajax な UI と SEO を同時に実現している、というわけ。ということを調べたなう。
参照: Getting Started | AJAX Crawling (Deprecated) | Google Developers