如今,通常使用<img>标签完成的工作现在是通过使用CSS'sprite'和偏移量设置CSS背景图像的<div>之类的东西完成的。对于SEO而言,实际上我们失去了alt属性(由Google索引),并停留在“ title”属性(据我所知未被索引)。

这是明显的劣势?

#1 楼

出于这个原因,CSS精灵仅应用于装饰元素-将<img>用于特定于页面的元素,将精灵用于与所呈现内容无关的装饰元素。

如果需要用于导航项的按钮图像,将其作为背景添加到导航链接上而不是像这样的标记更加有意义:

<a href="/">
  <img src="/images/home.gif" title="Home" alt="Home Button" /> 
  Home
</a>


(即图片的内容比页面上的文本内容多余,或者最好将图片的内容描述为“装饰”)

作为将站点模板元素分离为sprite的额外好处,您以后可以通过更改样式表来更改网站的“外观”,而不是覆盖旧的设计图像文件或重写所有HTML标记。

评论


我同意您的观点,并补充说Sprite的主要目的/优点之一是它们具有更快的加载速度,可以提高站点的整体性能。应该提高页面加载速度,以帮助提高SEO排名,所以我认为这是正确工作的正确工具。

–digit1001
2010-12-28 15:59

@ digit1001-像googlebot这样的机器人会真正加载与页面相关的所有资源吗?

–UpTheCreek
2011年5月5日,11:14

#2 楼

您可以将<img>标签与CSS精灵一起使用:

<img alt="description of image" src="images/sprite.png" id="someSprite" />


sprite.png可以是压缩为<50个字节的1x1透明像素。

样式:

#someSprite {

     width:74px;
     height:38px;
     background:url('/images/sprites.png') left 0px top 84px;

}


这样,您可以从Sprite获得性能优化-并保留alt标签。

评论


我非常确定,如果Google可以组成一个具有复杂流程的搜索引擎来对30万亿个页面进行排名和索引,它就能检测到1x1像素的alt断言。

– Ricky Boyce
16年2月2日,12:53

@Ricky B不是他们是否会检测到它,而是如果他们奇怪地对您进行惩罚,这很奇怪,因为他们会因减少页面加载时间和请求数量而对您进行惩罚,这是他们倾向于鼓励的事情: )

–JohnnyFaldo
16-2-2在17:31

#3 楼

alt标签被高估了。我认为有太多人会竭尽所能来确保页面上带有alt标签。我不相信没有一个人会伤害您。只需确定是否分配了img标签,就可以为其分配一个alt标签。每个图像请求或HTTP请求,该网站都将变慢。 CSS Sprite的目的是帮助最大程度地减少这些请求并加快页面加载时间。

评论


屏幕阅读器也会使用替代文本。我认为如果您是盲人,您可能会对替代文字有不同的看法。

– Mike G
13年4月1日于16:05

#4 楼

我倾向于将精灵用作装饰性图标,它们与整个页面无关,因此对于SEO而言,这种情况很好。您拥有的所有相同尺寸且不会影响页面含义的图像集都是CSS Sprite的理想选择。