私は自分のAjaxベースのWebサイトを作成していました。つまり、ほとんどすべてのデータがサーバーからAjaxを介して取得され、サイトのSEOについて懸念を抱き始めました。
この記事 と これ を読んでからpopStateメソッドとpushStateメソッドを使用しています。
私が知る限り、これらのメソッドはウィンドウオブジェクトの履歴メソッドを操作するため、アドレスバー情報を変更できます。
しかし、will these methods affect the SEO of the site?
PushStateは、SEOに優しい方法で使用できます。 GoogleのMatt Cuttsは、ハッシュバンAJAXクロール構文と比較して推奨しています: http://www.seroundtable.com/google-ajax-pushstate-vs-hashbang-16464.html
うまく機能するテクニックの1つは次のとおりです。
<a href="">
リンクに通常のURIを入れますこれにより、ユーザーはAJAXエクスペリエンスを取得し、クローラーは引き続きサイト全体にアクセスできます。
JavaScriptがなくても動作するようにサイトを設定する必要があります。 GoogleはJavaScriptを非常によく理解していますが、完全ではなく、他の検索エンジン(およびユーザー)はJSを使用しない場合があります。
各リンクが特定のURLを指すようにする必要があります。そのURLが直接要求された場合、サーバーはそのページの完全なHTMLを返します。
次に、JavaScriptでリンクにイベントを追加し、適切なコンテンツをロードし、「状態をプッシュ」してJSを持つユーザーのURLを変更します。