スキーマ
スキーマ情報はwww.sitemaps.org/protocol.htmlに書かれいます。手書きでxmlを書くのは面倒くさいのでnodejsスクリプトで生成する感じにしてみる。
2つのパッケージをインストール
以下の2つをインストールします。
yarn add xml prettify-xmlxmlは木構造なオブジェクトを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は以下から適当なのを選びましょう。
alwayshourlydailyweeklymonthlyyearlynever
lastmodやchangefreqなどはは特に必須情報ではないようです。