我总是偶然发现这个(相当简单的问题) Wordpress博客。我应该在标题<a>
元素中包装标题(也应该是一个链接),或者应该是另一种方式。为什么?
(1):
<a href="foo">
<h1>bar</h1>
</a>
(2):
<h1>
<a href="foo">bar</a>
</h1>
我总是最后做(1),因为对我来说这似乎更合乎逻辑,标题包含在一个链接中。
它在例如是否有所不同搜索引擎优化?有最好的做法吗?
答案 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索引很容易。