文章首发于个人博客: 我的博客 SEO 优化(2):站内优化对于搜索引擎原理不清楚的能够看第一篇文章:我的博客 SEO 优化(1):搜索引擎原理介绍html
SEO 优化能够分为站内优化和站外优化,而站内优化又分为:网站结构优化和网站页面优化。从 SEO 角度来看,作网站结构优化的目的在于:前端
网站结构优化简单归纳有下面几个要素:web
物理结构指的就是网站真实目录及文件所在的位置决定的结构。通常来讲,比较合理的两种物理结构是扁平式和树形结构。扁平式就是全部的页面都放在一级,通常来讲,这种方式只适合页面数量少的网站。更多的都是采用树形结构的方式。好比利用 hexo 构建的博客就是采用树形结构:segmentfault
连接结构指的是网站内部页面的连接所造成的结构。连接结构一般也是树形结构:api
H 表明着网站首页。C1 和 C2 表明着网站的分类首页。P1~4 则是具体的每一个页面。这只是演示的结构,实际的结构会比这个更加复杂。服务器
对于搜索引擎来讲,连接结构会比物理结构来得更有意义。在上一篇 我的博客 SEO 优化(1):搜索引擎原理介绍 中有介绍到,与首页点击距离越近的页面被 spider 爬行的几率也大,即权重越高。这里的点击距离指的就是连接结构的距离。好比一样是属于第三层级的 P3 页面,因为被首页直接连接指向,它的首页点击距离比其余页面来得短,所以会有更高的权重。hexo
设置合理的网站的连接结构有利于页面权重的分配。ide
清晰的导航系统是网站设计的重要目标。毕竟你确定不想你的用户进入你的网站首页后,面对混乱的导航,难以找到想到的页面。对于搜索引擎的 spider 也是如此,混乱的导航会下降 spider 爬行几率。工具
在设置网站导航应该注意下面几点:学习
搜索引擎一般会把子域名当成独立的站点。而目录就是该域名名下的一部分。好比http://api.chenhuichao.com
只是 http://www.chenhuichao.com
的一个子域名。http://www.chenhuichao.com/tags
就是一个目录。
所以对主域名所作的优化,对于子域名的网站而言,一样须要再作一遍。通常的网站和博客不须要子域名。只有大型的网站才会须要。
你若是你不想某些具体的页面不被收录,能够经过 robots 文件或者 Meta Robots 标签来指定,确保页面不会被搜索引擎收录。
该文件是搜索引擎爬行网站第一个访问的,用于告诉搜索引擎那些内容能够爬取,哪些内容禁止爬取。若是没有写规则或者没有 robots 文件的话,就是默认所有没有均可以爬取。
可是因为有的网站服务器设置问题,若是不存在 robots.txt 文件的时候,会返回 200 状态码及一些错误信息。可能会致使 spider 错误解读信息。因此建议,至少也要放一个空的 robots.txt 文件在网站根目录下。
robots 的格式以下:
User-agent: * Disallow: /
上面的文件表明禁止全部搜索引擎爬取全部内容。User-agent: *
表示运行全部的搜索引擎。咱们知道,不一样的搜索引擎的 spider 名称也不一样。在 User-agent
上你也能够设置名称,只容许特定的搜索引擎爬取。如 User-agent: Googlebot
Disallow
不添加任何路径就表示运行爬取任何内容。须要注意的是:若是要 Disallow 多个文件夹或者文件,须要写成多行。每一行 Disallow 只能写一个。
经过 <meta name="robots" content="noindex,nofollow">
也能够设置禁止搜索引擎索引本页的内容,禁止跟踪本页的连接。其中 content 的参数有:
每一个参数中间须要已逗号隔开。
格式以下:
<a href="" rel="nofollow">nofollow</follow>
nofollow 标签是由 Google 领头创新的一个“反垃圾连接”的标签,并被市场上其余主流搜索引擎普遍支持。nofollow 是 a 标签的一个属性值。用于告诉搜索引擎不要追踪此连接,由于这个连接不是做者所信任的。这里的 nofollow 与上面说的 meta 标签上的 nofollow 区别在于:a 标签上的 nofollow 是指单个连接,而 meta 上的 nofollow 是指整个页面全部的连接。
nofollow 一般用于博客评论、论坛帖子、社交网站、留言板等地方。由于这些地方的内容都是用户能够自由留下连接,站长并不知道这些连接是否可信。通过测试发现,你在 segmentfault 或者掘金发表文章时,文章的外部连接都会加上 rel="nofollow"
。
同时对于网站内部一些重复内容的页面或者是一些无需被收录的连接均可以加上该标签,能够防止网站权重浪费。好比像联系咱们、隐私政策等页面,就可使用 nofollow 标签了。
咱们都知道,对于动态页面对应 spider 爬取是不友好的。所以须要将 URL 静态化才能更好的让 spider 爬取。
这点对于 hexo 博客来讲不成问题。毕竟自己都是静态博客,全部的页面都是 HTML 页面。
网址规范指的是尽可能使用惟一的 URL,而不要使用多个 URL。好比下面的 url 虽然访问都是一样的内容,可是搜索引擎会把他们当作不一样的页面
复制内容也称重复内容,指的是多个 URL 的内容相同或者很是类似。复制内容既可能发生在同一网站内,也可能发生在不一样网站上。
若是一个网站的复制内容过多的话,会带来害处。一是有可能使搜索引擎对网站的质量产生怀疑,致使惩罚。另一种状况就是,同一个站内的复制内容过多的话,会分散权重。
那么该如何消除复制内容?
不管站点的多少,网站地图都是须要的。网站地图有 HTML 和 XML 两种版本。
HTML 版本的网站地图就是一个页面列出网站的结构。而 XML 版本则是经过在根目录添加 sitemap.xml
文件。
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://chenhuichao.com/2018/04/13/seo/seo-search-engine-principle/</loc> <lastmod>2018-04-13T13:49:50.000Z</lastmod> <changefreg>monthly</changefreg> <priority>1</priority> </url> </urlset>
一个 XML 版本的网站地图是上面那样。其中的标签含义以下:
changefreg,可选的,页面更新频率
除了 url
和 loc
是必须以外,其余的标签都为可选,只是主动告诉搜索引擎页面的一些信息,具体仍是得根据搜索引擎本身的判断。
制做好网站地图后,须要主动告诉搜索引擎。有两种方式:主动在站长工具提交 sitemap、robots.txt 文件指明位置
好比 针对 Google 搜索引擎能够在 Google 网站站长 上提交。
另一种方式是在 robots.txt
文件中指出 sitemap.xml 的位置也能让搜索引擎知道网站地图的位置。
Sitemap: http://www.chenhuichao.com/sitemap.xml
一个网站的首页权重是最高的,接着是二级分类页面,与咱们前面提到的连接结构同样,也是成一个树结构。内部权限分配有几个原则:
锚文字对于内部权限分配也是很是重要的一个手段。这方面 维基百科绝对是作得最好的。
当访问的页面不存在时,须要一个专门的 404 页面。404 页面的设计须要注意几点:
404 页面与外链的一个小技巧
因为搜索引擎并不会平白无故得爬行一些不存在的缘由的。确定是有外部连接指向这些地址,好比别人的博客页面引用等,而原文可能你已经删除或者更换 url 了。因此咱们能够经过 Google 网站站长工具发现咱们网站存在的错误连接,将错误地址作 301 跳转到正确的页面或者直接在原本不存在的 URL 上新建一个页面,接收这些外部连接的权重。
网址页面优化能够从下面几个角度进行:
页面标题是页面优化最重要的因素。格式以下:
<title>我的博客 SEO</title>
在优化标题的时候须要注意:
|->
Description 标签用于说明网页的主体内容。格式以下:
<meta name="description" conent="seo学习笔记,经过学习seo对我的博客进行seo优化,以提升搜索引擎排名"
Description 标签的重要性要比标题低不少。用户在页面中并不会看到描述文字,只会在源文件和搜索结构列表中才能看到。可是搜索引擎并非只会提交描述标签文字显示在搜索结果列表的。有时候搜索引擎也会根据文章内容动态提取说明文字。
对于我的站点而言,描述标签最好是一句通顺的句子,若是不能的话,则宁肯不要。
目前 keyword 标签对 seo 已经没有任何影响了。
正文中的关键词涉及到两个概念:
因为如今词频和密度对于 SEO 影响不大,因此只要保持你的正文中出现 4~6 次关键词就能够了。千万不能堆砌关键词。
H 标签的重要性多是仅次与页面标签。H1->H6 的重要性依次下降。
因此建议在页面的 H1 和 H2 标签中混入关键词
对于前端攻城狮而言,这是个常规操做了。毕竟图片都是须要添加 ALT 文字的,用于在图片不显示的状况下显示 ALT 文字。图片 ALT 文字出现的关键词对页面相关性也有必定的影响。一样的,也不要在 ALT 上堆砌关键词。
内部连接对于爬行和收录具备很重要的意义。内部连接对页面关键词相关性也有影响,最主要的就是在内部连接中使用锚文字。
锚文字是告诉搜索引擎被连接页面主题内容的最重要依据之一。咱们有时候可能没法控制外部连接的锚文字,可是对于站内的内部连接锚文字咱们能够控制。不过有几点须要注意:
导出连接有可能会有两种状况:
毋庸置疑,保持更新能提升排名。毕竟页面更新率也是吸引 spider 返回抓取的因素之一。
经过上面的一些介绍,基本上把站内优化的基本要素覆盖了。虽然对于网站 SEO 而言,站外连接的优化意义要远远重要于站内优化,可是这并不意味着你不须要站内优化。只有把一些基本的站内优化细节作好,保持高质量的内容更新,才能吸引更多的用户。
因此下一篇文章就要介绍如何针对 hexo 主题进行 SEO 改造。