🗺️ sitemap.xml ジェネレーター
URL リストを 1 行 1 URL で入力するだけで sitemap.xml を生成。lastmod / changefreq / priority、hreflang 多言語、画像・動画拡張、50,000 URL / 50MB 上限警告に対応。
🔒 プライバシーについて
- ・URL リストはサーバーに送信されません
- ・生成処理はすべてブラウザ内で完結します
- ・登録・ログイン・課金は一切不要です
0 URL
一括デフォルト値
hreflang 多言語 (任意)
「lang: URLプレフィックス」を 1 行 1 個。各 URL のロケールパス置換に使用。
📄 sitemap.xml
📖 つまずきやすいポイント
URL のリストから sitemap.xml を生成します。lastmod・changefreq・priority の一括指定、hreflang による多言語版の記述、画像と動画の拡張に対応し、処理はブラウザ内で完結します。サイトマップはインデックス登録を保証するものではありません — 「このページが存在する」と伝えるだけで、載せるかどうかは検索エンジンが内容を見て判断します。この前提を外すと、効果の無い作業に時間を使うことになります。
| ケース | 何が起きるか | どうする |
|---|---|---|
| サイトマップに入れたのにインデックスされない | サイトマップは「発見」を助けるものであって、「登録」を約束するものではありません。内容が薄い・他のページと重複している・テンプレートから生成しただけのページは、サイトマップに入っていても登録されません。さらに逆効果になる場合もあります — noindex のページ、canonical が別ページを指すページ、リダイレクトする URL、404 になる URL をサイトマップに載せると、シグナルが矛盾します。検索エンジンから見れば「登録してほしいと言っているのに、登録するなとも言っている」状態で、サイトマップ全体の信頼度が下がります。 |
サイトマップに載せるのは「インデックスさせたいページだけ」にしてください — これは単純な規則ですが、自動生成しているサイトでは守られていないことが多いです (全ページを機械的に列挙してしまうため)。登録されない理由は Search Console の「ページ」レポートで確認できます — 「検出 - インデックス未登録」はクロールすらされていない (優先度が低いと判断された)、「クロール済み - インデックス未登録」は読んだうえで載せる価値が無いと判断されたという意味で、取るべき対策がまったく違います。前者はリンク構造の問題、後者は内容の問題です。この 2 つを区別せずに「サイトマップを再送信する」のは、どちらにも効きません。 |
| priority と changefreq の設定に時間をかける | Google は priority と changefreq を「ほぼ無視する」と公式に表明しています。理由は明白で、サイト運営者の自己申告なので、全ページを 1.0・daily にするサイトが大量に存在し、情報として機能しなくなったためです。そもそも priority はサイト内での相対的な重要度を示すもので、全部同じ値なら何も伝えていません。一方 lastmod は現在も参照されますが、これも「全ページが今日の日付」になっていれば信用されなくなります — 静的サイトジェネレータの既定設定で、ビルド日時が全ページの lastmod になっているサイトは非常に多いです。 |
priority と changefreq は省略して構いません — 書かないことによる不利益はありません。時間を使うべきなのは lastmod を実際の更新日時にすることです — データベースの updated_at や、Git のそのファイルの最終コミット日時を使ってください。これが正確であれば、更新したページを検索エンジンが速く再クロールします — サイトマップで実際に効く数少ない要素の 1 つです。逆に、内容を変えていないのに lastmod だけ更新するのはやめてください — 一時的にクロールを誘発できても、「更新したと言っているのに変わっていない」ことが続けば、その申告自体が信用されなくなります。 |
| 50,000 URL / 50MB の上限を超える | 1 ファイルあたり 50,000 URL、非圧縮で 50MB が上限で、Google と Bing で共通です。超えた場合、超過分が無視されるのではなく、ファイル全体がエラーになります — つまり50,001 番目の URL を足した瞬間に、それまで機能していた 50,000 件も届かなくなります。ECサイトやメディアサイトでは、商品やアーカイブが増え続けるので、ある日突然この線を越えます。そして Search Console にエラーが出るまで気付かないのが厄介な点です — サイトマップは日常的に見るものではないからです。 | サイトマップインデックスで分割してください — <sitemapindex> の中に複数の <sitemap> を列挙する形式で、インデックス自体も 50,000 件まで持てるので、実質 25 億 URL まで扱えます。分割の単位は「更新頻度」で分けると効率がいいです — 頻繁に変わるページ (新着記事・在庫) だけを小さな 1 ファイルにまとめ、ほとんど変わらないアーカイブは別ファイルにすると、クローラーは前者を頻繁に、後者を稀にしか見に来なくなり、クロールバジェットが有効に使われます。上限に近づいたら分割するのではなく、最初から分割しておいてください — 後から構成を変えると、一時的に全 URL の再発見が必要になります。 |
サイトマップは robots.txt に Sitemap: https://example.com/sitemap.xml の 1 行を書くだけで発見されます — Search Console への登録は必須ではありませんが、エラーと登録件数が見えるので登録を推奨します。書く URL には制約があり、絶対 URL であること、そしてサイトマップ自身と同じホスト・同じプロトコルであることが必要です (別ドメインの URL を含めるには、Search Console での所有権確認が要ります)。そして、サイトマップは 1 度作って終わりではありません — 削除したページの URL が残っていると 404 が並び、Search Console に警告が出続けます。このサイト自身、2026 年 7 月にポルトガル語とドイツ語版を廃止した際、サイトマップを 2,016 URL から 1,440 URL へ整理しました。URL を消すときは、301 リダイレクトの設定とサイトマップからの削除を同じ作業として扱ってください — 片方だけやると、必ず矛盾が残ります。
📖 使い方
-
1
URL を貼り付けるテキストエリアに 1 行 1 URL で貼り付け。
-
2
オプション設定lastmod・changefreq・priority・hreflang を必要に応じて指定。
-
3
ダウンロード生成された sitemap.xml をサイトルートに配置し、Google Search Console に登録。
❓ よくある質問
1 ファイルあたりの上限は?
priority と changefreq は SEO に効きますか?
hreflang はサイトマップに書くべき?
🔗 関連ツール
🐛 このツールで問題が発生しましたか?
完全無料・登録不要。再現手順だけでも結構です。届いたご報告は運営者に直接届き、修正の参考にします。
ご報告ありがとうございます!
運営者に届きました。改善の参考にさせていただきます。