Anchors inside headers, or vice versa - is there a different in relation to SEO? [closed]
Asked Answered
B

3

95

I always stumble upon this (rather simple question) when making e.g. Wordpress blogs. Should I wrap the headline, which should also be a link, in a anchor <a> element, or should it be the other way around. And why?

(1):

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

(2):

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

I always end up doing (1), as it just seems more logical to me, that the headline is wrapped in a link.

Does it make any difference in e.g. SEO? Will it reflect the SEO ranking?

Bloxberg answered 17/11, 2011 at 21:22 Comment(4)
This question on Pro Webmasters is what you're looking forSewerage
Possible duplicate of Which is more correct: <h1><a>...</a></h1> OR <a><h1>...</h1></a>Fetching
I’m voting to close this question because, while this was on-topic when asked, non-programming SEO questions are no longer on-topic here and should be asked at Webmasters. Specifically the previously-linked Anchor tag inside <h1> or <h1> inside anchor tag: which is better? answers this question there.Macle
It seems Google recommends adding section tags with ids and does not recommend adding a-tags: developers.google.com/style/headings-targetsStanislas
P
89

Prior to HTML5:
The anchor has to be inside the header, you cannot put a block-level element inside an anchor, and most browsers will not render it 100% reliably if you do.

In HTML5:
It doesn't matter, use whichever one makes the most semantic sense. Likely the first one.

Remember that if your document is using HTML4 DTD's, it will not validate and may not render correctly because it's using the old rules where an anchor cannot contain a block-level element. Only use the first option in HTML5. XHTML is equivalent to HTML4, I'm not 100% sure about XHTML1.1 though (try it and see if it validates).

Puncheon answered 17/11, 2011 at 21:29 Comment(0)
H
8

If you're using an HTML 4.01 DTD (Not sure about the transitional, but definitely the strict), then the anchor element must appear inside the header element. Check your doctype if you don't know which DTD you're using (assuming you have one, which you do need for oyur code to be considered valid). The HTML5 doctype looks like this:

<!DOCTYPE HTML>

The 4.01 doctype is:

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

I'd also suggest familiarizing yourself with the DTD itself if you're going to work with 4.01, it will answer all of these types of questions.

Hairpin answered 17/11, 2011 at 21:34 Comment(0)
S
-4

First one is best for the SEO because google index that very easily.

Sendal answered 16/7, 2020 at 4:0 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.