根据一些SEO专家和渐进增强(PE)等理论,即使禁用JS,页面内容也应适当地呈现给用户.我完全同意这一点.
这是我的情况,在我们客户的"关于我们"页面上,有一个div列出了他们公司的活动.由于空间和其他考虑因素,他们使用JS和CSS元素隐藏了一些事件列表display:none
.
到目前为止,有两件事真的吓到我了.
一,CSS元素 - display:none
.我的经验告诉我,这在SEO方面非常可怕.
二,禁用JavaScript.禁用我的浏览器的JavaScript,我根本看不到隐藏的事件列表.显然没有JS,学习更多标签是无效的.这种情况肯定会违背PE理论和SEO专家的警告.
除了这两件吓人的事情,我也有一个困惑.
我使用谷歌网站主工具来获取此页面,它显示了所有隐藏事件列表.如果Google机器人在禁用JS的情况下使用我的网站,它怎么能获取这些隐藏内容?或者如果它能够获取那些隐藏的内容,是否意味着PE理论已经过时而且那些专家是错的?
我现在应该怎么做?感谢您的时间.
首先,display:none
是不是普遍认为是一个SEO失礼; 抓取工具仍然可以"抓取"该文本; 关于它是否会影响声誉,或者它们是否会以相同的权重对其进行索引,那么只有相互矛盾的理论.
PE理论和SEO /可发现性理论重叠,但他们的"兴趣"有时不同; 你理论上可以做一些糟糕的PE,而不是糟糕的SEO.
如果禁用JavaScript,PE理论会说'你应该能够在功能上使用所有网站'.但是,如果默认值是display:none;
并且它display: block;
通过JavaScript 变为,那就不是PE,因为JS禁用程序永远不会查看您的内容(尽管可能是爬虫).
更好的做法是拥有display:(not none
)是默认值,并设置display:none; 通过JavaScript.这样,JS禁用程序就可以查看和使用内容(即使是以一种视觉上没有吸引力的方式),并且启用程序会以您想要的方式体验它
这涵盖了你的两个方面,因为爬行者无法判断JS是否被用来隐藏某些东西,以防万一有与之相关的SEO消极性 display:none;
当你"查看来源"时,蜘蛛基本上会看到你所看到的.如果您使用CSS或JS 隐藏内容,蜘蛛仍然可以看到它们,因为它们主要查看原始HTML源(声明内容的位置).但是,如果您使用JS(通过AJAX等)加载内容,那么蜘蛛将无法看到您的内容,因为它们通常不会执行javascript.
只要HTML源代码中描述了所有内容,那么大多数情况下你应该没问题.