在几个教程中我发现,网站标题和网站描述对SEO非常重要。甚至一些人使用<h2>
获取网站标题,使用<h1>
获取网站描述,将搜索引擎的注意力吸引到网站上。
<header>
<div id="logo"><a href="#"><img src="images/logo.png" alt="Logo of the Company" title="Company Title"/></a></div>
<hgroup>
<h2 id="site-title">Site Title</h2>
<h1 id="site-description">Site Description</h1>
</hgroup>
</header>
选项I:但在某些网页中,我们看不到任何网站标题或说明,而是网站徽标。在这种情况下,设计师建议使用text-indent
来隐藏它们。
#site-title,
#site-description{
text-indent: -9999px;
}
它将通过从可见部分缩进'em来隐藏文本,因此搜索引擎将抓取它们并且它是SEO友好的。但问题是,他们占据了标题部分的空间。为了满足空间,我们需要将保证金用于以下项目,这对我来说不是一个好的解决方案。
选项II:除此之外,我们可以使用visibility:hidden
#site-title,
#site-description{
visibility: hidden;
}
我不知道它是否能够让抓取工具抓取这些文本,但同样的问题也在这里,它取而代之。
选项III:但唯一有用的是display: none
,它就像纯HTML评论一样(<!-- commented out -->
)
#site-title,
#site-description{
display: none;
}
但实际上,它只是消失了文本,我想即使是从爬行者的眼睛。所以,对我来说,它不是SEO友好的。
因此,选项I和II对于定位问题非常有用。
答案 0 :(得分:1)
使用CSS clip
Property是一个非常干净且无冲突的解决方案。
h1#site-title,
h2#site-description{
position: absolute;
clip: rect(1px 1px 1px 1px); /* IE7 */
clip: rect(1px, 1px, 1px, 1px);
}
CSS
clip
属性
clip
CSS属性定义元素的哪个部分可见。clip
属性仅适用于position:absolute
的元素。
浏览器支持:
答案 1 :(得分:0)
我认为display:none
不会从源代码中消失您的代码。它仍然存在,搜索引擎仍将抓取它们。
尝试检查元素(Chrome开发者工具或Firebug)或您网页的查看来源,您会看到! CSS永远不会影响页面上呈现的HTML 的类型!它只会影响它的外观。因此,请放松并使用display:none
属性。
答案 2 :(得分:0)
所以,在这里我得到了正确答案:
https://webmasters.stackexchange.com/questions/1377/how-bad-is-it-to-use-display-none-in-css
我们可以使用display:none;
,搜索引擎会抓取它,所以没有SEO的紧张感。
但注意: 请勿使用display: none;
进行垃圾邮件。 :) 强>
谢谢@ akash4eva。