我一直认为AJAX驱动的内容对搜索引擎是不可见的。
(即通过XMLHTTPRequest插入DOM的内容)
例如,在此站点中,浏览器通过AJAX请求加载主要内容:
http://www.trustedsource.org/query/terra.cl
...如果您使用禁用Javascript 查看此页面,则主要内容区域为空白。
但是,Google缓存会在AJAX加载后显示完整内容:
因此,显然搜索引擎会对由AJAX加载的内容编制索引。
问题:
答案 0 :(得分:3)
根据Google的此指南,AJAX网站可能会被抓取:
http://code.google.com/intl/sv-SE/web/ajaxcrawling/docs/getting-started.html
答案 1 :(得分:1)
AJAX驱动不会被搜索引擎抓取(或者至少不会被Google抓取)。
您可以在Google缓存中看到该页面的原因是因为在缓存中有完整页面,包括.js文件。因此,当您看到该页面时,您的浏览器会使用google cached .js文件。
除了使用静态.html之外,我认为没有任何技巧可以让它被搜索引擎抓取。
2010年4月27日编辑:Google发布了make AJAX crawlable
的方法Google webmaster toolkit可能会有所帮助。
答案 2 :(得分:1)
搜索引擎可以运行索引Ajax内容所需的JavaScript,但它很难并且计算成本很高 - 我不知道实际上有什么。
如果使用Ajax,那么写得很好的网站将根据progressive enhancement的原则使用它。任何关键功能仍然可用而无需运行JavaScript。
另一方面,使用JavaScript重新发明帧(并且不使用渐进增强)的站点将遭受帧的所有常见问题,但是搜索引擎隐身的交易孤立页面。
答案 3 :(得分:1)
我安装了NoScript并处于活动状态。两个链接都显示相同的内容(+/-谷歌标题栏)。因此,Google缓存仅显示静态内容。
答案 4 :(得分:1)
如果您正在使用类似jQuery标签的内容,即使您链接到同一目录中的HTML文件,它也会在没有javascript的情况下很好地降级到正常状态,并且标签只会变成对实际页面的喜欢。这很难看,但它确实有效。您也可以设置这些版本的样式。
答案 5 :(得分:0)
搜索引擎抓取工具通常可以看到立即加载的内容(比如初始页面加载后的示例中的辅助HTTP请求)。
但是,如果您的内容超出此范围,则会在用户操作后通过ajax加载,例如单击选项卡或按钮等将不会被看到或编入索引。只有拥有“真正的”锚链接才能看到或索引这些链接。
答案 6 :(得分:0)
Google刚刚让他们的抓取工具运行Javascript而没有任何开发人员更改!
http://googlewebmastercentral.blogspot.com/2015/10/deprecating-our-ajax-crawling-scheme.html
他们说:
今天,只要您不阻止Googlebot抓取您的JavaScript或CSS文件,我们通常就能够像现代浏览器一样呈现和理解您的网页。