【问题标题】:If I'm adding content in page through JavaScript will it be crawlable by Search engine spider如果我通过 JavaScript 在页面中添加内容,搜索引擎蜘蛛是否可以抓取它
【发布时间】:2011-03-06 15:05:08
【问题描述】:

如果我通过 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);
    }
});

编辑:我想在搜索引擎中隐藏它,但同时让屏幕阅读器可以访问,这可能吗?

【问题讨论】:

    标签: javascript jquery seo accessibility screen-readers


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      通常,不会。

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

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

      【讨论】:

        【解决方案3】:

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

        这样做有什么特别的原因吗?如果可能,我建议在服务器端执行此逻辑,然后您就知道您的 HTML 可以被搜索引擎读取。

        【讨论】:

        • 但是这个生成的代码显示在代码的渲染视图源和萤火虫中
        • 是的,Firebug 将向您显示代码 DOM,因为它存在于 在浏览器中完全呈现之后。我不知道谷歌是否将其作为索引过程的一部分。如果您想确定,请尽可能从服务器发送 HTML。我的意思是,无论如何,您的示例中的那部分 HTML 对搜索引擎来说都不会感兴趣,所以这没什么大不了的。但如果有真正的内容,我会做上面的。
        • Google 通常不执行 javascript(尽管他们确实使用一些启发式方法来尝试找出正在发生的事情)。在这种特殊情况下,他们可能只会在您的 javascript 中的字符串中看到嵌入的 HTML,并无论如何都要对其进行索引。就个人而言,我同意这个答案:使用 javascript 这样做没有任何好处,只是它不适用于关闭 javascript 的人(当然这是一个缺点)......
        • @codeka - 通过此代码 sn-p 我向用户提供附加信息(adobe reader 的下载链接)。这实际上不是我页面内容的一部分。所以我不想在我的 SE 蜘蛛的内容中添加这个。第二个原因是这段代码也为我节省了时间。如果页面有PDF,它会自动添加Adobe Reader的链接,否则没有。
        【解决方案4】:

        这取决于爬虫,但不要指望大多数机器人能够解释 Javascript。

        【讨论】:

          猜你喜欢
          • 2011-09-29
          • 1970-01-01
          • 2011-09-29
          • 1970-01-01
          • 1970-01-01
          • 2010-09-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多