概要

このBlogサイトにSEO対策を追加します。

file

手順

Gemfileにパッケージを追加

Gemfileを開き、以下の1行を追加します

gem 'jekyll-seo-tag'

Bundlerを使ってプラグインをインストール

ターミナルでプロジェクトのルートディレクトリに移動し、次のコマンドを実行してプラグインをインストールします。

$ bundle install

_config.ymlにプラグインを追加

_config.ymljekyll-seo-tag プラグインを追加します。

plugins:
  - jekyll-seo-tag

head要素にSEOタグを追加

_includes/head.htmlを編集し、<head>セッション内に以下1行を追加します。

{% seo %}

※注意:自分はbeautiful-jekyllthemeを使っているので_includes/head.htmlを編集対象にしていますが、他のthemeを利用している場合は、別のファイルを編集することになる可能性があります。

bundleでサイトをビルドします

$ bundle exec jekyll serve --watch

動作確認

http://127.0.0.1:4000を開き、ページにhtmlソースコードを確認します。 以下のコードが追加されることが確認できました。

	<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>IT技術者的BLOG</title>
<meta name="generator" content="Jekyll v3.9.3" />
<meta property="og:title" content="IT技術者的BLOG" />
<meta name="author" content="Ganxiang Liu" />
<meta property="og:locale" content="en_US" />
<link rel="canonical" href="http://localhost:4000/" />
<meta property="og:url" content="http://localhost:4000/" />
<meta property="og:site_name" content="IT技術者的BLOG" />
<meta property="og:type" content="website" />
<link rel="next" href="http://localhost:4000/page2" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="IT技術者的BLOG" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebSite","author":{"@type":"Person","name":"Ganxiang Liu"},"headline":"IT技術者的BLOG","name":"IT技術者的BLOG","url":"http://localhost:4000/"}</script>
<!-- End Jekyll SEO tag -->

sitemap.xmlをGSCに追加

23/10/17に書いたこのブログは、後日にGSC (Google Search Console)をみたら、相変わらずindexed pagesがない状態。おかしいなと思っていろいろ調べたら、sitemap.xmlを追加していないのが一番の原因かなと自分が考えました。

早速GSCにsitemap.xmlを追加しました(http://guaiguailei.net/sitemap.xml)。 追加後の画面には、

file

と表示され、正しい状態かのように見えましたが、実際のsitemap.xmlをGSC経由で開いてみたら、なんと、各Blogの記事のurlが

http://localhost:4000/

で始まるようになっています。これでは、正しくindexedされる訳がない。

またいろいろ調べたら、_config.ymlに以下の2行を追加すれば、github.comにて正しくsitemap.ymlを生成できることが分かりました。

url: "https://guaiguailei.net"
baseurl: ""

ちなみに、同じファイル内でpermalinkは次のように設定しています

permalink: /:categories/:year-:month-:day-:title

変更したら、github.comにpushして、正しくsitemap.xmlを作ることを確認しました。

まとめ

今回のSEO対策で以下のことが分かりました:

  • Jekyllを普通に使うだけでは、SEO対策できていない可能性が高い。
  • SEO対策は簡単に導入できるので、おすすめです(後日Google Search Consoleで検証しないといけないですが)
  • 何をやろうとしても、ChatGPTは本当にお役に立つので、まだ使っていない人には、絶対オススメです。
  • (23/10/18追記)SEO対策には、今回紹介したpluginを入れるだけでは足りなくて、sitemap.xmlを追加しましょう。

参考リンク