JavaScript和SEO。我该如何调和它们?

时间:2010-09-13 03:10:03

标签: javascript css seo

根据一些搜索引擎优化专家和渐进增强(PE)等理论,即使禁用了JS,页面内容也应该适当地呈现给用户。我完全同意这一点。

以下是我的情况,在我们客户的“关于我们”页面上,有一个div列出了他们公司的活动。由于空间和其他考虑因素,它们使用JS以及CSS元素display:none隐藏了一些事件列表。

到目前为止,有两件事真的吓到我了。

  • 一,CSS元素 - display:none。我的经验告诉我,这在SEO方面非常可怕。
  • 二,禁用JavaScript。禁用我的浏览器的JavaScript,我根本看不到隐藏的事件列表。显然没有JS,学习更多标签是无效的。这种情况肯定会违背体育理论和SEO专家的警告。

除了这两件吓人的事情,我也有一个困惑。

我使用Google网站管理员工具获取此页面,并显示了所有隐藏事件列表。如果Google机器人在禁用JS的情况下使用我的网站,它怎么能获取这些隐藏内容?或者如果它能够获取那些隐藏的内容,是否意味着PE理论已经过时且那些专家错了?

我现在该怎么办?谢谢你的时间。

3 个答案:

答案 0 :(得分:10)

首先,display:nonenot universally considered成为SEO的失礼;抓取工具仍然可以“抓取”该文本;关于它是否会影响声誉,或者它们是否会以相同的权重对其进行索引,那么只有相互矛盾的理论。

PE理论和SEO /可发现性理论重叠,但他们的“兴趣”有时不同;你理论上可以做一些糟糕的PE,而不是糟糕的SEO。

如果禁用JavaScript,PE理论会说'你应该能够在功能上使用所有网站'。但是,如果默认值为display:none;并且它通过JavaScript变为display: block;,则不是PE,因为JS禁用程序永远无法查看您的内容(尽管爬虫可能)。

更好的做法是将display:(not none)设为默认值,并设置display:none;通过JavaScript。这样,JS禁用程序可以查看和使用内容(即使是以一种视觉上没有吸引力的方式),并且启用程序以您的方式体验它

这涵盖了你的两个方面,因为爬虫无法判断JS是否被用来隐藏某些东西,以防与display:none;

相关的SEO消极性

答案 1 :(得分:6)

当您“查看来源”时,蜘蛛基本上会看到您看到的内容。如果您使用CSS或JS 隐藏您的内容,蜘蛛很可能仍然能够看到它们,因为它们主要查看原始HTML源(声明内容的位置)。但是,如果您使用JS <通过AJAX等加载您的内容,那么蜘蛛将无法看到您的内容,因为它们通常不会执行javascript。

只要HTML源代码中描述了所有内容,那么大多数情况下都应该没问题。

答案 2 :(得分:1)

正如其他人已经回答的那样,抓取工具会看到您网页的原始来源。虽然在某些情况下“display:none”可能会对你不利,但我目前的想法是,如果你没有滥用它(把不相关的关键词填入你的页面),那可能没问题。

也就是说,要进行渐进式增强正确,您应该确保页面显示所有内容并禁用javascript。使用javascript来隐藏和重新配置好的东西。

这样,如果我关闭了javascript,我仍然可以看到一切。如果我是一个搜索引擎,我不必担心在CSS中看到“display:none”。如果我是其他99%的用户,javascript会及时隐藏一些内容,所以我可以享受这种性感,无论你在javascript中做什么,都可以让它变得性感。