2

ajax で読み込まれたコンテンツを使用した SEO について理解を深めるために、助けが必要です。

ここでコンテキスト:

投稿ごとに (php と xml データベースを使用して) コンテンツが動的に生成される single.php があります。

この single.php のコンテナーを ajax 経由で index.php ページ内にロードします。ここで作業スクリプト:

$.ajaxSetup({cache:false});
    $(".phplink").click(function(){
        var post_link = $(this).attr("href");
        window.location.hash = "!"+ post_link ;
        $("#ajaxify_container").html("loading...");
        $("#ajaxify_container").load('single.php?blog_no='+post_link+' #container');
    return false;
}); 

$(window).hashchange( function(){
var hash = window.location.hash;
var hash = location.hash.replace("#!","");

    if(hash != '') { 
        var post_link = hash;
        $("#ajaxify_container").html("loading...");
        $("#ajaxify_container").load('single.php?blog_no='+post_link+' #container');    
    } 
    else {
        $.get(hash, function (data) {
        $("#ajaxify_container").html('');   
        });

    }
});

$(window).hashchange();

index.php のリンクの例 (url website.com/#!12 にあるリンクをクリックしたとき):

<a class="phplink" href="12">Post 12</a> 

そして、.htaccess ファイルに次の行を追加して、URL を適切に書き換えました。

Options +FollowSymLinks
RewriteEngine on
RewriteRule /([0-9]+)$ /single.php?blog_no=$1

すべて正常に動作します... (ちなみに、私の single.php は「単独で」SEO フレンドリーで、javascript なしで動作します)

しかし、このように ajax を動的な php ページで使用しても、SEO に適しているのでしょうか。ajax がクロールされにくいことはわかっています。ajax コンテンツを使用した優れた (最善ではなく、正しいものである) SEO を行うための最良の方法は何ですか?

リンクの構造についてですが、グーグルボットが何をクロールするのかよくわかりません。のおかげでhref="12"、ダイナミックhref="/single.php?blog_no=12"です。Web ブラウザで:

  • website.com/single.php?blog_no=12website.com/12私のsingle.phpページのみをロードします
  • website.com/#!12からロードされたコンテナーで index.php ページをロードしますwebsite.com/single.php?blog_no=12

もちろん、私はグーグルがハッシュバンのURLをクロールすることだけを望んでいます...

(編集:右クリックで新しいタブでリンクを開くと、single.phpが読み込まれます(これは望ましくありません。通常の動作のようですが...防止したい)

私の英語でごめんなさい、私はフランス人です。

4

1 に答える 1

1

動的に読み込まれるコンテンツは、一般的に SEO の観点からは正しく取得するのが困難です。あなたの説明は少し紛らわしいですが、私はあなたが探しているもののアイデアを持っていると思います.

まず、Google がサイトのページを検出する主な方法は 2 つあります。

  • サイトマップ (Google は XML サイトマップを好みます) - サイトのすべてのページをインデックスに登録するよう Google に指示するファイル
  • リンク - でマークされていない限り、Google はインデックスに登録しようとするページの内部リンクをたどります。rel="nofollow"
  • 他にもリンクがありますが、この説明では...それらは無視してください。

とにかく、存在することを明示的に Google に伝えない限り、Google はwebsite.com/single.php?blog_no=12それを見つけるのに苦労するでしょう。正直なところ、Google が のようなものをどのように処理するかはわかりません。href="12"そのリンクをたどろうとするwebsite.com/12可能性があり、そこに何もない場合、ランキングに影響を与える可能性があります。したがって、最終的にはrel="nofollow"、AJAX トリガー リンクに追加することをお勧めします。

AJAX と動的に読み込まれるコンテンツを処理するための良い方法は、フォールバックが配置されていることを確認することですhref="single/12。 . これにより、検索エンジン ボットと Javascript を使用しないユーザーの両方が、他の場所では表示されなかったコンテンツを表示できるようになります。

最後に、 http ://www.dnsqueries.com/en/googlebot_simulator.php などでリンクをテストして、エラーや空白のページ (検索エンジン ボットは JavaScript を使用しない) が表示される場合は、nofollow を使用する必要があります。それらのリンク、またはセットアップ フォールバック ページ

気にしないで…これで最後です。URL からクエリ文字列を完全に削除するには、htaccess の書き換えをさらに 2、3 歩進める必要があります。たとえば、SEO とユーザーの両方にとってwebsite.com/single/blog/12より優れています。website.com/single.php?blog_no=12

于 2013-05-19T23:58:56.643 に答える