【发布时间】:2009-12-29 08:46:05
【问题描述】:
我在开发/优化网页时遇到了一个小问题。
我知道为图像添加 ALT 文本是件好事。我有一组 10 张小图片和每张图片的替代文本。请注意,迫切需要确保第一次访问者尽快看到该网站。
但我想,10 个 HTTP 请求?所以,我所做的是,将所有图像组合成一个图像并有 10 个 div 并设置背景图像和背景位置,以便它显示对用户相同,而实际上只有 1 个 HTTP 请求制作。我认为我说得对,10 个(不必要的)HTTP 请求代价高昂。
但我不能再提供 ALT 文本了!因为它不是图像。
我可以两全其美吗?
有一个优化的图像,因此只有 1 个请求,但在该图像中添加了某种文本(出于 SEO 和屏幕阅读器的原因)?
附:页面的设计太愚蠢了,没有实际的文字。我只是在尝试引入文本,以便搜索引擎能够阅读相关内容。我被赋予了做 SEO 的工作。所以我只是想遵循一些基本准则。可惜他们不让我碰设计本身。
编辑
我设置了<img> 标签本身的背景,而不是<div>。现在这是一个图像元素,我设置了 ALT 文本。然后我将src 属性设置为1x1 透明GIF。忽略了这种可能性,我觉得很愚蠢:D
【问题讨论】:
-
是否存在由 10 个 HTTP 请求引起的真正性能问题,或者这是因为您“认为它可以更快”而过早优化的情况?
-
在页面的 4 - 5 个地方减少 10 或 12 个这样的请求,加载时间缩短了 10 - 15 秒。我用 Firebug 的 Net Console 反复测试了这两种情况。总共消除了 40 个 HTTP 请求,加载时间减少了 10 - 15 秒。
-
... 10 到 15 秒?你使用什么样的网络和服务器? 2400波特调制解调器和C64??? ;)
-
是的。有了这样的加载时间,你就有了一个服务器问题。
-
实际下载时间并没有减少几秒!从第一个 URL 请求到页面加载完成,减少了很多时间。它包括查找、排队和所有这些东西。
标签: http image optimization seo