前言 {#前言}
当我们搭建一个网站之后,如果没有做一些相关的搜索引擎SEO优化,那么我们的网站是很难获取来自搜索引擎的流量,用户很难在搜索引擎上搜索到我们网站的内容,所以接下来我们要为Hexo网站做一些简单的搜索优化。
将网站链接提交到百度 {#将网站链接提交到百度}
有三种验证方式,这里选择HTML标签验证,在themes\next\layout\_partials\head.swing
中添加验证代码:
|-----------|---------------------------------------------------------------------------|
| 1
| <meta name="baidu-site-verification" content="code-iqJOekpmDl" />
|
然后点击完成验证,通过即可。同理将站点链接也提交到Google和搜狗,此处略过。
给站点添加sitemap {#给站点添加sitemap}
-
Hexo安装sitemap
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------| |
1 2
|npm install hexo-generator-sitemap --save #sitemap.xml适合提交给谷歌搜素引擎 npm install hexo-generator-baidu-sitemap --save #baidusitemap.xml适合提交百度搜索引擎
| -
在站点配置文件
_config.yml
中添加以下代码|-------------------|---------------------------------------------------------------------------------------| |
1 2 3 4 5
|# 自动生成sitemap sitemap: path: sitemap.xml baidusitemap: path: baidusitemap.xml
| -
修改站点配置文件
_config.yml
|---------------|-------------------------------------------------------------------------------------------------------------------------------------------| |
1 2 3
|# URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: http://yoursite
| -
Hexo编译
|-------------|---------------------------| |
1 2
|hexo clean hexo g
|会在
/public
目录下生成sitemap.xml
和baidusitemap.xml
,这就是你的站点地图。 -
提交sitemap到站长平台
百度站长平台sitemap提交是邀请制的,并没有对所有站长开放,只有网站到一定等级百度才会在你后台开放提交sitemap的入口。
添加蜘蛛协议robots.txt {#添加蜘蛛协议robots-txt}
-
新建robots.txt文件,添加以下文件内容,把robots.txt放在hexo站点的source文件下。
|------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|# hexo robots.txt User-agent: * Allow: / Allow: /archives/ Disallow: /vendors/ Disallow: /js/ Disallow: /css/ Disallow: /fonts/ Disallow: /vendors/ Disallow: /fancybox/ Sitemap: https://zsyyblog.com/sitemap.xml Sitemap: https://zsyyblog.com/baidusitemap.xml
| -
在百度站长平台监测并更新Robots
提示检测到您更新了Robots文件即成功。
给出站链接添加 "nofollow" 标签 {#给出站链接添加-“nofollow”-标签}
nofollow
标签是由谷歌领头创新的一个"反垃圾链接"的标签,并被百度、yahoo等各大搜索引擎广泛支持,引用nofollow
标签的目的是:用于指示搜索引擎不要追踪(即抓取)网页上的带有nofollow
属性的任何出站链接,以减少垃圾链接的分散网站权重。
以hexo的NexT主题为例,需要修改两处
-
找到footer.swig,路径在
your-hexo-site\themes\next\layout\_partials
,将下面代码|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
1 2 3 4 5 6 7 8
|{{ __('footer.powered', '<a class="theme-link" href="http://hexo.io">Hexo</a>') }} 改成 {{ __('footer.powered', '<a class="theme-link" href="http://hexo.io" rel="external nofollow">Hexo</a>') }} 将下面代码 <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next"> 改成 <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next" rel="external nofollow">
| -
修改sidebar.swig文件,路径在your-hexo-site\themes\next\layout_macro,将下面代码
|-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
1 2 3 4 5 6 7 8
|<a href="{{ link }}" target="_blank">{{ name }}</a> 改成 <a href="{{ link }}" target="_blank" rel="external nofollow">{{ name }}</a> 将下面代码 <a href="http://creativecommons.org/licenses/{{ theme.creative_commons }}/4.0" class="cc-opacity" target="_blank"> 改成 <a href="http://creativecommons.org/licenses/{{ theme.creative_commons }}/4.0" class="cc-opacity" target="_blank" rel="external nofollow">
|可以使用chinaz站长工具进行各项检测。
keywords 和 description {#keywords-和-description}
在\scaffolds\post.md
中添加如下代码,用于生成的文章中添加关键字和描述。
|-------------|--------------------------------|
| 1 2
| keywords: description:
|
在\themes\next\layout\_partials\head.swig
有如下代码,用于生成文章的keywords。暂时还没找到生成description的位置。
|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7
| {% if page.keywords %} <meta name="keywords" content="{{ page.keywords }}" /> {% elif page.tags and page.tags.length %} <meta name="keywords" content="{% for tag in page.tags %}{{ tag.name }},{% endfor %}" /> {% elif theme.keywords %} <meta name="keywords" content="{{ theme.keywords }}" /> {% endif %}
|
然后在\themes\next\layout_macro\post.swig中找到这个位置:
|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9
| {% if post.description %} 将以下代码去掉: {% if post.description %} {{ post.description }} <div class="post-more-link text-center"> <a class="btn" href="{{ url_for(post.path) }}"> {{ __('post.read_more') }} >> </a> </div>
|
否则首页的文章摘要就会变成文章的description。
首页title的优化 {#首页title的优化}
更改index.swig
文件,文件路径是your-hexo-site\themes\next\layout
,将下面代码
|---------------|----------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3
| {% block title %} {{ config.title }} {% endblock %} 改成 {% block title %} {{ config.title }} - {{ theme.description }} {% endblock %}
|
这时候你的首页标题会更符合网站名称 - 网站描述这习惯。
修改文章链接 {#修改文章链接}
HEXO默认的文章链接形式为domain/year/month/day/postname
,默认就是一个四级url,并且可能造成url过长,对搜索引擎是十分不友好的,我们可以改成 domain/postname
的形式。
编辑站点_config.yml
文件,修改其中的permalink
字段改为permalink: :title.html
即可。