使用 h1 的正确方式?(关于文档大纲和 SEO)
使用 h1 的正确方式?(关于文档大纲和 SEO)
我仍在努力熟悉HTML5,有些东西感觉有点混乱……我曾在Jeremy Keith的书和HTML5 Doctor(通过这个问题)中读到,HTML5使得可以使用多个
标签。在HTML5中,每个部分都可以有自己的标题元素,所以拥有多个
并没有问题。我看到一个名为"underscores"的Wordpress主题框架,似乎充分应用了这一点。
然而,这似乎对于尚未支持HTML5的旧浏览器在定义站点结构/文档大纲方面存在问题。同时,这也会给SEO带来问题。
我偶然看到了Matt Cutts(来自谷歌)的视频,并重新阅读了Keith的书,他们推荐限制使用
并使用传统的文档大纲(每个页面只使用一个或两个
,然后跟随多个
,
等)。Matt Cutts还暗示多个
对于SEO来说并不是太好。
,
等)。Matt Cutts还暗示多个
对于SEO来说并不是太好。
对于SEO来说并不是太好。
然而,
- 我以前从未认真关注过站点结构/文档大纲。所以我不知道旧浏览器(HTML5之前)如何读取站点结构/文档大纲。有一个HTML5大纲生成器,但我找不到HTML4的大纲生成器。
- Matt Cutts的关于HTML5和SEO的视频是于2009年发布的。我不知道谷歌是否已经支持新的HTML5文档大纲方式。
所以我的问题是,如果我想要:
- 支持旧浏览器(例如Firefox 3.0和IE 6)正确显示站点结构/文档大纲
- 在SEO方面有好的结果
我应该使用哪个:多个
(HTML5中的方式)还是传统方式?
这是HTML5的例子(来自HTML5 Doctor):
我的精彩网站
关于我
我是一个过着迷人生活的人。哦,我可以告诉你很多故事……我从事的职业
我销售企业管理的蚂蚁农场。联系方式
大声喊我的名字,我会来找你的。
还是传统方式?
我的精彩网站
关于我
我是一个过着迷人生活的人。哦,我可以告诉你很多故事……我从事的职业
我销售企业管理的蚂蚁农场。联系方式
大声喊我的名字,我会来找你的。
使用新的格式。
很多人会使用h3或h2,这也是完全可以的。
事实上,他们会使用html5提供的section、article、header、footer等元素,然后使用h3或h4作为文档段的标题(因为担心SEO处罚/遗留样式/布局怪癖)。
这也是可以的。
如果你再看一遍Cuts的视频,他说要尽量少使用h1,只有在确实需要时才使用多个。
这一点到目前为止还没有改变。
谷歌不会因为你有多个h1而杀死你。
谷歌会期望每一个h1都意味着内容上的根本变化。
无论你是否在其中使用了段落元素(section/article等),这一点都是正确的。
谷歌已经达到了他们能够正确爬取仅限于AJAX或依赖JavaScript的网站,并拥有自己的丰富内容的元数据系统的程度... ...他们足够复杂以解析section或article。
更关注内容的质量,如果你准备好了,可以考虑谷歌专用的用于搜索结果等的元数据... ...而让谷歌去担心导航语义(只要你使用得当,不做任何可疑的事情)。
次要的爬虫,谁知道呢... ...但这是基于每个爬虫的基础上的,大多数人只需要关注谷歌、必应和雅虎,其他爬虫要么从谷歌获取信息,要么是非常特定领域的(比如你想在某种程度上排名靠前的、选择加入的汽车租赁爬虫... ...此时你应该提供XML/JSON等格式的数据源)
标签是网页中用于定义最高级别标题的标签,通常用于表示页面的主要标题。然而,对于使用较旧版本的浏览器,使用
标签可能会导致一些问题。这是因为,较旧版本的浏览器对于HTML5标签的支持有限,可能无法正确地显示或解释这些标签。
为了解决这个问题,可以使用HTML5Shiv脚本来确保旧版本的浏览器正确地解释和显示HTML5标签。这个脚本可以通过在网页的
部分添加以下代码来引入:将这段代码放置在网页的
部分,就可以确保旧版本的IE浏览器正确解释和显示HTML5标签。需要注意的是,HTML5Shiv脚本主要用于解决HTML5标签的显示问题,而不是用于调整网页的结构。因此,如果你的问题是关于正确显示网页结构的标题标签,而不是HTML5标签的显示,那么HTML5Shiv可能并不能完全解决你的问题。
总之,对于使用
标签的正确方式,首先要确保你的网页使用了HTML5,并使用HTML5Shiv脚本来确保旧版本的浏览器正确解释和显示HTML5标签。此外,还应注意到HTML5Shiv主要用于显示问题,而不是结构问题。通过遵循这些步骤,你可以更好地使用
标签,并提高网站的可读性和搜索引擎优化效果。
标签的正确使用方法(关于文档大纲和SEO)
问题的出现原因:
问题的提出者说,第二个示例中没有包含任何分区元素(sectioning elements),但是可以使用带有除
之外的标题的分区元素。问题的关键在于,是否可以在每个分区元素中都使用
。
解决方法:
解决方法:
在每个分区元素中都使用
标签
...
...
...
...
或者使用“计算”标题级别
...
...
从语义和技术上来说,它们是相同的。
SEO不应是一个问题,因为“
到处都是”已经在整个网络上广泛使用,并且主要搜索引擎已经知道这一点。如果它们想要支持HTML5,它们必须理解大纲算法。我敢打赌,它们的爬虫/API已经像HTML5大纲工具一样正确计算了真正的标题级别。
唯一需要将
-
用作分区元素标题的原因是旧的辅助功能软件,例如屏幕阅读器。它们通常提供一个大纲菜单,以便用户可以直接跳转到某个标题。所以如果您始终使用
,旧的不了解HTML5的屏幕阅读器会将所有标题都报告为
,因为它们不会计算正确的大纲级别。
,旧的不了解HTML5的屏幕阅读器会将所有标题都报告为
,因为它们不会计算正确的大纲级别。
然而,例如当前版本的屏幕阅读器Jaws 13,只有在IE中对HTML5的“
到处都是”进行了正确处理,如果在HTML5页面中使用其他标题级别,它会感到困惑。这当然是一个错误,但这是一个很好的例子,说明坚持“旧方法”并不总是适用于较新的软件。
因此,无论如何,可能都会遇到问题。
在我看来,您应该坚持HTML5规范推荐的方法,即在所有分区元素标题中使用
。因为这个规范是未来用户代理、辅助工具、搜索引擎和其他服务/软件用来构建他们的产品的。
然而,这当然取决于您的使用场景。如果您了解访问者统计数据,应该利用这些数据为您的特殊情况做出正确的决策。例如,如果您的网站在未来不会存在很多年,那么应该使用目前得到最好支持的方法。