Search

サイトマップを作る

スキーマ

スキーマ情報はwww.sitemaps.org/protocol.htmlに書かれいます。手書きでxmlを書くのは面倒くさいのでnodejsスクリプトで生成する感じにしてみる。

2つのパッケージをインストール

以下の2つをインストールします。

yarn add xml prettify-xml

xmlは木構造なオブジェクトをxmlにフォーマットしてくれて、prettify-xmlはxmlの整形パッケージです。

サンプルコード

簡単に書いてみました。

const fs = require('fs');
const path = requrie('path');
const xml = require('xml');
const prettifyXml = require('prettify-xml');

const tree = {
  urlset: [
    {_attr: {xmlns: 'http://www.sitemaps.org/schemas/sitemap/0.9'}},
  ]
};

tree.urlset.push({
  url: [
    {loc: 'そのページのURL',
    {lastmod: 'いつ変更したか'},
    {changefreq: '更新頻度'},
    {priority: '優先度 0~1 例えば 0.5'},
  ]
})
// ...他すべてのページを`push`

const sitemap = prettifyXml(xml(tree, {declaration: true}));
fs.writeFileSync(path.join(__dirname, '相対パス/sitemap.xml'), sitemap);

tree.urlset.push周りは色々リファクタして手間が少なくするようにするといいですね。
ちなみにchangefreqは以下から適当なのを選びましょう。

  • always
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never

lastmodchangefreqなどはは特に必須情報ではないようです。