mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Octopress - sitemap.xml に更新頻度・優先度追加!

[ ブログ ] [ Octopress ]

こんばんは。

Ruby 製静的ブログシステム Octopress では、ジェネレート時に sitemap.xml を生成してくれるプラグインがデフォルトで用意されています。
sitemap.xml は、検索エンジンのクローラに読ませるサイトのリンク情報・更新情報等が記載された XML 形式のファイルです。(「Web サイトの sitemap.xml と robots.txt について!」も参照)

適切なフォーマットで生成されるので、全く問題ありませんが、必須でないタグのうち changefreq タグ(更新頻度)と priority タグ(優先度)は組み込まれません。

以下、ジェネレート時に changefreq タグと priority タグも組み込むようにする設定についての記録です。

0. 前提条件

  • Linux Mint 14 (64bit) での作業を想定。
  • Octopre 2.0.0 を使用。
  • ジェネレートに使用する Ruby は 2.0.0-p247 を想定。
  • 調査した結果判明したことを記録しているだけであり、当方は実際には運用で実行はしていない。

1. sitemap.xml 確認(対応前)

Octopress でジェネレートした際に生成される sitemap.xml は、デフォルトでは以下のようになります。

sitemap.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>

    <!-- 途中省略 -->

    <url>
        <loc>http://www.mk-mode.com/octopress/2013/08/04/octopress-sitemap-option/</loc>
        <lastmod>2013-07-22T23:15:42+09:00</lastmod>
    </url>

    <!-- 途中省略 -->

</urlset>

2. 対応

sitemap.xml に changefreq タグと priority タグも出力するようにするには、各ページのファイル(ジェネレート元のファイル)の YAML 部分に以下のように change_frequencychangefreq ではない) と priority を追加すればよい。

これは、"plugins/sitemap_generator.rb" を眺めていて気付いたことである。
change_frequency ではなく、タグ名と同じ changefreq で設定したければ、"plugins/sitemap_generator.rb" 内の CHANGE_FREQUENCY_CUSTOM_VARIABLE_NAME の値を変更すればよい)

2013-08-04-hoge.markdown
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
---
layout: post
title: "Octopress - sitemap.xml に更新頻度・優先度追加!"
published: false
date: 2013-08-04 00:20
comments: true
change_frequency: daily
priority: 0.5
categories:
- ブログ
tags:
- Octopress
keywords:
- ブログ
- Octopress
---
<記事本文>

ちなみに、記事用のファイルではなくアーカーブやカテゴリ別ページ用のファイルも同様に設定できる。

2. ジェネレート

いつものようにジェネレートする。

1
$ rake generate

3. sitemap.xml 確認(対応後)

生成された sitemap.xml ファイルの内容を確認してみる。

sitemap.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>

    <!-- 途中省略 -->

    <url>
        <loc>http://www.mk-mode.com/octopress/2013/08/04/octopress-sitemap-option/</loc>
        <lastmod>2013-07-22T23:15:42+09:00</lastmod>
        <changefreq>daily</changefreq>
        <priority>0.5</priority>
    </url>

    <!-- 途中省略 -->

</urlset>

changefreq タグと priority タグも追加された。


実際には、当方は上記の設定は行なっていません。デフォルト設定のまま使用しています。

現在運用中のブログの途中から設定を追加すると、設定されていない過去記事と設定されている最近の記事が混在することになり、あまり気持ちが良くないからです。(無論、全記事に無条件に追記すればよい話ではありますが)

とりあえず、不便を感じていないので現状のままということにしています。

以上。

Comments