4

我有一个必须打开 javascript 才能运行的网站

有一个 <noscript> 标签,它有一个元数据,可以将用户重定向到一个页面,提醒他禁用的 javascript...

我想知道,这对搜索引擎爬虫来说是件坏事吗?
因为当有人没有js的时候我给自​​己发邮件所以我可以分析是否有必要为这些人重建网站,但是它100%激活了js,唯一没有js的是搜索引擎爬虫...我猜 google、yahoo 等在 <noscript> 中并没有认真对待元刷新?

我应该做些什么来检查它们是否是机器人并且不使用元重定向它们吗?

谢谢,

4

6 回答 6

3

与其强行发送用户/机器人,为什么不让文本出现在页面顶部,说明启用 javascript 以使用该站点?

这将允许机器人仍然阅读页面并遵循非 JavaScript 链接。这将结束被重定向的问题,并且不需要为机器人提供不同的页面。这将使您更新多个页面。

您可能还想查看谷歌网站管理员工具,以了解所有谷歌当前正在阅读的内容并在此基础上进行改进。

示例:在 SO 上禁用 javascript 会在顶部创建一个红色横幅,上面只显示“Stack Overflow 在启用 JavaScript 的情况下效果最佳”,如果您觉得这还不够,您可以将其链接到包含更多信息的页面。

于 2010-04-28T20:09:37.780 回答
2

你试过<!--googleoff: all--> <noscript><meta redirect... /></noscript><!--googleon: all-->吗?它不是一个完整的解决方案,但值得一试......

于 2010-04-29T13:57:18.470 回答
1

这是我要做的:

  1. 使该站点在某种程度上可以使用 javascript。如果您到处使用 ajax,请确保链接已将 href 设置为您将使用 ajax 的 url。这可能会使您的网站在没有 javascript 的情况下“有点”工作。
  2. 为机器人添加一些 .htaccess 重定向。将他们重定向到一些理智的地方,在那里他们可以访问一些链接并索引一些东西

您的网站在抓取能力和 SEO 方面可能非常糟糕

编辑:好的,我看到了你的问题。爬虫在看到 noscript 里面的东西后被重定向了。

那么这个解决方案怎么样:

如果你只有一个页面有 noscript,那么你可以在你的 apache 配置中添加一些重写规则,这将向机器人显示页面的不同版本,并且这个版本不会有 noscript 标签。例如:

RewriteCond %{HTTP_USER_AGENT} Googlebot [OR]
RewriteCond %{HTTP_USER_AGENT} msnbot [OR]
RewriteCond %{HTTP_USER_AGENT} Slurp
RewriteRule ^.*$ nometa.html [L]

另外,您使用的是什么技术?你使用任何服务器端语言,你甚至使用 apache 吗?我假设你有 apache+html 但没有服务器端语言。如果您确实有运行服务器端的东西,那么这更容易。

于 2010-04-22T14:19:53.753 回答
1

由于 <meta> 不允许出现在页面的 <body> 中,并且 <noscript> 在 <head> 部分中是不合法的,因此机器人可能只是放弃了遇到错误 HTML 的页面。

我建议您只需使用 <noscript> 标记来封装警告消息和用户在未打开 Javascript 时可以单击的链接。

可以使用/robots.txt文件或通过放置一个

<meta name="ROBOTS" content="NOINDEX,NOFOLLOW" /> 

链接到的页面上的标签。

于 2010-04-28T21:50:04.890 回答
1

你可以有一个页面,上面写着“你需要 javascript”。然后在该页面上添加

<script>
window.location.href='/thejspage.html';
</script>

这样,支持 javascript 的人将很容易被发送到有效页面,并且蜘蛛只会停留在该页面上,而不是保存没有 javascript 的页面。

这也应该有助于您的 SEO(因为搜索引擎会找到普通用户可以看到的页面)。

于 2010-04-28T22:17:52.333 回答
0

也许您可以使用无头浏览器,并可以为那些没有启用 javascript 的人(包括爬虫)提供页面的 HTML 快照。

http://code.google.com/web/ajaxcrawling/docs/getting-started.html

于 2010-04-22T16:06:44.390 回答