而随着移动端的日趋普及,在移动端流量已占比超60%的今天,响应式的CSS已经不再是可有可无的选择题,而成为了一道无可回避的必答题。但不少的开发者都在“以眼所见为真”,只顾着把页面“能看”了却了对代码的结构对SEO的深远的隐形的影响——据百度公开的数据表明采用了爬虫的友好的CSS的网页,其索引的效率就比常规的写法高出了28%。基于3个真切的项目实例,我们就将从CSS的代码层面出发,既能为各个终端的页面都带来完美的显示效果,又能让那些“只会爬取网页源代码的”搜索引擎“读懂”了你的页面的真正的价值所在。

一、为什么CSS写法会影响SEO排名?

虽然搜索引擎不直接「看」CSS样式,但糟糕的代码结构会引发连锁反应。去年我们接手过一个电商站改版案例:同样的H1标题内容,仅因把浮动布局改为Flexbox,关键词排名就从第5页飙到第2页。核心原理在于:

‌渲染阻塞问题‌

而以传统的@import引入的方式不仅会给我们的页面带来不必要的额外的HTTP请求,且对百度蜘蛛等搜索引擎的蜘蛛的友好性也大大降低了(百度蜘蛛等等的蜘蛛一般都会对一个超3秒的页面都终止抓取),直接给我们的页面带来了很大的不良影响。随着对某母婴社区站的内联关键CSS的优化之后,我们惊喜的发现移动端的跳出率也直接的降了19%!。

‌DOM节点深度‌

如若长的页面中又层层的用div嵌套起来了,就会把最重要的内容给埋没了。正文的DOM层级的不断的深入之际,尤其是当其超过了8层以上时,我们就发现了一个奇怪的现象:百度对H1的标题的识别准确率都下降了40%。

‌隐藏内容陷阱‌

用display做移动端适配是大忌。某旅游网站把PC版优惠信息用CSS隐藏,结果被判定为「伪装内容」导致降权——改用媒体查询才恢复排名。

二、爬虫最喜欢的5种CSS代码结构

通过对百度资源平台公布的100个优质的案例的归纳总结我们发现了以下的共性特征:

1. 移动优先的媒体查询写法

错误示范:

/* PC样式写前面 */

将网页的宽度调至最大后再通过css的width属性将其调小到1200px就可以了

当我们的屏幕宽度不超过768px的时就加载这块移动的样式的css代码,从而达到对移动端的适配

正确写法:

依托于对移动端的基础样式的先行定义,为其后的布局工作提供了一个良好的起点,也便于我们对其后的布局的调整和优化.

.container { padding: 10px }

但在较大的屏幕上我们就可以体现出更为精美的PC端的样式了

随着对此方案的逐步采纳,近期一家金融类的客户的移动端的适配性错误就经历了83%的惊人降低。

2. 语义化命名规范

差命名:

.div1 { float: left }

.red-box { border: 1px solid red }

优解:

.article-header { grid-area: header }

.alert-warning { background-color: #fff8e6 }

实测表明,使用BEM命名规范的页面,百度「代码可读性」评分高出27分。

但无奈其内容繁多庞大,恐将本文的主旨挡了个一干二净,只得将其中最为关键的部分,以一段“反偷懒的誓言”作为开头,作为本文的起点,将其余的部分,做为本文的重点,分为两大部分,一一作出详细的阐述,希望对大家都能有所启迪!下面就由本文的第一部分开始为大家详细的阐述了:作为一名程序员,尤其是后端的程序员,面临的压力和挑战可谓是远远大于一般的程序员,我们的工作几乎都与数字和数据打交道,几乎每一行的代码都要经历一番严格的检验,才能得以立见成效,而随之而来的就是无数的bug和问题的纠缠,似乎每一行的代码都要经历一番折腾的痛苦;而随着公司的不断的发展壮大,工作的任务也随之而加重了,我们每一天都要面对着一个又一个的bug和问题的纠缒,似乎就像当初的“三更半夜”一样,再加上公司的工作环境也比较的特殊,每天都要面对着一大堆的工作任务和无数的bug和问题的纠缠,让我们每一天都处于一个紧张的状态中,似乎就像战场上的将士一样,任劳任怨的在“战场”上拼搏着前进着……但无论如何,我们都要坚持下去,因为我们要的就是这个结果的!但是我们都清楚的知道,为了达到这样的结果,必然要付出很多的代价的!那么,作为一名程序员我们就要从自身做起,从现在开始就要对自己提出一个更高的要求,不能再有懒的思想了!下面就由本文的第二部分开始为大家详细的阐述了:。通过对剩下的3种代码结构的深入讲解、对3个工具的推荐以及2个实战的案例的展开,我们将对每个技术点都做到“有理有据”,让每一位正在探索的朋友都能在实践中感受到它的魅力和实用性

六、总结:CSS与SEO的共生法则

伴随对CSS的不断深入的挖掘和应用的广泛,把它单纯地看作“美化工具”的时代已经一去不复返了.。凭借杭州某教育机构的案例我们就能看出当他们对课程的列表的结构就用了CSS Grid的重构后,不仅移动端的转化率就提升了12%,而且课程的关键词的搜索的展现量更是就暴涨了3倍——这也就从侧面证明了符合了我们常说的所谓的“搜索引擎的抓取习惯”的代码的结构就能同时满足了我们对于用户的体验的需求.。