Hashchangeイベントに基づいてナビゲーションを実装するアプリケーションに取り組んでいます。コンテンツは、主にハッシュ変更後のAjax呼び出しを介してロードされます(DOMインジェクションによって表示されます)。
SEOの観点から-検索エンジンはこの注入されたコンテンツのインデックスを作成できますか?
検索エンジンは私のハッシュリンクをたどることができますか(e.x. href = "#page = 1")?
そうでない場合-SEOの理由だけでページに静的コンテンツを含める以外の回避策はありますか?
THX
SOで似たようなスレッドをいくつか見つけましたが、満足のいく答えが見つかりませんでした。
https://github.com/balupton/history.js/wiki/Intelligent-State-Handling
^ハッシュされたURLの長所と短所に入り、代替ソリューションを提供します
Googleがハッシュリンクをたどることができるようにする が可能ですが、サーバー側の変更が必要です。
検索エンジンはこの注入されたコンテンツをインデックス化できますか?
Ans-はい&いいえ。
いいえ:ハッシュタグを変更するだけ でコンテンツを注入すると、クローラーはインデックスを作成できませんコンテンツ。これらの通常のハッシュタグは、ページの状態を変更するためではなく、同じページナビゲーション(AJAXが登場するかなり前)向けでした。そのため、同じページのインデックスの再作成を何度も防ぐために、クローラーはURLのハッシュタグ以降をすべて無視するように意図的にプログラムされました。
はい:2つの回避策があります:
SEOに関する限り、回避策/解決策は両方とも正しく実装されていれば同等に機能します。しかし、SEOとは別の2つの方が 別の議論 です。
Legosciaの答え( https://stackoverflow.com/a/11582278/151842 )を完成させるには、サーバー側でヘッドレスブラウザーライブラリを使用して、Googleボットに静的htmlを提供できます。
Ajaxを多用しているため、javascriptが好きなようです。そのため、node.jsから使用できるjavascriptヘッドレスブラウザーは次のとおりです。 http://zombie.labnotes.org/
これがあなたのために働いていることを願って、楽しんでください!
Ajaxコンテンツのクロールをサポートする検索エンジンがありますが、従来のURLと静的なページコンテンツは、検索エンジンの可視性に関してさらに信頼性があります。
ページの大部分(大部分)を再ロードする必要がある場合、通常、ajaxコンテンツをクロールできることが望ましいです。ただし、このような場合、通常、リダイレクトは実行可能な(ただし望ましくない)代替手段になります。
ページの大部分/重要な部分をリロードする必要があるときにリダイレクトするように、最初にページをコーディングすることをお勧めします(Step1)。つまり、<a href="/page/1">
ではなく、従来のURL <a href="#page=1">
(または同様のURL)を使用したアンカーです。
その後、javascript(jQuery)を作成してリダイレクトをインターセプトし、ajaxを使用して、ページがリダイレクトされた場合に変更されるページ部分をリロードします(Step2)。
<a id="page1" href="/page/1">Page 1</a>
<script>
$("#page1").click(function () {
/*
* Perform ajax here to replace a portion of the page.
*/
return false; // prevent redirection
});
</script>
最初のステップでは、JavaScriptがなくても動作する静的コンテンツと従来のURLを含むWebページが作成され、2番目のステップではWebページが動的になります(静的コンテンツが回避されます)。