Appearance
相关阅读:
- 《Google搜索质量指南》
- 《百度搜索质量指南》
- 《走进搜索引擎》
- 《这就是搜索引擎》
- 《SEO教程:搜索引擎优化入门与进阶(第3版)》
- ThoughtWorker 技术博客与SEO
概念
搜索基本上算是上网的必备技能了。大佬说写好代码需要两个软技能,一个是科学上网,一个就是科学搜索了,当然这是题外话,下面回到正题。
搜索引擎优化(Search Engine Optimization,简称SEO
)指的是利用搜索引擎的搜索规则来提高目的网站的搜索排名,排名靠前的网站被用户访问的概率会大很多。
我最常用的两个搜索引擎是百度和谷歌,前者用来搜索生活中的一些问题,比如地图、公交啥的;后者用来解决工作中遇见的编程问题。
一般来讲,我们查询搜索结果一般只浏览第一页的第一屏的条目,如果找到了我们需要的结果,后面的内容我们根本不会去查看。作为用户而言这是理所应当的,但是作为站长或者是业务需求而言,我们都希望用户能够访问自己的站点。
整个SEO的关键围绕着如何提高网站在搜索引擎结果的排名次序进行。针对国内的网站来讲,一般着重考虑的是百度排名。
SEO是增加站点访问流量一个十分重要的方案,尽管一般会有专人负责SEO的优化处理工作,但是其处理手段往往需要前端甚至后端的配合。
优化思路
在之前负责协助SEO专员工作的时候,主要从两个方面进行处理。
- 网站结构布局优化:尽量简单、开门见山,提倡扁平化结构
- 采用语义化的HTML标签,符合W3C规范:语义化代码让搜索引擎容易理解网页
- TDK分配,title,description,keywords
- 重要内容HTML代码放在最前:搜索引擎抓取HTML顺序是从上到下,有的搜索引擎对抓取长度有限制,保证重要内容一定会被抓取
- 图片alt,链接title
- 交换友情链接增加反链(反链数就是指从别的网站导入到某网站的链接数量);非友链的外链的添加nofollow属性,防止爬虫意外跳出站点
- robots.txt,sitemap.xml
- 少用iframe:搜索引擎不会抓取iframe中的内容
- 提高网站速度:网站速度是搜索引擎排序的一个重要指标
内部优化
主要包括
TDK
优化,即精心设置关键字(keywords
)、描述(description
)和标题(title
),向搜索引擎描述当前网站和页面的具体内容- 标题是被收录的一个很重要的因素,参考其他门户网站,可以在标题中嵌入关键字
- 网站内容优化,内容与关键字的对应,适当增加关键字的密度;此外还要控制网站内容的更新频率
- URL链接优化,可以在链接中携带一些重要的关键字
- 把URL优化成如同
www.xxx.com/a/b/c
目录结构的url,它是爬虫最喜欢的形态 - 之前听过SEO专员的建议,将路径从
/novel/1234
调整为了/novel-1234
。
- 把URL优化成如同
- 设置合理的
Robot.txt
,一个正常的爬虫会首先读取该文件的配置,然后决定爬取哪些目录和页面 - 生成针对搜索引擎友好的网站地图,并在页面上提供相关的入口
前端代码优化
主要包括
- 标签语义化,减少页面布局和结构的复杂程度,尽量保持扁平化的目录和链接
- 利用布局,将重要内容的信息放在前面,尽量避免使用JS输出内容
- 提供导航组件,如有必要可使用面包屑导航,方便用户和爬虫了解网站整体结构
- 图片上加
alt
和title
、链接上加title
,主要灵活使用nofollow
避免爬虫离开当前网站 - 提升网站加载速度,减少HTTP请求,减少iframe的使用
- 动态网页伪静态技术
TDK
Open Graph Protocol
参考HTMl中Meta标签详解以及meta property=og标签含义
Open Graph Protocol
Meta Property=og标签是什么呢? og是一种新的HTTP头部标记,即Open Graph Protocol:
The Open Graph Protocol enables any web page to become a rich object in a social graph.+ n3 }
即这种协议可以让网页成为一个“富媒体对象”。 用了Meta Property=og标签,就是你同意了网页内容可以被其他社会化网站引用等,目前这种协议被SNS网站如Fackbook、renren采用。 SNS已经成为网络上的一大热门应用,优质的内容通过分享在好友间迅速传播。为了提高站外内容的传播效率,2010年F8会议上Facebook公布 了一套开放内容协议(Open Graph Protocol),任何网页只要遵守该协议,SNS就能从页面上提取最有效的信息并呈现给用户。
外部优化
参考:网站怎样增加高质量外链?
这里需要理清三个概念:友链、外链和反链
- 反链,即反向链接,指其他网页A链接到目标网页B的链接,无论是否同源,A页面上的这个链接对于B来讲都是反链,通常用于内部页面优化,提高网站的权重和排名
- 外链,指外部链接到我们网站的链接,外链接入的越多,爬虫越容易进入我们的网站。这是一个非常重要的概念,直接影响相关性、收录及权重等指标,
- 友链,与其他网站合作互换链接,可以简单的理解为增加外链的一种方式,高质量友链可以带来很大的流量
常见问题
SPA应用
前面提到的所有SEO方案,都是围绕着“网页内容能够被搜索引擎抓取”所展开的,这正是单页面应用SEO的最大问题:页面上的初始数据是空白的!而造成数据空白的原因是爬虫可能并不会运行脚本。
单页面的应用为了提高用户体验,数据都是异步请求,然后使用JavaScript进行渲染的,导致所得到的只是毫无意义的一堆模板代码
爬虫基本上不会访问URL片段标识符后面的资源。尝试着实现了Vue的SSR形式,效果还是比较明显的。
百度收录
百度快照更新缓慢,之前接收了一个网站是angularJS搭建的,使用SPA渲染,导致很长一段时间内百度搜录的权重很低,镜像更新比较缓慢
站点域名更换,收录了很多老域名的页面,需要服务器做重定向,处理办法是
- 服务器重定向
- 提交死链