针对Ghost CMS博客进行多方位SEO优化

好内容,好网页,还要搜索引擎友好

Posted by JennyL on 2017-12-19

Ghost博客本身集成了SEO的功能,如robots.txt, sitemap.xml, TDK(Title, Description, Keywords)。这篇文章会介绍如何修改使用,并最终提交给搜索引擎。

  1. 以上几个文件/字段 是做什么用的?
  2. 如何设置Ghost robots.txt?
  3. 如何修改 TDK(Title, Description, Keywords)?
  4. 如何使用sitemap.xml文件?

JennyL 使用的 Ghost 是0.11.2版本,搭建方法见早些时候的博客《使用Node CMS Ghost创建新闻发布网站&三级页面》

一、以上几个文件/字段 是做什么用的?

  • robots.txt 搜索引擎抓取文件,可以禁止部分目录被抓取。
  • sitemap.xml 告诉搜索引擎网站结构,方便Spider按条抓取。
  • TDK 页面html代码中<head>标签中的代码,告知搜索引擎页面内容。
    • Title 页面标题
    • Description 页面描述,摘要
    • Keywords 页面可被匹配的搜索关键词

二、修改Ghost博客的robots.txt文件

robots.txt 文件用于禁止搜索引擎抓取特定目录或页面,比如有个隐藏的静态页或活动邀请页面不需要被搜索引擎抓取收录,就可以将这个页面写在 robots 的 Disallow 配置中。0.11.2 版本的 Ghost 会在ghost/core/shared/目录自动生成robot.txt文件,只是比较简陋。只声明了/ghost/目录(后台入口)禁止抓取。上线后默认在网站根目录下,如 http://www.xx.com/robots.txt

1
2
3
User-agent: *
Sitemap: {{blog-url}}/sitemap.xml
Disallow: /ghost/

如果双十一,双十二抽奖页地址为/event-11-11/,/event-12-12/,且以/event-/开头,想要禁止所有搜索引擎抓取的话,在robots.txt文件下增加一行内容就可以了。

1
2
3
4
User-agent: *
Sitemap: {{blog-url}}/sitemap.xml
Disallow: /ghost/
Disallow: /event-*/

如果另外做了一套百度MIP页,想要仅允许百度蜘蛛抓取,禁止其他搜索引擎,可以如下这么写。示例参考自http://www.robotstxt.org/robotstxt.html To allow a single robot.

1
2
3
4
5
6
7
8
User-agent: Baiduspider
Disallow: /ghost/

User-agent: *
Disallow: /ghost/
Disallow: /mip/

Sitemap: {{blog-url}}/sitemap.xml

更多细节Robots.txt规范,可以参考Google的Robots.txt规范

三、如何修改 TDK(标题,摘要,关键词)

1. 修改关键词(keywords)

Ghost本身的配置未实现关键词的配置,在后台找不到类似的地方,只能通过模板代码修改,一处修改,所有页面生效。下面以casper默认模板为例,修改所有页面的关键词。

  1. 打开ghost/content/themes/casper/default.hbs文件,找到如下位置(第10行附近)

    1
    2
    3
    {{!-- Page Meta --}}
    <title>{{meta_title}}</title>
    <meta name="description" content="{{meta_description}}" />
  2. 增加一行title标签,多个关键词使用英文逗号分隔

    1
    2
    3
    4
    {{!-- Page Meta --}}
    <title>{{meta_title}}</title>
    <meta name="description" content="{{meta_description}}" />
    <meta name="keywords" content="前端开发,Web技术,Javascript" />
  3. 关键词修改完成
    由于default.hbs是所有页面的公用父模板,只需要修改者一处。在控制台 ghost serve 启动本地预览,就可以看到效果了。

2. 修改标题和摘要(Title & Description)

Ghost生成的页面可以简单概括为三级页面:首页-index,列表页-tag,内容页-post。每类页面的标题摘要需要配置方法类似,但不在同一个地方。接下来的配置不需要写代码,登录到网站后台即可 ( http://www.xx.com/ghost/ )。下面分别截图演示,包教包会。

首页:标题摘要

首页是整个网站的门面,也是搜索引擎重点抓取的对象。在General选项中设置

  1. 在左侧选择通用设置
  2. 修改博客标题和摘要

列表页:标题摘要

列表页即“Tag标签列表页”,可以在Tags选项里设置。

  1. 在左侧选择标签设置
  2. 新建tag,增加配置。这些配置主要用于页面显示
  3. 配置搜索引擎 meta 信息

内容页:标题摘要

  1. 在文章编辑页面右上角选择 设置
  2. 点击侧边栏的 Meta Data
  3. 配置搜索引擎 meta 信息

四、如何使用sitemap.xml文件提交给搜索引擎?

JennyL 对搜索引擎抓取和更新周期不是特别了解,但有一些感性的认识与大家分享:

互联网上的URL数以亿记,靠搜索引擎蜘蛛根据链接关系自动发现,是漫无目的且无穷无尽的。

但如果给Spider一个待字典,与亿万其它链接相比,抓取字典里的链接会更加准确高效。这也是为什么百度提供了站长平台让站长们提交链接。

所以,提吧~ 新建页面提,修改页面提,反正总比不提好。(描述如有不对,请指正)

百度站长平台链接提交专栏,可以提交sitemap。这也是Ghost sitemap的用武之地。

Ghost sitemap 跟robots.txt文件一样,位于页面的根目录,地址为:http://www.xx.com/sitemap.xml。复制地址,粘贴在文本框里,就可以把页面批量提交给百度了。

后记的啰嗦

JennyL之前一直是前端工程师的角色,最近才做了小站站长,对SEO相关内容也在学习中。这个博客还没加评论,如果需要交流,可以移步 github.io/issue 讨论。