现在到了Web 2.0,趋势是AJAX,市场上有很多现有的框架在推广AJAX,但是AJAX真的对SEO友好吗?
6 回答
是的,创建一个对搜索引擎友好的 AJAX 站点要困难得多。仅仅为了搜索引擎爬虫,让您的网站在没有 Javascript 的情况下工作到基本水平可能是值得的。
不,搜索引擎抓取您的 AJAX 站点并非不可能(只要该搜索引擎是 Google)。您只需要提供一点帮助:请参阅Google 支持页面上的使 AJAX 应用程序可抓取。
注意:这个答案现在已经非常过时了。谷歌仍然为如何处理这个问题提供了很好的建议——而且比以前更容易了。
不,Ajax 对 SEO 非常不友好,因为蜘蛛等不执行任何 Ajax 调用。
然而,Ajax 真的应该只用作改善用户体验的一种手段——应该总是有一个基本级别的 SEO 功能和(更重要的是恕我直言),以防最终用户没有启用 JavaScript。
换句话说,如果用户可以使用 Ajax 来改善他们的体验,但他们应该仍然能够在没有 JavaScript 的情况下充分使用网站。(这都是关于“优雅退化”之类的。)
请记住将 href 参数放在指向类似服务器端功能的 [a] 标记中。这样,机器人就可以对内容进行索引。
这篇文章可能有用:
http://www.singlegrain.com/blog/creating-an-seo-friendly-site-using-ajax
简化的 AJAX 解决方案对于 SEO 来说是可怕的。永远记住,蜘蛛等会忽略 javascript 和 CSS(查看禁用这些的页面以模拟它)。
但是,如果某些内容触发了 AJAX 内容,您可以做什么,让它也成为一个页面的正常链接。EG,如果你使用类似的东西:
<a href="my/resource" target="ajax_panel_name">Load AJAX</a>
然后用 Javascript 功能包装它,确保链接本身将您带到正确的资源。如果是普通链接,您可以将资源设置为显示完整页面,如果是 XHR 请求,则仅显示 AJAX 内容。
以下代码(在 PHP 中)显示了如何检测请求是 HTML 还是 XHR(请求参数至少在 IE8、FF3、Safari、Opera、Chrome 中可用):
<?php
function xhr_request() {
if (strpos($_SERVER['HTTP_ACCEPT'], 'text/javascript') !== FALSE) {
return TRUE;
}
return FALSE;
}
?>
如果使用正确,它可以。
如果操作不当,AJAX 有两个主要的 SEO 问题:
- 找不到内容
- 找不到链接
另一个小问题是关键字焦点的丢失。
在那里可以找到正确做法的概述:http: //www.internetmarketinginc.com/blog/making-ajax-seo-friendly/
AJAX 对 SEO 不友好的主要问题是 JavaScript 的性质,它是客户端。浏览器运行它而不是服务器。但是,如果数据也是在服务器端提供的,那么谷歌就可以看到这一点。
这里的主要关键是让 AJAX 优雅地降级。这意味着即使 JavaScript 关闭,一切仍然可以工作,它可能不会以相同的方式工作,但它仍然可以工作并且内容仍然存在。如果内容总是使用 document.write 和 innerHTML,那么您很可能会遇到 SEO 问题。