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=12
website.com/12
私のsingle.phpページのみをロードしますwebsite.com/#!12
からロードされたコンテナーで index.php ページをロードしますwebsite.com/single.php?blog_no=12
もちろん、私はグーグルがハッシュバンのURLをクロールすることだけを望んでいます...
(編集:右クリックで新しいタブでリンクを開くと、single.phpが読み込まれます(これは望ましくありません。通常の動作のようですが...防止したい)
私の英語でごめんなさい、私はフランス人です。