如果我通过JavaScript在页面中添加内容,它将被搜索引擎蜘蛛抓取

时间:2010-06-22 03:33:19

标签: javascript jquery seo accessibility screen-readers

如果我通过JavaScript在页面中添加内容,它将被搜索引擎蜘蛛抓取并可由屏幕阅读器访问。

example this

var tip = "<p>Most computers will open PDF documents ";
tip += "automatically, but you may";
tip += "need to download <a title='Link to Adobe website-opens in a new window'";
tip +=" href='http://www.adobe.com/products/acrobat/readstep2.html'  
               target='_blank'>Adobe Reader</a>.</p>";

$(document).ready(function(){

    //IF NUMBER OF PDF LINKS IS MORE THAN ZERO INSIDE DIV WITH ID maincontent
    //THEN THIS WILL PUT TIP PARAGRAPH AS LAST CHILD OF DIV
    if($("div#maincontent a[href*='/pdf']").length>0){
    $("div#maincontent").children(":last-child").after(tip);
    }
});

编辑:我想在搜索引擎中隐藏此内容,但同时可以通过屏幕阅读器访问吗?

4 个答案:

答案 0 :(得分:2)

这取决于抓取工具,但不要指望大多数机器人都能解释Javascript。

答案 1 :(得分:2)

简短回答,可能不是。但是,谷歌一直在变得越来越复杂,所以我怀疑它们实际上是将Javascript作为索引过程的一部分。

有这样做的特殊原因吗?如果可能的话,我建议使用这个逻辑服务器端,然后你知道你的HTML可以被搜索引擎读取。

答案 2 :(得分:1)

Re:搜索引擎是否可以抓取(在浏览器上)动态生成的内容?

通常,没有。

但谷歌已经发明了一种解决问题的方法。见ajax crawling

注意:他们通过使用表示动态页面的不同状态的各种查询参数来抓取您的网址来实现此目的。他们不会尝试在您的页面上运行js。

答案 3 :(得分:0)

不,大多数网页抓取工具都不会执行JavaScript,而旧网页阅读器也不会读取它。你最好的选择是只使用Javascript进行演示,并使用逻辑服务器端(PHP,Ruby,.NET等)和一些CSS魔术来实现你在上面尝试用内容做的事情。如果您担心网页抓取工具和屏幕阅读器,请始终通过服务器端插入内容,并仅使用JavaScript进行演示。或者,您可以使用Flash和JavaScript嗅探器为屏幕阅读器将用户重定向到不依赖于动态内容的备用页面。