【问题标题】:Block certain html element from getting indexed by search engines阻止某些 html 元素被搜索引擎索引
【发布时间】:2009-06-11 14:43:15
【问题描述】:

出于样式目的,我想在页面上插入一些虚拟文本,但不应将其链接到实际内容。有没有办法为搜索引擎阻止它,或者我必须为此使用好的旧图像?

或者可以通过javascript动态加载它吗?因为我听说谷歌会读取一定数量的 javascript。

【问题讨论】:

  • 即使您屏蔽了表现良好的搜索引擎,也要注意恶意搜索引擎可能会忽略或绕过您设置的安全性

标签: html search-engine


【解决方案1】:

您能否在无边框 iframe 中显示内容,并将 iframe 的 src(一个完全独立的“页面”)与搜索引擎屏蔽?

或者,使用 javascript 添加内容,将 javascript 存储在您阻止引擎访问的 .js 文件中?

【讨论】:

    【解决方案2】:

    如果您通过 AJAX 加载该文本,它可能不会被编入索引 - 上次我检查时,GoogleBot 实际上并没有执行 JS(其他蜘蛛也没有(但一些垃圾邮件机器人显然可以并且这样做))。

    警告:AJAX 响应可能应该包含 X-Robots-Tag: noindex 标头,以防它的 URL 实际链接到某个地方。

    【讨论】:

      【解决方案3】:

      无论你决定使用什么技巧,我都会非常小心。很可能 google 会认为您试图向用户显示与用户不同的内容。

      我一直认为 Google 实际上是通过渲染页面(可能使用某些服务器端版本的 Chrome 渲染引擎)然后用 OCR 软件读取结果来确认源中的文本与用户会看到启用了 JS 和框架。谷歌一直公开警告网站管理员不要尝试为机器人提供不同的内容给用户,OCR 将是找出问题的完美方式(特别是如果你的“验证者”使用 IE 的用户代理字符串并从谷歌未注册的 IP 范围抓取)。

      那么简短的回答,作为装饰:

      • iframe
      • 一个对象
      • SVG 图像

      由于您清楚地将文档链接到您的页面,谷歌可能会认为它是一个单独的资源并相应地对事物进行评分,尤其是当相同的文本出现在每个页面上时。这让我想到:

      您要在所有/大多数页面上使用相同的文本装饰吗?如果是这样,Google 几乎肯定会将其视为“门面装饰”并忽略它(它显然是通过菜单等来做到这一点的)。

      【讨论】:

      • Google 当然不使用 OCR 来读取页面。太荒谬了。
      • 一点也不荒谬。谷歌拥有一些世界上最强大的数据中心。如果有人可以每秒渲染和扫描数百万个 HTML 文档 - 他们可以。更不用说他们可能有用于 Google Books 和 GMails 的垃圾邮件过滤器的 OCR 系统,可以适应此目的。谷歌一直声称他们会惩罚那些试图向浏览器提供与搜索引擎不同的页面内容的网站。渲染页面并进行比较似乎是一种非常合理的检测方式。如果现在没有完成,那可能只是时间问题。
      • 渲染网页图片太荒谬了!
      • @fuzzy lollipop:荒谬,但可能;红皇后竞赛的又一步。
      【解决方案4】:

      我猜想在页面完成加载后加载内容(例如,当 document.ready 事件触发时)将是一种相当安全的方式来执行您所说的操作。不过,这不是 100% 确定的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多