Skip to content

相关阅读:

  • 《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
  • 设置合理的Robot.txt,一个正常的爬虫会首先读取该文件的配置,然后决定爬取哪些目录和页面
  • 生成针对搜索引擎友好的网站地图,并在页面上提供相关的入口

前端代码优化

主要包括

  • 标签语义化,减少页面布局和结构的复杂程度,尽量保持扁平化的目录和链接
  • 利用布局,将重要内容的信息放在前面,尽量避免使用JS输出内容
  • 提供导航组件,如有必要可使用面包屑导航,方便用户和爬虫了解网站整体结构
  • 图片上加alttitle、链接上加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渲染,导致很长一段时间内百度搜录的权重很低,镜像更新比较缓慢

  • 站点域名更换,收录了很多老域名的页面,需要服务器做重定向,处理办法是

    • 服务器重定向
    • 提交死链