web-dev-qa-db-ja.com

AJAXサイトをクロール可能にし、JSをオフにした状態で正常に劣化させることは可能ですか?

この仕様 によると、GooglebotでAJAXサイトをクロール可能にすることは、その中にハッシュバン(#!)リンクを使用する必要があることを意味します。オフ。これは、クロール可能性とグレースフルデグラデーションが相互に排他的であることを意味する場合があります。実際はそうですか?それについてできることはありますか?

4
Meisner

はい。サーバー側でjavascriptを実行するnode.jsベースのSEOサーバーを実装し、ブラウザでレンダリングされるようにWebページをクローラーに提示できます。

「_escaped_fragment_」のリダイレクトルールも実装する必要があります

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^$ /handler.php?_frag=%1  [L]
1
Sachin Dhir

あなたはチェックアウトする必要があります:

スタックオーバーフロー:Ajaxサイトをクロール可能にし、jsを使用して適切に劣化させることは可能ですか?

スニペット:

可能な場合、history.pushStateが使用可能な場合にのみAJAXを使用して新しいページをロードします。 history.pushStateが使用できない場合、非AJAXにフォールバックします。これはhistory.pushStateを持たないユーザーにとっては並外れたエクスペリエンスかもしれませんが、URLが常に適切な場所を指していることと、JavaScriptが無効になっているGoogleとユーザーの両方がサイトにアクセスできることを確認します。

1
Simon Hayter