为何要SEO,SEO的做用是什么?SEO(Search Engine Optimization)是为了让本身的IT产品优先能被搜索引擎找到,经过搜索引擎搜索推荐给网民浏览(特色就是精准找到用户群体)。正所谓,有用户就有钱。大多数的网民都是经过搜索引擎来浏览网站,因此,网站的推广全靠SEO。javascript
做为程序员,有必要求了解SEO吗?SEO不是应该由SEO专员去作吗?没错,确实是由SEO专员去作,可是,SEO专员会技术上的SEO,显然不会。因此程序员也必需要懂一些SEO技术。固然啦,了解SEO对程序员开发也是颇有帮助,让程序员知道web应用应该如何架构,如何更好开发符合网民的需求的web应用。css
如下是总结整理的SEO方法:html
标题与内容相关性java
搜索引擎通常是抓取网页里面一些关键字,而后显示在搜索引擎页面的字条上面。如图:css3
这是搜索引擎显示网站的网页标题与内容。程序员
点进网页,查看源码。web
网页的标题算法
网页的内容标题json
网页的内容canvas
说明了SEO优化中,网页的标题、内容标题与内容须要出现相同的关键字,最好保持一致性,切忌含糊不清,标题与内容不相符,如一些夸张的标题(本人痛恨标题党,下载的小电影竟然是葫芦娃)。
PS:页面中的标题加粗,斜体,字体颜色会对搜索引擎更加友好,提升网站的收录率。定下来以后不要随便修改标题内容。
内容排版
咱们通常的阅读习惯是由上到下,从左到右。(废话,但也有特例),因此通常来讲,内容应该是靠左边的。
能够经过SEO Browser来查看网页搜录状态
PS:不要出现一些“未命名”,“aaa”的命名字眼。
网站的目录结构
不只开发的时候须要分类目录,也须要SEO也是须要分类目录的。(即把image就放到image目录,js就放到js目录)目录分层不宜过多,尽量控制到3-5层之间,而且注意命名,不要随便起文件名,如abc1.html,no.html。尽量起与网页内容相关的名字。
网站的菜单结构
搜索引擎通常会针对主页进行收录,不会收录其余页,由于主页是网站权重最高的地方,因此主页上的菜单导航连接尤其重要。搜索引擎之因此能检索到其余页,主要是靠主页上的导航菜单连接、页面标题、网站地图。
PS:主页的主菜单不建议使用二级菜单(下拉菜单),切忌隐藏主菜单。
网站的内容结构
搜索引擎通常会根据页面内容中<h1>~<h6>标签进行内容分类。
PS:<h1>标签不建议屡次使用,是页面的主标题。
<h2>与<h3>标签能够屡次使用,是页面的副标题,但不能只有〈h3〉标签没有〈h2〉标签。
<h4><h5><h6>标签能够不用。
必定要有自定义的错误页面
站点要写一个自定义的错误页面,做用就是不只引导用户浏览本身的网站,并且要引导搜索引擎抓取网站数据,不写404错误页面的话,也会阻碍搜索引擎的收录。
添加反向连接
反向连接数量多会提升本站的排名, 反向连接包括友情连接、博客连接、留言簿。
做用就是一个利于搜索引擎抓取, 二是从其余网站引流本身网站。(典型例子:知乎的各类大v回答都会留下各类连接)。
补充: 出站连接指本站访问外站。(https://www.cnblogs.com/sroot -> 友情连接 -> https://www.baidu.com )
入站连接指外站访问本站。(https://www.baidu.com -> 搜索blog -> https://www.cnblogs.com/sroot )
PS:友情连接注重质量与主题相关。
出站连接必定要新建窗口,缘由就是避免打开覆盖本身的网站,丢失网页流量。
记得在连接加上rel=nofollow属性。
使用https协议(http2协议)
使用https协议的网站提升了网站的安全性,避免运营商的劫持,保证SEO不受运营商劫持影响。(劫持的话会使网页重定向,跳到其余网站去)
使用数字证书(CA)
使用数字证书,提升网站的权威性与安全性。(有条件下就使用数字证书)
添加app mainfest配置
<link rel="manifest" href="/manifest.json">
一份网站清单,利于移动端生成桌面图标连接。(实验性的seo手段)
设置meta属性
<meta name="description" content="" />,
<meta name="keywords" content="" />,
<meta name="robots" content="all" />,
<meta property="og:XXXX" content="" />(赞成你的网页在sns网站引用推广)
更多meta属性请参考w3c文档,各大搜索引擎的meta属性
添加alt属性与title属性
这种作法利于图片SEO,(即在百度图片搜索的时候,会找到本身网站上的图片,经过点击图片连接跳转到本身网站)
页面避免过多js代码
搜索引擎对javascript是很是不友好的,因此有些界面特效能用css去实现就使用css去实现,避免过多javascript代码。这是为何js放在html底部的另外一个缘由。
建立sitemap
生成一个网页的路径的地图,让搜索引擎了解站点的网页路径。(相似于公园的平面地图)
建立robots.txt
生成一个robots协议文件,让搜索引擎能抓取什么样的页面,不能抓取什么样的页面。
使用一些站长工具(如:谷歌分析)
根据数据分析出如何精准寻求目标用户,查看网站排名状况,防盗链。
内容要以原创为主
下降网站页面的类似度(搜索引擎也不喜欢),转载需谨慎(有法律与金钱风险)。
不要把文字图片化(把文字作成图片)
搜索引擎不会光凭title属性或者alt属性来抓取网页的内容,因此不要把文字图片化。(更重要是影响用户体验)
主动提交网页到各大搜索引擎
主动提交网站,也是SEO不可缺乏的一个步骤。
网页禁止空连接
空连接会致使搜索引擎没法抓取对应的页面,从而影响收录。
网页使用绝对连接
避免搜索引擎泛指解析路径,误认为重复内容而降权。
关键字选取
了解网页核心关键字、拓展关键字,长尾关键字。(偶尔使用一下错别字关键字)
网页域名的选取
域名选取也是影响的SEO,切忌不要选取一些(如:www.smiqwjsq.com)毫无心义的域名,域名选取尽量有意义的。
显示日期
及时更新底部版权时间,文章内容显示时间,保持页面内容最新。(搜索引擎会根据时间抓取网页数据)
网站须要301重定向
防止网页改版后或者网址变更而减小网页权重,利于传递、继承网页权重。
PS:使用短连接来进行重定向,避免泛域名解析(如:qaz.com与www.qaz.com),不要使用302重定向。
生成RSS订阅源
有利于为用户提供实时订阅的功能。由于rss是一个xml文件,方便第三方抓取网站内容。(加快搜索引擎对网站的收录)
避免使用flash动画当首页过渡动画
搜索引擎是不会经过flash动画找到网站首页的。(如须要动画,请使用css3或者canvas动画来代替flash动画)
避免强制登录才能浏览页面
搜索引擎是不会抓取一些不公开的页面。(普通用户都没法直接浏览,况且搜索引擎呢)
避免url地址过于复杂
搜索引擎是不会收录过长的url地址或者带参数过多的url地址。
避免使用过多的子域名
搜索引擎是会防止别人使用子域名来增强网站权重。(好比:about.xxx.com等子域名)
页面静态化
搜索引擎通常抓取静态页面数据(url是固定的),不抓取动态页面数据(url是不固定的),因此要经过页面静态化来让搜索引擎收录。
两种方法:1、重写url地址(伪静态)
动态网址 www.xxx.com/xxx.jsp?id=10&class=sprot
分析:不利于seo 速度满,容易注入,拼接字符串。
伪静态网址 www.xxx.com/xxx-10-sprot.html 或者是 www.xxx.com/xxx/xxx
分析:利于seo,不容易注入,没法拼接字符串。
2、生成静态文件(真静态)
经过服务器生成静态文件 html/shtml
html------纯静态html文件
shtml------嵌入ssl指令的html文件(最为广泛)
总结,搜索引擎的算法日益更新,受多种因素影响网站排名,虽然有钱能够买排名(百度能够,谷歌不行),但也不必定都能排第一(事实,除非经过一些特殊手段)。所以,SEO是一门长期研究的技术。