我需要一些帮助来更好地理解 ajax 加载内容的 SEO。
这里的上下文:
我有一个 single.php,其中为每个帖子动态生成内容(使用 php 和 xml 数据库)。
我通过 ajax 在我的 index.php 页面中加载了这个 single.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 的最佳方式是什么?
关于链接的结构,我不完全了解 google bot 会抓取什么。因为有href="12"
,所以有活力href="/single.php?blog_no=12"
。在网络浏览器中:
website.com/single.php?blog_no=12
并website.com/12
仅加载我的 single.php 页面website.com/#!12
使用从加载的容器加载我的 index.php 页面website.com/single.php?blog_no=12
当然,我只希望 google 抓取 hashbang url ......
(编辑:如果我通过右键单击在新选项卡中打开链接,它会加载 single.php(我不想要)。这似乎是一种正常行为,但......我想阻止它)
对不起我的英语,我是法国人。