スキーマ
スキーマ情報は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
lastmod
やchangefreq
などはは特に必須情報ではないようです。