欢迎访问我的博客,祝码农同胞们早日走上人生巅峰,迎娶白富美~~~
最近用hexo搭建个人博客,但是去网上搜,搜什么都搜不到自己,这就很尴尬了,于是想到了seo优化,这里主要对google和baidu爬虫的优化
SEO(Search Engine Optimization):汉译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是:为网站提供生态式的自我营销解决方案,让其在行业内占据领先地位,获得品牌收益;SEO包含站外SEO和站内SEO两方面;为了从搜索引擎中获得更多的免费流量,从网站结构、内容建设方案、用户互动传播、页面等角度进行合理规划,还会使搜索引擎中显示的网站相关信息对用户来说更具有吸引力 =>百度百科
建议: 最好一步一测,反正我遇到的坑无数个,由于之前没有一步一测,导致到后来错到哪都不知道,或者开启服务命令,这样在本地站点根目会生成一个文件,就是你的错误日志,可以去查看,具体指令如下:
到站点目录下,开启命令面板
添加sitemap
首先给你的文章生成sitemap文件
然后在站点配置文件_config.yml中添加以下代码(这里我在参考资料《HEXO SEO 高级优化》这篇博客中看到的配置,但是在我的配置里一应用就报错,所以我的没用到,我给注释起来了,具体配置和报错信息如下:)
最后修改站点配置文件_config.yml
每次hexo g后都会在/public目录下生成sitemap.xml和baidusitemap.xml,这就是你的站点地图,这里需要将站点地图提交到
添加 文件
添加 文件到站点根目录文件夹下
这里可以参照我的:
登录百度站长平台,在用户中心 => 站点管理添加你的站点网址
配置完站点属性后,进入最后一步:验证网站。有三种方式:文件验证、HTML标签验证、CNAME验证,文件验证和CNAME验证都比较简单,也有相对应的帮助文本,在此我选择的是HTML标签验证。
- 在主题的_config.yml文件中,设置:baidu_site_verification: true,如果没有该字段就手动添加。
- 在themes/next/layout/_partials/head.swig文件中添加下列代码
- 配置好后,重新发布站点,在百度站长页面完成验证。
百度链接提交
链接提交工具是网站主动向百度搜索推送数据的工具,本工具可缩短爬虫发现网站链接时间,网站时效性内容建议使用链接提交工具,实时向搜索推送数据。本工具可加快爬虫抓取速度,无法解决网站内容是否收录问题
主动推送
最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
- 安装百度链接提交插件
- 设置deploye
自动推送
是轻量级链接提交组件,将自动推送的JS代码放置在站点每一个页面源代码中,当页面被访问时,页面链接会自动推送给百度,有利于新页面更快被百度发现。。
- 在主题配置文件将baidu_push设置为true
- 在路径themes extlayout_scripts下创建baidu_push.swig 文件,文件内容如下
sitemap
这里将之前生成的sitemap文件提交到百度站长
手动提交
如果您不想通过程序提交,那么可以采用此种方式,手动将链接提交给百度。
手动提交方式比较简单,按照官方提示就会使用 - -(这种方式确实好用,方便)
进行这个之前,首先友情提示下大佬们,最好开个vpn用,因为很多涉及谷歌服务,我这里用的是,网上有很多,可以去找,也能用
打开 Google Search Console,添加博客地址。并进行相关验证,根据提示即可完成认证,认证成功如下:
认证方法其实这里方法和百度的类似,也有三种,我用的是直接下载文件,放到我的站点source目录下,然后我在git命令面板里输入以下指令(下面将这一套指令简称为更新并同步文件指令)
之后,我去google认证,发现并不能验证成功,后来去_config.yml下添加了一句代码,和百度的类似
这样就验证成功了,再去看看,验证成功吧的界面如下(这里用的是参考文档里验证成功的图片,其实都一样,下面发参考文档链接)
验证通过后点进入控制台测试文件,没有错误和警告即可
提交 sitemap.xml 文件,点击右上角输入 进行测试,测试无误后再提交文件
验证和验证通过,抓取网页,我这里给和都加进去了,虽然不知道是不是提交一个就可以了…..
- 输入框留空表示抓取首页,填入 about 表示抓取关于页面,抓取完成后,抓取因为验证原因,可能会有几种状态:完成、部分完成和已重定向等,直接提交就可以。
验证站点是否被收录
- 谷歌中输入:site:yousite,会有提示:(抓取需要时间。等几分钟)
以上就完成了百度和谷歌的搜索引擎抓取站点的功能
seo搜索引擎优化认为,网站的最佳结构是用户从首页点击三次就可以到达任何一个页面,但是我们使用hexo编译的站点打开文章的url是:sitename/year/mounth/day/title四层的结构,这样的url结构很不利于seo,爬虫就会经常爬不到我们的文章,于是,我们可以将url直接改成sitename/title的形式,并且title最好是用英文,在根目录的配置文件下修改permalink如下:
SEO最重要的是你的标题,一般搜索都是搜索你的标题。
更改index.swig文件(your-hexo-site hemes extlayout);
将下面这段代码:
改成:
这时候你的首页会更符合网站名称 - 网站描述这习惯。
进阶,做了seo优化,把关键词也显示在title标题里,可改成:
注意:别堆砌关键字,整个标题一般不超过80个字符,可以通过chinaz的seo综合查询检查。
搜索引擎除了主要抓取标题外,页面的关键词和描述也会抓取。
在scaffoldspost.md中添加如下代码,用于生成的文章中添加关键字和描述。
在 hemes extlayout_partialshead.swig有如下代码,用于生成文章的keywords。暂时还没找到生成description的位置。
然后在 hemes extlayout_macropost.swig中找到这个位置:
将以下代码去掉:
否则首页的文章摘要就会变成文章的description。
举个例子:
给非友情链接的出站链接添加 “nofollow” 标签,nofollow标签是由谷歌领头创新的一个“反垃圾链接”的标签,并被百度、yahoo等各大搜索引擎广泛支持,引用nofollow标签的目的是:用于指示搜索引擎不要追踪(即抓取)网页上的带有nofollow属性的任何出站链接,以减少垃圾链接的分散网站权重。
以hexo的NexT主题为例,需要修改两处
一:找到footer.swig,路径在your-hexo-site hemes extlayout_partials,将下面代码
改成:
将下面代码:
改成:
二:修改sidebar.swig文件,路径在your-hexo-site hemes extlayout_macro,将下面代码
改成:
将下面代码:
改成:
安装nofollow插件
减少出站链接能够有效防止权重分散,hexo有很方便的自动为出站链接添加nofollow的插件。
该插件会将博客中的出站链接自动加上nofollow属性,例外请在站点配置文件_config.xml中添加如下字段
这样,例外的链接将不会被加上nofollow属性。
hexo博客next提供了seo优化选项,在主题配置文件_config.yml中有个选项是seo,默认是false,改成true即开启了seo优化,会进行一些seo优化,如改变博文title等,然后相同文件下有个关键字选项keywords,填充上,写博文时最好每篇博文都加上keywords。
我用的是next的主题,把该主题的_config.yml的默认keyword改成你的网址关键词
因为hexo生成的文件是静态html,里面占用了大量的空白符。使用gulp进行压缩接口提高访问速度并且降低内存。
使用命令
在hexo blog文件夹下创建gulpfile.js:
在根目录下的package.json文件中生成写入scripts:
这样每次输入npm run build就会自动清理上次生成的文件,然后生成新的文件,最后压缩文件。
这里就真正的涉及到SEO的相关知识了,对你的文章的结构,描述,关键词进行优化。
title优化
搜索引擎在抓取网页时,最先读取的就是网页标题,所以title是否正确设置极其重要。title一般不超过80个字符,而且词语间要用英文“-”隔开,因为计算机只对英语的敏感性较高,对汉语的敏感性不高。
注意点:
- 首页title写法:首页的title写法格式一般是“总标题-特别重要的关键词或者一句话含有特别重要关键词的描述”。注意这里的“-”是英文,要问我为什么呢?这个因为互联网不是我们国内开发的,汉语不是标准,计算机只对英语敏感性较高,而对汉语敏感性不太高。
- 栏目页title写法:栏目页title的写法有两种,关键词名称命名写法是“栏目名称-总名称”,非关键词命名写法是:“栏目名称 栏目关键词-总名称”。
- 分类列表页的title写法:用关键词为这个栏目起名,然后按照下列顺序填写便可了“分类列表页名称-栏目名称-总名称”。
注意事项:
- 每个标题应该是根据当前内容设置的独特不重复的。
- 字数限制。不能太长,要不然搜索引擎结果列表会显示不全。最好不超过 25 个中文字。最好是在 10~20 之间。
- 切勿堆砌关键词。这是很多人常犯的错误
- 关键词最好出现在最前面
- 标题有吸引力。毕竟有吸引力的标题才能让用户点击
- 连词符的使用。可以使用 |->
- 不要使用没有意义的句子
keywords优化
主要作用是告诉搜索引擎,这个网站内容是什么。因为,好多站长在keywords堆砌关键词,所以好多搜索引擎不太重视keywords了。建议大家还是认真填写keywords,有的搜索引擎还是很重视的,由于现在词频和密度对于 SEO 影响不大,所以只要保持你的正文中出现 4~6 次关键词就可以了。千万不能堆砌关键词。
注意点:
- 首页keywords写法:首页keywords按照选定的栏目名称,在首页的keywords中加入总名称、栏目名称和一两个关键词。
- 栏目keywords写法:栏目的keywords其栏目下所有分类列表的名称列出,加上栏目关键字,写法是“栏目名称,栏目关键字,栏目分类列表名称”
- 分类列表页keywords写法:将你这个栏目中的主要关键字写入。
Description优化
功能让搜索引擎是判断整个页面内容的,当中要写入的内容是你页面内容的简介。description一般不超过100个字符。对于个人站点而言,描述标签最好是一句通顺的句子,如果不能的话,则宁可不要。
注意点:
- 首页description写法:description的写法就是将首页的标题、关键词和一些特殊栏目的内容融合到里面,写成简单的介绍形式,不要只写关键词。
- 栏目description写法:将栏目的标题、关键字、分类列表名称,尽量的写入description中,仍是尽量写成介绍形式。
- 分类description写法:是将你这个栏目中的主要关键字写入。
H标签优化
H 标签的重要性可能是仅次与页面标签。H1->H6 的重要性依次降低。
所以建议在页面的 H1 和 H2 标签中混入关键词
图片 ALT 文字优化
插入图片的时候会提示输入文字,这个不能敷衍。图片 ALT 文字出现的关键词对页面相关性也有一定的影响。同样的,也不要在 ALT 上堆砌关键词。
内部链接及锚文字优化
内部链接对于爬行和收录具有很重要的意义。内部链接对页面关键词相关性也有影响,最主要的就是在内部链接中使用锚文字。
锚文字是告诉搜索引擎被链接页面主题内容的最重要依据之一。我们有时候可能无法控制外部链接的锚文字,但是对于站内的内部链接锚文字我们可以控制。不过有几点需要注意:
- 适当出现匹配关键词的锚文字
- 锚文字不能集中导航或者页尾,要分散在正文中
本文参考文档以下三篇
HEXO SEO 高级优化
Hexo Seo优化让你的博客在google搜索排名第一