H1 tag found on page, but saying doesn't match keyword
-
We've run a on-page grader test on our home page www.whichledlight.com with the keyword 'led bulbs'
it comes back with saying there is a H1 tag, although the content of the keyword apperently doesn't contain 'led bulbs... which seems a bit odd because the content of the tag is
'UK’s #1 Price Comparison Site for LED Bulbs`
I've used other SEO checkers and some say we don't even have a H1 tag, or H2, H3 and so on for any page.
Screaming Frog seems to think we have a H1 tag though, and can also detect the content of the tag.
Any ideas?
** Update **
The website is a single page app (EmberJS) so we use prerender to create snapshots of the pages.
We were under the impression that MOZ can crawl these prerendered pages fine, so were a bit baffled as to why it would say we have a H1 tag, but think the contents of the tag still doesn't match our keyword. -
I did a 'View Source' and 'Inspect on your homepage.
On View Source, there was no H1 Tag, however, on Inspect, there is clearly a H1 tag (H2, H3 exist too).
"View Source" typically shows what was received from the server before javascript modifies it. I suspect your developer wrote it this way to optimize for speed (with jQuery).
That being said, when you use the SEO checkers that claims you do not have a H1 tag, they are only reading the document and not the source code.
In short, yes, your website has a H1, H2 and H3 tags.
Just Curious, what results (content of H1) did the on-page grader came out with?
-
Yes, see what you mean.
We get the same if we view source.Inspect element shows it correctly.
I take it you mean SEO checkers are checking the source code.. before JS modifies it?
Do you think this is hurting our SEO?
-
This post is deleted! -
I checked the source with my default user agent (in this case Firefox) and did NOT see an H1 tag.
I checked with my user agent set to GoogleBot and DID see an H1 tag, which did have that keyword phrase in it.
I checked again with a default user agent, but this time with JavaScript disabled, and could not see anything at all on the viewable page (blank white page), though the source code was there without the H1 tag.
So it seems to me like you're pre-rendering the page for GoogleBot, and are including the H1 (and other header tags) as part of a fully-rendered page for search engines. However, because that Header tag does not exist if you turn JavaScript off - or if you're not Google - there may be a risk of Google seeing this page as "cloaking".
Pre-rendering is good. It's not a "bad" type of cloaking if you serve the EXACT same page to search engines that you serve to everyone else. Unfortunately, this does not seem to be the case with the way this page is set up. Google sees one thing, other visitors (with or without JavaScript enabled) see something else.
I know developers are head-over-heels for single-page apps and JavaScrpt frameworks, but this stuff is starting to drive me nuts. It's like trying to optimize Flash sites all over again. On the one hand you have Google bragging about how great they are at crawling JavaScript, even going so far as to say pre-rendering is not necessary... And on the other hand there are clear, sustained, organic search traffic drops whenever developers start turning flat HTML/CSS pages into these single-page JavaScript framework applications.
My advice to you is that if you're going to Pre Render a page for Google, to A: make sure the page a user with JavaScript enabled sees is exactly the same as what Google sees, and B: See if you can pre-render pages for visitors without JavaScript enabled as well.