HTML5语义标签的使用,将搜索引擎尊重大包装吗?

时间:2013-01-07 05:04:20

标签: html5 seo semantic-markup

我计划使用<nav>标签来做一些事情,但是,我发现了以下情况。

以下面的标记为例:

<nav id="sidebar">

<div class="links">
<a href="/"></a>
<a href="/"></a>
<a href="/"></a>
</div>


<div class="links">
<a href="/"></a>
<a href="/"></a>
</div>


<div class="links">
<a href="/"></a>
</div>

<div class="statement">
random content here, unrelated to navigation
</div>

<div class="randomstuff">
unrelated to navigation, but still here
</div>

</nav>

搜索引擎是否会尊重这种语义标签的使用?我的意思是,&#34;忽略&#34;或者降低使用导航标签包装的所有内容的优先级(即使不是div等),即使不是直接,也不一定是所有导航内容。

内置header的{​​{1}}和footer代码也存在同样的问题。

提前感谢你的帮助。

3 个答案:

答案 0 :(得分:3)

您不应在nav中包含与导航无关的内容。不仅规范是very clear,它也会损害可访问性。

因此,您的两个div元素(.statement.randomstuff)需要退出nav元素。只有当他们与nav中的内容“切线相关”时,您才可以将这两个元素放在nav内的aside element内,但我不认为这是你的内容的案例。

  

我可以问一下您推荐的每个页面上包含但不是导航的常规页面内容的HTML5标签吗?提供与页眉,页脚和导航相同的目的,阻止包含在结果中,因为它是一般的和每页。

没有一般性答案;这取决于你的内容应该使用哪个元素。

您可以使用切片元素(sectionarticlenavaside)和标题创建整体结构(文档大纲)。现在每个部分(不要与section元素混淆!)可以拥有header / footer个元素。而已。未包含在header / footer中的部分内的所有内容都可以被视为该部分的主要内容 addresssmall等细粒度元素可以提供其内容所扮演角色的其他线索。

现在,如果某事(搜索引擎,屏幕阅读器,人工智能......)想要使用您的文档,它可能会利用您的标记。如果以及在多大程度上取决于几个因素,例如用例,意志,技能,成本等等。因此,对于“搜索引擎......?”没有一般性答案,因为 a)无数的搜索引擎(每个人每天都可以创建一个新的)和 b)一些(特别是一般网络搜索的“大玩家”)不喜欢详细谈谈这些事情。

但我们可以假设对所有这些用户代理/消费者的用例有用:

  • 屏幕阅读器可能会提供仅读取主要内容的功能(忽略navasidefooter,...)
  • 博客文章搜索引擎可能会对article内的nav / aside
  • 内的文字进行评分
  • 对于导航搜索查询,搜索引擎可能会对headerfootersmalladdress 更高中的字词进行评分,而 > 用于研究查询
  • 可读性加载项可能会忽略navfooter和顶级aside元素
  • 来尝试查找主要内容
  • ...

HTML定义了所有元素的含义。如果所有HTML作者都尊重这一点,我们可以构建和使用完美使用标记的用户代理。但实际上,作者可能(错误地)使用nav来“贬低”样板内容☺,这将迫使所有消费的用户代理忘记nav的特殊含义(因为它可能包含其他内容) ,非导航内容,这对他们的用例很重要。)

答案 1 :(得分:1)

首先,任何与导航无关的内容都不应包含在nav代码中。

至于搜索引擎会对这些内容做什么,如果你(或其他任何人)有这样不正确的标记是任何人的猜测。

简短的回答:没有人知道!

答案 2 :(得分:1)

在整个区块周围使用NAV并不具有语义意义。使用通用DIV进行布局。

出于语义目的,你可以为链接集使用多个NAV元素,但规范是相当开放的,所以你要做的就是:

<div id="sidebar">

<nav>
<div class="links">
<a href="/"></a>
<a href="/"></a>
<a href="/"></a>
</div>
</nav>

<nav>
<div class="links">
<a href="/"></a>
<a href="/"></a>
</div>
</nav>

<nav>
<div class="links">
<a href="/"></a>
</div>
</nav>

<section>
<div class="statement">
random content here, unrelated to navigation
</div>

<div class="randomstuff">
unrelated to navigation, but still here
</div>
</section>

</div>

你只需要诚实地问自己,“这在逻辑上是否可读?”。

事实是,关于HTML5标签有很多 HYPE 。就个人而言,我认为它们是一个好主意,但在实践中,它现在只能猜测搜索引擎对它们的作用。

希望这会有所帮助。 MIKEY