SEO

Posted by liveipool on May 22, 2017

SEO

今天来到公司,突然画风一转,博爷叫我们对验证码系统进行SEO,下面是一些学习记录.
(以下内容参考自多个百度百科文章)
SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”。SEO是指通过对网站进行站内优化(网站结构调整、网站内容建设、网站代码优化等)和站外优化,以便更好的被搜索引擎搜录和拥有更好的网站排名。

关于SEO,严谨的定义如下:SEO是指在了解搜索引擎自然排名机制的基础之上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中关键词的自然排名,获得更多的展现量,吸引更多目标客户点击访问网站,从而达到互联网营销及品牌建设的目标。搜索引擎检索原则是不断更改的,检索原则的更改会直接导致网站关键字在搜索引擎上排名的变化,所以搜索引擎优化并非一劳永逸。

自然排名

自然排名,它是根据搜索引擎算法而获得排列结果,是一种比较通俗的叫法。当我们搜索某个关键词时,搜索引擎根据对与该关键词相关的网页分析的结果进行排列,然后把按算法认为某页面最符合(或说内容相关的)对该关键词的解释的页面展示在最前的位置。当然,这些都是你还没进行检索时就已经处理好的数据结果,搜索引擎只是对号入座似的把每条数据展示在你面前。

影响自然排名的两大方面:
1、关键词匹配度:关键词设置及分布,关键词标题及描述的设置等好几个因素决定;
2、网站综合因素:域名、空间、网站系统、网站内容质量、网站更新频率、链接等有好几十个因素。

自然排名是搜索引擎通过各种算法,推荐给用户的搜索需求的信息列表。现在各大搜索引擎的竞争,都是来自于如何能让自然排名的网页更准确地解决用户的搜索。所以,自然排名是搜索引擎存在的核心竞争力。

图片排名优化技巧

1、使用ALT标记。基本上大家都知道,为图片添加alt标记只要添加合理对优化排名很有帮助。
2、图片命名。图片命名很多SEO站长基本上都是忽略的,实际上通过合理的文件命名对SEO优化也起到明显 的效果。
3、外部链接引用图片。
4、为图片添加外部链接。
5、在图片底部标注图片描述内容。

引擎不优化的网站有以下特征:

1、网页中大量采用图片或者Flash等富媒体(Rich Media)形式,没有可以检索的文本信息,而SEO最基本的就是文章SEO和图片SEO;
2、网页没有标题,或者标题中没有包含有效的关键词;
3、网页正文中有效关键词比较少(最好自然而重点分布,不需要特别的堆砌关键词);
4、网站导航系统让搜索引擎“看不懂”;
5、大量动态网页影响搜索引擎检索;
6、没有其他被搜索引擎已经收录的网站提供的链接;
7、网站中充斥大量欺骗搜索引擎的垃圾信息,如“桥页(也叫门页,过渡页)”、颜色与背景色相同的文字;
8、网站中缺少原创的内容,完全照搬硬抄别人的内容等。

内部优化

(1)META标签优化:例如:TITLE,KEYWORDS,DESCRIPTION等的优化
(2)内部链接的优化,包括相关性链接(Tag标签),锚文本链接,各导航链接,及图片链接
(3)网站内容更新:每天保持站内的更新(主要是文章的更新等)
(4)代码压缩改进:例如:网站主页唯一性,网站内页链向主页,301,404等改进

外部优化

(1)外部链接类别:博客、论坛、B2B、新闻、分类信息、贴吧、问答、百科、社区、空间、微信、微博等相关信息网等尽量保持链接的多样性。
(2)外链组建:每天添加一定数量的外部链接,使关键词排名稳定提升。
(3)友链互换:与一些和你网站相关性比较高,整体质量比较好的网站交换友情链接,巩固稳定关键词排名。

网站结构优化

1、建立网站地图: 只要有可能,最好给网站建一个完整的网站地图sitemap。同时把网站地图的链接放在首页上,使搜索引擎能很方便的发现和抓取所有网页信息。
2、每个网页最多距离首页四次点击就能到达。
3、网站的导航系统最好使用文字链接。
4、网站导航中的链接文字应该准确描述栏目的内容。
5、整站的PR传递和流动。
6、网页的互相链接。

关键词选择

  • 使用百度推广助手中关键词工具进行选择适合推广的词;
  • 做调查来选取关键词;
  • 通过查看统计日志来选取关键词;
  • 长尾关键词 ;
  • 将关键词进行多重排列组合;
  • 尽量不要使用行业通用词;
  • 擅于利用地理位置;
  • 确定关键词的价值;
  • 长尾词的选择;
  • 关键词的时效性;
  • 分析竞争对手;
  • 有些词是从百度的相关搜索中过来的,而非用户搜索的关键词。

优化步骤

大体上,SEO优化主要分为8小步:
1、关键词分析(也叫关键词定位): 关键词关注量分析、竞争对手分析、关键词与网站相关性分析、关键词布置、关键词排名预测。
2、网站架构分析: 剔除网站架构不良设计、实现树状目录结构、网站导航与链接优化。
3、网站目录和页面优化: SEO不止是让网站首页在搜索引擎有好的排名,更重要的是让网站的每个页面都带来流量。
4、内容发布和链接布置: 搜索引擎喜欢有规律的网站内容更新,所以合理安排网站内容发布日程是SEO优化的重要技巧之一。链接布置则把整个网站有机地串联起来,让搜索引擎明白每个网页的重要性和关键词,实时的参考是第一点的关键词布置。友情链接战役也是这个时候展开。
5、与搜索引擎对话: 向各大搜索引擎登陆入口提交尚未收录站点。在搜索引擎看SEO的效果,通过site:站长们的域名,知道站点的收录和更新情况。通过domain:站长们的域名或者link:站长们的域名,知道站点的反向链接情况。更好的实现与搜索引擎对话,建议采用Google网站管理员工具。
6、建立网站地图SiteMap: 根据自己的网站结构,制作网站地图,让站长们的网站对搜索引擎更加友好化。让搜索引擎能过SiteMap就可以访问整个站点上的所有网页和栏目。
7、高质量的友情链接: 建立高质量的友情链接,对于seo优化来说,可以提高网站PR值以及网站的更新率,都是非常关键性的问题。
8、网站流量分析: 网站流量分析从SEO结果上指导下一步的SEO策略,同时对网站的用户体验优化也有指导意义。流量分析工具,建议采用分析工具Google Analytics分析工具和百度统计分析工具。

PR值

PR值全称为PageRank(网页级别),用来表现网页等级的一个标准,级别分别是0到10,是Google用于评测一个网页“重要性”的一种方法。

搜索引擎蜘蛛工作原理

搜索引擎蜘蛛是通过链接地址来寻找网页的。搜索引擎蜘蛛名称随搜索引擎的不同而不同。那它的原理是由一个起始链接开始抓取网页内容,同时也采集网页上的链接,并将这些链接作为它下一步抓取的链接地址,如此循环,直到达到某个停止条件后才会停止。停止条件的设定通常是以时间或是数量为依据,可以通过链接的层数来限制网络蜘蛛的爬取。

影响因素

有很多影响因素: 影响因素

SEO白帽

SEO白帽是一种公正的手法,是使用符合主流搜索引擎发行方针规定的SEO优化方法。一直被业内认为是最佳的SEO手法,它是在避免一切风险也避免了与搜索引擎发行方针发生任何的冲突,它也是SEOer从业者的最高职业道德标准。 因为搜索引擎是以文本为中心,许多有助于网页亲和力的同样手段同样便利于搜索引擎优化。这些方法包括优化图形内容、包括ALT属性、和增加文本说明。甚至Flash动画可于设计该页时包括替代性内容,这本来用来给访客无法阅读Flash的环境用的,来帮助优化。
这里是一些搜索引擎认为适当的方法:
在每页使用一个短、独特和相关的标题。
编辑网页,用与该页的主题。有关的具体术语替换隐晦的字眼。这有助于该站诉求的观众群,在搜索引擎上搜索而被正确导引至该站。
在该站点增加相当数量的原创内容。
使用合理大小、准确描述的汇标,而不过度使用关键字、惊叹号、或不相关标题术语。
确认所有页面可通过正常的链接来访问,而非只能通过Java、JavaScript或Adobe Flash应用程序访问。这可通过使用一个专属列出该站所有内容的网页达成(网站地图)
通过自然方式开发链结:Google不花功夫在这有点混淆不清的指南上。写封电子邮件给网站员,告诉他:您刚刚贴了一篇挺好的文章,并且请求链接,这种做法很可能为搜索引擎所认可。
参与其他网站的网络集团(译按:web ring指的是有相同主题的结盟站群)──只要其它网站是独立的、分享同样题目和可比较的质量。

SEO黑帽

笼统的说,所有使用作弊手段或可疑手段的,都可以称为黑帽SEO。比如说垃圾链接,隐藏网页,刷IP流量,桥页,关键词堆砌等等。SEO黑帽是一种不为搜索引擎所支持的违规行为,因为黑帽SEO挑战了行业道德底线,因此为被广大白帽SEO而所不齿。垃圾索引(Spamdexing)意指通过欺骗技术和滥用搜索算法来推销毫不相关、主要以商业为着眼的网页。许多搜索引擎管理员认为任何搜索引擎优化的形式,其目的用来改进网站的页排名者,都是垃圾索引。然而,随时间流逝,业界内公众舆论发展出哪些是哪些不是可接受的、促进某站的搜索引擎排名与流量结果的手段。

SEO灰帽

SEO灰帽是指介于白帽与黑帽之间的中间地带。对于白帽而言,会采取一些取巧的手法,这些行为因为不算违规,但同样也不遵守规则,是为灰色地带。它注重了优化的整体与局部的方方面面。SEO灰帽追求的是某种程度的中庸。SEO灰帽是白帽和黑帽手法的结合体,既考虑长期利益,也要考虑短期收益问题。

SPA SEO

SPA上的内容是通过动态AJAX请求来拿的,所以爬虫下来会拿到空白的内容,没有完整的html页面,不利于SEO.现在的一个说得较多的思想就是自己生成静态html页面来暴露给搜索引擎.
下面这个方案是通过nginx和phantom.js来实现的:SPA网站SEO完美解决方案

PreRender(Angular中常用来做SEO)就是预先渲染好HTML,并针对于爬虫返回特定的HTML。(PS:不过作为一个很有经验的SEO开发人员,我一点不喜欢这种作法。要知道Google有时候会模拟成真实的用户,不带有爬虫的那些参数和标志,去访问页面。如果你返回给Google的两个页面差异太大——可能是你忘记更新了频率,那么Google可能就会认为你在作弊。)

对于React来说,它本身有一个服务端渲染机制,这也是它脱颖而出的原因之一,下面是一些好的博客,这次的验证码系统SEO就参考这些来做:
React Server Side Rendering 解决 SPA 应用的 SEO 问题
react+redux教程(六)redux服务端渲染流程

SPA

关于SPA,开始我还一直理解错了,或者说是没有理解到最核心的原理.并不是说前端通过hash变化来进行页面的变化才是SPA,就算URL改变了,它也可能是SPA.它最核心的原理是说无论哪个页面,从服务器拿的入口文件都是一段很简单的html代码,然后通过ajax从服务端拿数据在前段进行页面的渲染并呈现,这才是SPA最核心的原理.所以说这对SEO很不友好就是因为搜索引擎们只能爬虫爬到那一段很简单的html代码.所以我们需要自己生成一份完整的静态html来让搜索引擎来爬时能拿到那个完整的html文件.

总结:优化的两个方向

所以根据我今天学习之后的理解,要对现在这个react+redux的验证码系统项目进行SEO,就需要从两个方向上来进行优化:

  1. 原生js上的优化,比如title中的关键词,meta标签,图片的alt,name属性等等,这个可优化的点较多,参考前文中说到的一些因素.
  2. react根据它的服务端渲染机制来进行优化,使搜索引擎在爬取验证码系统页面是能拿到完整的html页面文件.

明天的两个任务

  1. 找到一种模拟方法,模拟如百度,google等搜索引擎来爬我的网站时拿到的什么东西.或者自己写一个爬虫.
  2. 根据一些介绍react服务端渲染技术的教程,实现react服务端渲染,让搜索引擎爬虫时能拿到完整的html文件.

赞赏码.jpeg