我正在构建一个网页之间有很多类似css的网站。我已经决定一个好的方法是让css通过php函数(带参数)生成为字符串,并在我服务的每个页面中作为内部样式表输出。好处:
我还没有在其他任何地方看到这样做,所以我认为这可能是因为SEO。生成的内部样式表最大值约为15kb(在缩小样式表之前)。
我需要您对此方法的看法以及您对长内部样式表对SEO的影响的想法。
非常感谢。
答案 0 :(得分:4)
不是你问题的答案(这很有趣!),但你对内联CSS的大部分论据都是错误的。外部样式表始终是更好,更快的解决方案。
您可以通过在样式表的文件名中添加版本号来处理的第一点
第二点是没有意义的,因为外部文件被缓存,因此没有其他请求
出于同样的原因,第三点是没有意义的
缓存样式表后,第四点并不重要
第五点可以使用内联CSS仅对需要的属性进行排序 动态更新 - 通常只是整个CSS代码库的一小部分
第六点我不明白。
转到外部样式表。只需确保使用正确的缓存标头提供服务即可!
答案 1 :(得分:2)
与内联JavaScript的长块一样,它们会被忽略。
Bots看内容,而不是布局。如果您想更好地展示他们看到的内容,请尝试Lynx browser。
不幸的是,它们不会被缓存在用户的浏览器上,因为外部CSS和JS会使每个页面加载速度变慢。与每个页面的服务器相关的“css片段”相比,拥有一个大型外部样式表实际上更有效。
答案 2 :(得分:2)
假设“内部样式表”是指使用<style>
标记包含的内联CSS,我建议不要这样做。如果您使用外部样式表,访问者会在第一次请求时下载一次,然后将其缓存。通过将所有CSS内联包含在内,您可以为每个HTML请求添加页面权重。
虽然为当前页面提供CSS似乎更有效,或者将CSS分成许多不同的页面特定样式表;在实践中,通常最好只有一个样式表。提供此压缩文件并使用适当的过期标题几乎总是比替代标题更快。
关于SEO,机器人忽略了CSS,所以这不会有任何影响。如果你有这么多的CSS,它会大大减慢你的页面加载速度,理论上你可能会遇到问题,但是你需要一些非人的内联CSS才能解决这个问题。
答案 3 :(得分:1)
据我所知,您的CSS表在SEO中扮演的角色很小,更重要的是您的HTML标记和执行。
遵循'&lt;的顺序h1&gt; - &lt; h5&gt;'标题标签,附带'&lt; p>'标签代替'&lt;字体&gt;'或类似的方法会影响网络抓取工具识别网页内容并确定其优先级的能力。
虽然您可以使用CSS来隐藏您只想在搜索引擎和类似技术中出现的段落,但与HTML结构相比,它并不重要。
答案 4 :(得分:1)
您说的所有福利都适用。搜索引擎并不太关心CSS和javascript(当然,如果你的页面需要很长时间来包装和发送,这会影响,但我不认为是这种情况。)
之前我见过这种解决方案,但是一旦你可以使用媒体查询,人们往往会避免使用脚本服务,只编写一个外部样式表。我想你应该看看这个。
但是,我看到你正在尝试优化发送的CSS。这很好,但谈论所有床单的80k,让我觉得如果你没有使规则复杂化。
好吧,作为最后的意见,你可以缓存许多不同的回答,并在页面头部使用“规范”的东西。