在标题内锚定,反之亦然?

时间:2011-11-17 21:22:38

标签: html hyperlink seo

我总是偶然发现这个(相当简单的问题) Wordpress博客。我应该在标题<a>元素中包装标题(也应该是一个链接),或者应该是另一种方式。为什么?

(1)

<a href="foo">
    <h1>bar</h1>
</a>

(2)

<h1>
    <a href="foo">bar</a>
</h1>

我总是最后做(1),因为对我来说这似乎更合乎逻辑,标题包含在一个链接中。

它在例如是否有所不同搜索引擎优化?有最好的做法吗?

3 个答案:

答案 0 :(得分:72)

在HTML5之前:
锚必须位于标题内,你不能将一个块级元素放在一个锚中,如果你这样做,大多数浏览器都不会100%可靠地渲染它。

在HTML5中:
无关紧要,请使用最具有语义意义的人。可能是第一个。

请记住,如果您的文档使用HTML4 DTD,它将无法验证并且可能无法正确呈现,因为它使用旧规则,其中锚不能包含块级元素。仅使用HTML5中的第一个选项。 XHTML相当于HTML4,但我对XHTML1.1并不是100%肯定(尝试并查看它是否有效)。

答案 1 :(得分:7)

如果你正在使用HTML 4.01 DTD(不确定过渡,但绝对是严格的),那么anchor元素必须出现在header元素内。如果您不知道正在使用哪个DTD(假设您有一个,您需要将oyur代码视为有效),请检查您的doctype。 HTML5 doctype如下所示:

<!DOCTYPE HTML>

4.01 doctype是:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

如果您打算使用4.01,我还建议您熟悉DTD本身,它将回答所有这些类型的问题。

答案 2 :(得分:-2)

第一个最适合SEO,因为google索引很容易。