首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跳过爬虫代码的javascript片段

跳过爬虫代码的javascript片段
EN

Stack Overflow用户
提问于 2013-11-13 11:35:21
回答 4查看 1.4K关注 0票数 0

我在php中有一个网站,它将某些php变量传递给javascript变量,google抓取了我,它生成错误和重复的内容。有没有办法让google爬虫忽略javascript中这些变量的声明?

代码语言:javascript
复制
    echo '<script language="javascript">var '.$item['Nombre'].'="'.$descripcion.'";</script>';

抱歉,我的英语,

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-13 12:44:53

Google爬行javascript代码并认为它是复制的?我以前从未听说过这个问题。我的一些页面有内联的javascript (如果内容很小),这意味着每个页面上都有相同的<script>...</script>

在有些情况下,我以与您相同的方式或多或少地输出javascript变量。谷歌从未将其标记为“复制内容”。

来自这里的描述

重复内容通常是指在域内或域之间的实质性内容块,这些内容要么完全匹配其他内容,要么明显类似。大多数情况下,这在起源上并不具有欺骗性。非恶意复制内容的示例可以包括:

  • 讨论论坛,这些论坛可以生成针对移动设备的常规和精简页面。
  • 通过多个不同的URL存储显示或链接的项目
  • 纯打印机版本的网页

如果您在多个页面上有相同的内容,但google不将javascript解析为内容,则可以得到此类错误。(尽管你永远不可能确切地知道谷歌做了什么或者不做什么)。同样的方式,谷歌不会标记你的<head>标签为重复,或没有惩罚有相同的布局(菜单,页脚等)在每一页。

您可以将该<script>标记放入标记中以确保。

HTML元素表示页面的一个部分,该部分由与其周围的内容切分相关的内容组成,这些内容可被视为独立于该内容。这样的部分通常表示为侧边栏或插入。它们通常包含一些附带的解释,如术语表定义;更松散的相关内容,如广告;作者的传记;或在网络应用程序中,个人资料或相关的博客链接。

这意味着google在索引页面时或多或少会忽略这些内容。它不会标记为复制,因为它可能是一个商业。

还从脚本标记中删除language="javascript"属性。我怀疑它会在任何方面混淆谷歌,因为不建议使用该属性。 (而不是type )现在没有考虑到它。但是如果google这样做了,正确的值将是text/javascript,而不是简单的javascript。谷歌可能不承认javascript的价值,并将其解析为未知类型的文本内容。

脚本的默认类型是text/javascript,因此省略它是安全

最重要的是,我怀疑问题不在于JS变量的存在,而在于URL中的GET参数。GET参数可以通过在Webmaster工具中正确配置URL参数来处理。

票数 1
EN

Stack Overflow用户

发布于 2013-11-13 11:44:17

重要:在大多数情况下,这是不好的做法。如果谷歌注意到你为它的机器人提供了不同的内容,并认为它是相关的,那么你的网站就会受到无法衡量的惩罚。

我推荐这个php解决方案

在PHP中使用以下代码:

代码语言:javascript
复制
if (!strpos($_SERVER[‘HTTP_USER_AGENT’],"Googlebot")) {
  //echo the script
}
else{ //dont echo, does nothing. }

,但如果这不起作用,您可以尝试将这些javascript代码添加到脚本标记中:

代码语言:javascript
复制
    if (!navigator.userAgent.contains('Googlebot')) {
    //do the script
    } else {
    //does nothing
    }

Ps:下面是用户代理http://www.useragentstring.com/pages/Crawlerlist/的列表

票数 0
EN

Stack Overflow用户

发布于 2013-11-13 12:00:47

另一种(未经测试、推测)的方法要求您可以编写自己的robots.txt文件:

  1. 将您的所有javascript代码生成移动到另一个URL,并将其作为javascript脚本包含在您的页面中:<script type="text/javascript" src="/path/to/my/php/that/generates/js/variables.php"></script>
  2. 将该URL添加到您的robots.txt文件中(请参阅谷歌答案)

用户-代理: Googlebot 不允许: /path/to/my/php/that/generates/js/variables.php

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19952743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档