LoginSignup
1
1

More than 5 years have passed since last update.

middlemanのsitemapジェネレーター

Last updated at Posted at 2016-11-28

社内向けというか個人のメモ的投稿です。
同じような内容を書かれてる方はいくらでもいるのであしからずw


SEOの基本でもあるsitemap.xml。
今まではbuilderというgemを使ってましたが、この子はmiddleman4X系には対応していないようなので、いつかはアップデートするであろうmiddlemanのために入れ替え(笑)

Gemfile.
gem 'middleman-search_engine_sitemap', '~> 1.3.0'

3X系の場合は上記のようにバージョンを指定します。
4X系の場合はバージョン指定不要です。

config.rb
set :url_root, 'https://www.hogehoge.com'

configure :build do
  activate :search_engine_sitemap
end

本番環境のURLをroot_urlにセットし、build時に出力すれば良いので、上記のようにbuildの中に設定する。

console.
  bundle exec middleman build

ビルドしてやるとbuildフォルダの中にsitemap.xmlが生成されます。

sitemap.xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://hogehoge.com/</loc>
    <lastmod>2016-00-00T00:00:00+09:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>

changefreqやpriorityなどをこまかくオプション設定できるので以下を参照してください。

middleman-search_engine_sitemap

robots.txt

せっかくsitemap.xmlを生成したのだからロボテキも用意しときましょう!

我流なのでスマートな方法があったら教えてください!w

sourceルートにrobots.txt.hamlを用意して以下のように記述

robots.txt.haml
User-agent: *
Sitemap: #{url_root}/sitemap.xml

root_urlが動けばよいのでテンプレートファイルタイプはHAMLではなくERBでもOKです。

おわりに

builderだとsitemap.xml.builderというファイルを用意したり、layoutを使わないようにconfigに設定しなきゃいけなかったけど、middleman-search_engine_sitemapならこれらのファイルや設定が不要でいいですね!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1