WordPressなどのCMSを使わず、HTMLファイルを直接作る静的Webサイトでは、XMLサイトマップを自動で生成する機能がありません。そのため、自分でサイトマップを用意する必要があります。
この記事では、静的サイトにおけるXMLサイトマップの作り方を、手動・自動の2つの方法でわかりやすく解説します。
※ 静的Webサイトとは:HTMLやCSS、JavaScriptなどのファイルをそのままサーバーに置いたサイトのこと。WordPressのようにページを動的に生成せず、あらかじめ作ったファイルをそのまま表示します。
※ XMLサイトマップとは:サイト内のすべてのページURLをリスト形式でまとめたファイル。Googleなどの検索エンジンがページを見つけやすくするために使います。
XMLサイトマップの基本構造
XMLサイトマップは、以下のような構造をしたテキストファイルです。難しく見えますが、パターンを覚えれば簡単に書けます。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.uni-log.jp/contents/</loc>
<lastmod>2025-05-01</lastmod>
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.uni-log.jp/contents/about/</loc>
<lastmod>2025-04-20</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
各タグの意味
<loc>:ページのURL(必須)<lastmod>:最終更新日(任意)<changefreq>:更新頻度の目安(任意)<priority>:サイト内での優先度・0.0〜1.0で指定(任意)
※ changefreq の値は always / hourly / daily / weekly / monthly / yearly / never から選べます。あくまでGoogleへの「参考情報」であり、必ずその通りにクロールされるわけではありません。
※ priority はサイト内の相対的な優先度です。トップページを1.0、その他のページを0.8〜0.5程度に設定するのが一般的です。
方法①:手動で作成する
ページ数が少ない(10〜20ページ程度)サイトなら、手動で作るのが一番シンプルです。
手順
- テキストエディタ(VSCode、メモ帳など)を開く
- 上記の基本構造をコピーして貼り付ける
- 自分のサイトのURLに合わせて
<loc>を書き換える - ファイル名を
sitemap.xmlとして保存する - サーバーのルートディレクトリにアップロードする
※ ルートディレクトリとは:ウェブサイトの最上位フォルダのこと。https://www.uni-log.jp/contents/sitemap.xml でアクセスできる場所に置きます。
アップロード後の確認
ブラウザで https://あなたのドメイン/sitemap.xml にアクセスして、ファイルの内容が表示されれば成功です。
方法②:無料ツールで自動生成する
ページ数が多い場合や、手動入力を避けたい場合はオンラインツールが便利です。
おすすめツール:XML-Sitemaps.com
URLを入力するだけで、サイト全体のXMLサイトマップを自動で作成してくれる無料ツールです。
- xml-sitemaps.com にアクセスする
- 「Your Website URL」にサイトのURLを入力する
- 「START」ボタンをクリックして生成を待つ
- 完成したら「DOWNLOAD YOUR XML SITEMAP FILE」でダウンロードする
- ダウンロードした
sitemap.xmlをサーバーのルートに置く
無料版では最大500ページまで対応しています。ほとんどの個人・中小規模サイトはこれで十分です。
方法③:コマンドで自動生成する(上級者向け)
ターミナル操作に慣れている方は、コマンドラインツールを使う方法もあります。
Pythonの場合
sitemap-generator というPythonパッケージを使うと、コマンド一つでサイトマップを生成できます。
# インストール
pip install sitemap-generator
# サイトマップを生成(URLとファイル名を指定)
sitemap-generator https://www.uni-log.jp/contents/ -o sitemap.xml
Node.jsの場合
静的サイトジェネレーター(EleventyやAstroなど)を使っている場合は、専用のサイトマッププラグインが用意されています。
# sitemap パッケージをインストール
npm install sitemap
# JavaScriptで生成
const { SitemapStream, streamToPromise } = require('sitemap');
const { Readable } = require('stream');
const links = [
{ url: '/', changefreq: 'monthly', priority: 1.0 },
{ url: '/about/', changefreq: 'yearly', priority: 0.8 },
{ url: '/contact/', changefreq: 'yearly', priority: 0.7 },
];
const stream = new SitemapStream({ hostname: 'https://www.uni-log.jp/contents/' });
streamToPromise(Readable.from(links).pipe(stream)).then((data) => {
require('fs').writeFileSync('./sitemap.xml', data.toString());
});
※ 静的サイトジェネレーターとは:テンプレートやデータをもとにHTMLファイルを自動生成するツール。Eleventy(イレブンティ)、Astro(アストロ)、Hugo(ヒューゴ)などが有名です。
作成後はGoogle Search Consoleに送信しよう
サイトマップをサーバーに置いただけでは不十分です。GoogleにURLを積極的に知らせるため、Google Search Console(グーグル サーチ コンソール)からの送信が必要です。
送信手順
- Google Search Console にログインする
- 左メニューの「サイトマップ」を開く
- 「新しいサイトマップの追加」欄に
sitemap.xmlを入力する - 「送信」ボタンをクリックする
送信後、「成功しました」と表示されれば完了です。数日〜数週間でGoogleが新しいページを認識し始めます。
よくある失敗と対処法
- URLが
https://になっていない:http://ではなく必ずhttps://を使う - URLの末尾のスラッシュが統一されていない:
/aboutと/about/は別URLとして扱われるので、どちらかに統一する - ファイルの文字コードがUTF-8になっていない:保存時に「UTF-8(BOMなし)」を選ぶ
- ルートディレクトリ以外に置いている:必ず
www.uni-log.jp/contents/sitemap.xmlでアクセスできる場所に置く
まとめ
静的サイトのXMLサイトマップ作成は、方法を知れば難しくありません。
- ページが少ない → 手動で作成がシンプル
- ページが多い・手軽にやりたい → xml-sitemaps.com などのツールを活用
- コマンドに慣れている → PythonやNode.jsで自動生成
作成したら忘れずにGoogle Search Consoleへ送信し、ページを更新するたびにサイトマップも更新する習慣をつけましょう。