SEO和ajax加载内容链接


SEO and ajax loaded content link

我需要一些帮助来更好地理解SEO与ajax加载的内容。

上下文:

我有一个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很难被抓取。什么是最好的方式有一个好的(不是最好的,正确的)SEO与ajax内容?

关于链接的结构,我不完全理解google bot会抓取什么。因为href="12",所以动态的href="/single.php?blog_no=12"。在web浏览器中:

  • website.com/single.php?blog_no=12website.com/12只加载我的一个。php页面
  • website.com/#!12加载我的index.php页面的容器从website.com/single.php?blog_no=12

当然我只希望google抓取hashbang url…

(编辑:如果我在一个新的选项卡中打开链接,右键单击,它会加载single.php(我不想要)。这似乎是正常的行为,但是……我想阻止它)

对不起,我是法国人。

从SEO的角度来看,动态加载的内容通常很难正确获取。你的描述让我有点困惑,但我想我知道你们在找什么。

首先,谷歌主要通过两种方式找到你网站上的页面:

  • 一个站点地图(谷歌喜欢XML站点地图)-一个文件,告诉谷歌在你的网站上的每个页面索引
  • 链接-谷歌将遵循它试图索引的页面上的任何内部链接,除非它们被标记为rel="nofollow"
  • 也有链接和其他一些东西,但为了这个解释的目的…
无论如何,除非你明确地告诉谷歌website.com/single.php?blog_no=12的存在,否则它将很难找到它。说实话,我不确定谷歌会如何处理像href="12"这样的东西,它可能会试图跟随website.com/12的链接,这可能会影响你的排名,如果没有的话。因此,最后,您可能希望将rel="nofollow"添加到AJAX触发器链接中。

处理AJAX和动态加载内容的一个好方法是确保回退到位,例如,如果你有像href="single/12这样的设置来加载一些内容与AJAX,你也应该有一个不使用JS/AJAX的回退页面。这确保了搜索引擎机器人和没有Javascript的用户都可以看到这些内容,否则这些内容在其他地方是看不到的。

最后一个小提示,如果你测试你的链接像http://www.dnsqueries.com/en/googlebot_simulator.php和他们出现错误,或空白页面(搜索引擎机器人不使用javascript),你应该不关注这些链接,或设置回退页面

别介意……这是最后一件事。您应该进一步对htaccess进行重写,以使您的url完全清除查询字符串。例如,对于SEO和用户来说,website.com/single/blog/12都比website.com/single.php?blog_no=12好。