开发者

What's the correct way to hide the <h1> tag and not be banned from Google?

The website I am working on uses an image defined in CSS as the main logo. The html code looks like this:

<h1>Something.com | The best some开发者_JAVA技巧thing ever</h1>

I would like to display just the image defined in CSS and pass the information from the h1 tag to the search enginges only.

What's the correct way to do this? Google is very strict about this, I know that display:none is wrong, what about visibility: hidden ?

Thanks in advance!


You should be fine with visibility: hidden.

That said, if your image is part of the content (and I would dare to say that a company logo is content, not presentation), and you care about accessible html, you should consider changing your code to include the image as a img element with title and alternate text, instead of a css background-image.

Additionally, if you hope to attract search engines to the keywords inside the <h1> element, you might want to include those words more than once in the page. The page title is a much more relevant place than the h1 element, for example.


The easiest, foolproof, best for SEO solution would be

<h1><img src=logo.png alt="Something.com | The best something ever"></h1>


set the image as the background of your h1 (set the width/height so it fits) then set your text-indent to something crazy like -9999px. That way when css is disabled (such as being crawled) the bot will see the text in the header instead of the background.

example:

CSS

#myHeader {
width:200px;
height:50px;
background: url('lcoation/of/the/image.jpg') top left no-repeat;
text-indent:-9999px;
}

HTML

<body>
...
<h1 id='myHeader'>HELLO WORLD</h1>
...
</body>


The "correct" way to do this is to have the text in the title bar or in your page's meta text.


<h1 style="font-size: 2px; margin: 0px;">Something goes here</h1>

Works like a charm.... ;-) The screen readers will interpret it and won't affect your SEO.


You're not going to get good SEO results if you, first hide the <h1>, and second use generic phrases inside the <h1>.

Don't just use the <h1> for sizing, you can use classes to style.

<h1> tags should contain keyword rich information such as:

Automotive Repair

Automotive repair being the keyword that relates to the particular page I'm theoretically working on.

Hope that makes sense.


I think that visibility: hidden; would work fine. Have you tried it yet?


Does your web site consist of just one single page?

Otherwise you should put the headline of each page in the h1 tag, not the tagline of the site. Repeating the same headline on every page would make it pretty much useless.


Resizing the block would work:

h1 {
    overflow: hidden;
    width: 1px;
    height: 1px;
}


A full article in this matter is explained here https://www.paciellogroup.com/blog/2012/05/html5-accessibility-chops-hidden-and-aria-hidden/ So , when i work i use this code to support screen reader as well as hide some h1's and use pictures instead of it like (logo)

.offscreen{
  position: absolute;
  clip: rect(1px 1px 1px 1px); /* for Internet Explorer */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0;
  border: 0;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

to find more follow the link

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜