1

有一个网站仅用于响应 ajax 请求这是另一个网站上的代码

$.ajax({
      dataType: 'jsonp',
      url : 'http://www.somedomain.com/getdata',
      data: 'parametr=value',
      jsonp: 'js_callback',
      success: function() {
        // Do your stuffs on
       alert("Successfully requested cross domain with jquery ajax");
      }
});

somedomain.com 上的 phpcode:

function do_something() {    
   $data = array();
   $data  = getuserDataBYID($_GET['userid']);
   echo $_GET['js_callback']."(".json_encode($data).");";
}

这会影响 somedomain.com 的 Alexa 排名吗?

4

1 回答 1

1

Alexa 是一项分析服务。在处理 AJAX 时,您真正想知道的是 AJAX 如何影响 SEO(搜索引擎优化)。据我所知,Alexa 的工具不一定知道您的 AJAX 调用以何种方式向爬虫隐藏数据或该数据是什么。爬虫一般看不到 javascript 的效果(如 ajax 调用),而只看到页面源。要查看像 SEO 爬虫一样的页面,您可以右键单击页面并选择“查看源代码”。如果一个网站的所有内容都是由 ajax 提供的,那么对于网络爬虫(如谷歌)来说,该页面几乎是空白的。在这种情况下,Alexa 应该警告您您基本上没有内容。你的 SEO 分数肯定会很糟糕。如果您的大部分内容是由服务器在页面加载时提供的,那么最好的做法是仅通过 ajax 加载对您的 SEO 分数不重要的内容。如果使用 ajax 加载重要内容,您需要将爬虫路由到您页面的 html 快照,以便他们准确查看您网站的内容。

您可以手动创建站点的 html 快照,也可以使用在服务器上运行的PhantomJS等无头浏览器。PhantomJS 很好,因为它可以抓取网站并捕获 javascript 输出。您可以安排它每天抓取网站并保存每个页面生成的 html。

这是将爬虫路由到快照的谷歌指南:https ://developers.google.com/webmasters/ajax-crawling/docs/getting-started

于 2014-01-20T05:27:51.840 回答