Jekyll seo

Jekyll liquidでSEO対策(noindex・canonical・keywords)

Rubyプログラミング言語のブログフレームワークJekyllにおいて、Jekyll liquidで検索エンジン対策・SEO対策として、noindex、canonical、keywordsなどを実装したのでそれについて方法を紹介します。 最初は、jekyll-seo-tagっていうプラグインで実装しようと…HTMLのSEOメタタグ…

Shou Arisaka
1 分で読める
2018年10月31日

Rubyプログラミング言語のブログフレームワークJekyllにおいて、Jekyll liquidで検索エンジン対策・SEO対策として、noindex、canonical、keywordsなどを実装したのでそれについて方法を紹介します。

最初は、jekyll-seo-tagっていうプラグインで実装しようと思ってたんですが、自分で書いたほうが拡張性というか自由度があるので自分で書いてみました。 jekyll-seo-tagはWordPressでいうhookみたいなのがないようなので、例えばタイトルこそtitle=falseを指定することもできますが、調べるとcanonicalとかはそういうのがないみたいです。 つまり、canonicalが指定されていればそれを優先し、指定されていなければデフォルトを使用、というようなことが出来ないんですね。

HTMLのSEOメタタグってのは基本最初に定義したものが優先されるので、複数定義されているってのは良くないんですね。 ということで実装しました。

こんな感じでできるようにしました。

---
layout: post
title:  "test"
date:   2018-01-01 11:00:09 +0900
categories: blog
index: false
follow: true
keywords: hoge,fuga
canonical_url: 'https://example.com/'
---

機能

  • index: falseを指定するとnoindexにできる
  • follow: falseを指定するとnofollowにできる
  • keywordsを指定するとメタキーワードをデフォルトより優先して設定できる
  • canonical_urlを指定するとデフォルトより優先して設定できる
ソースコード ```liquid {% if page.title %}{% capture new_title %}{{ page.title }} << YAYB {% endcapture %}{{ new_title }}{% else %}{{ site.title }}{% endif %}

{% if page.keywords %} {% else %} {% endif %}

{% if page.canonical_url %} {% else %} {% endif %}

ちなみに<code>description</code>も少し弄っています。タイトルを先頭にくっつけるようにしています。

この記事をシェア

Shou Arisaka 2018年10月31日

🔗 リンクをコピー