サイトマップの作り方とは?XML・HTMLの違いから作成方法、Googleへの送信手順まで解説

サイトマップ 作成 Webサイト構築

「サイトマップを作った方がいいと言われたけれど、そもそもどのサイトマップの話なのかがわからない」——この混乱は、決してあなただけのものではありません。サイトマップという言葉は、検索エンジン向けのXMLファイル、ユーザー向けの一覧ページ、そしてサイト設計時に描く階層図という、まったく別の3つを指して使われているからです。この記事では、まず種類ごとの違いを整理したうえで、XMLサイトマップとHTMLサイトマップそれぞれの具体的な作成方法、無料ツールやWordPressプラグインの選び方、Google Search Consoleへの送信手順、そしてつまずきやすいエラーの原因までを順に解説します。

サイトマップとは

サイトマップとは、その名のとおり「サイトの地図」です。ただし、誰に向けた地図なのかによって、形式も作り方もまったく変わります。混乱の原因はここにあるため、まず3つの意味を切り分けておきましょう。

呼び方 主な読み手 形式 主な目的
XMLサイトマップ 検索エンジンのクローラー XMLファイル(例: sitemap.xml) URLの存在と更新日時を検索エンジンに伝える
HTMLサイトマップ(サイトマップページ) サイト訪問者 通常のWebページ 全ページの一覧を提示し、目的のページへ誘導する
サイトマップ図(ディレクトリマップ) 制作・発注の関係者 図、Excel、スプレッドシート サイト設計・企画段階で階層構造と必要ページを整理する

「サイトマップ 作成」と検索したときに求められているものは、多くの場合1つ目のXMLサイトマップです。ただし、公開後のサイト運用では2つ目のHTMLサイトマップも、リニューアルや新規構築では3つ目のサイトマップ図も必要になります。

サイトマップページ(HTMLサイトマップ)

HTMLサイトマップは、サイト内の主要ページをカテゴリごとに一覧表示したページです。フッターの「サイトマップ」というリンクから飛べるページを見たことがある方も多いでしょう。あくまで人間のユーザーに向けた案内板であり、ナビゲーションや検索窓からたどり着けなかったユーザーの受け皿として機能します。

SEO目的でHTMLサイトマップを作る必要性は、以前より低下していると考えられています。Googleのジョン・ミューラー氏は、フッターに大量のリンクを詰め込む形のサイトマップについて、ほとんど役に立たないうえキーワードの詰め込みと誤解されかねないと指摘しており、通常のHTMLサイトマップページを用意するか、文脈のある自然な内部リンクでつなぐことを推奨する趣旨の発言をしています。つまり、HTMLサイトマップは「SEOのために置くもの」ではなく、ページ数が多くユーザーが迷いやすいサイトのユーザビリティ施策として位置づけるのが実態に即しています。

XMLサイトマップ

XMLサイトマップは、サイト内のURLを一覧化して検索エンジンに伝えるためのファイルです。Googleはsitemaps.orgのサイトマップ プロトコルで定義された形式をサポートしており、XML形式のほかにRSS/Atomフィード、1行1URLのテキストファイル(.txt)も受け付けます。最も汎用性が高いのはXML形式で、画像・動画・ニュース、ページの多言語版といった拡張情報も一緒に伝えられます。

最小構成のXMLサイトマップは、次のようにURLの場所(loc)と最終更新日(lastmod)を記述するだけの、非常にシンプルなものです。

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.example.com/foo.html</loc>
    <lastmod>2022-06-04</lastmod>
  </url>
</urlset>

ここで押さえておきたい仕様上のポイントが3つあります。

  • サイズ上限:1つのサイトマップにつき、非圧縮で50MB以内、URL数は50,000件以内。これを超える場合はファイルを分割するか、サイトマップインデックスファイルを作って、そのインデックスだけを送信します。
  • エンコードと設置場所:ファイルはUTF-8でエンコードする必要があります。またサイトマップが影響を及ぼすのは、原則としてその親ディレクトリ配下のみです。Search Consoleから送信しない限りこの制約がかかるため、サイトのルート直下への設置が推奨されています。
  • URLの書き方/mypage.htmlのような相対URLではなく、https://www.example.com/mypage.htmlという完全な絶対URLで記述します。

なお、<priority>(優先度)と<changefreq>(更新頻度)の値をGoogleは無視します。生成ツールの設定画面でこれらを細かく調整しても、Googleの挙動は変わりません。一方<lastmod>は、値が一貫して正確だと検証できる場合に使われます。ここでいう「更新」とは本文や構造化データ、リンクの変更といった実質的な更新を指し、コピーライト表記の年号を変えただけのようなものは含まれません。

2つの違いと役割の使い分け

XMLとHTMLの違いを、実務上の判断軸で整理すると次のようになります。

比較項目 XMLサイトマップ HTMLサイトマップ
読み手 検索エンジン ユーザー
設置場所 サーバー上のファイル(通常ルート直下) サイト内の1ページ
主な効果 新規・更新ページの発見を促す 回遊性の向上、迷子ユーザーの救済
Search Consoleへの送信 必要(推奨) 不要
優先度 ほぼすべてのサイトで作成推奨 ページ数の多いサイトで検討

すべてのサイトにXMLサイトマップが必須というわけではありません。ページ数が数十程度で、すべてのページが内部リンクで適切につながっているサイトであれば、クローラーはリンクをたどるだけでサイト全体を把握できます。それでも作成が推奨されるのは、更新頻度が高いサイト、ページ数が多いサイト、公開したばかりで外部リンクがほとんどないサイト、内部リンクが行き届いていないページを抱えるサイトなど、リンクだけでは発見漏れが起きうるケースが現実には多いためです。

サイトマップを作成するメリット

XMLサイトマップを用意する価値は、大きく3つに整理できます。

1. 新規ページ・更新ページの発見が早くなる クローラーは通常、リンクをたどってページを見つけます。公開直後でどこからもリンクされていないページや、階層が深くリンクの数珠つなぎの末端にあるページは、発見までに時間がかかります。サイトマップはこうしたURLの存在を直接伝える手段になります。

2. 大規模サイト・特殊なコンテンツで効果が大きい 数千〜数万ページ規模のサイト、画像や動画が重要な役割を持つサイト、ニュース系サイトでは、サイトマップ拡張機能を使って通常のHTMLでは伝えきれない情報を補足できます。Search Console上でサイトマップを分割送信すれば、カテゴリごとのインデックス状況を追えるという運用メリットもあります。

3. HTMLサイトマップはユーザーの離脱を防ぐ ナビゲーションで探しきれなかったユーザーに全体像を提示できるため、行き止まりからの離脱を減らせます。

一方で、過度な期待は禁物です。Googleの公式ドキュメントは、サイトマップの送信はGoogleにその存在を知らせるにすぎず、ダウンロードやクロールを保証するものではないと明記しています。サイトマップに載せたからといって必ずインデックスされるわけではなく、順位が上がるわけでもありません。あくまで「発見のきっかけを作る施策」と捉えるのが適切です。

XMLサイトマップの作成方法

Googleは、含めるURLの数に応じて次の3つの作り方を案内しています。数十件に満たないならテキストエディタでの手動作成でも十分、数十件を超えるなら自動生成、そしてCMSを使っているならCMS任せが基本方針です。

WordPressプラグインで作成する方法

WordPressを使っているなら、多くの場合プラグインで完結します。ここで意外と知られていないのが、WordPress 5.5以降は本体にXMLサイトマップ生成機能が標準搭載されているという点です。インストールディレクトリ直下にwp-sitemap.xmlというURLでサイトマップインデックスが動的に出力され、デフォルトでは投稿・固定ページ・カテゴリー・タグ・投稿者アーカイブが対象になります。1つのサイトマップに含まれるURLは最大2,000件で、それを超える分は自動的に分割されます。

ただし標準機能は出力内容の細かい制御ができないため、除外設定などをしたい場合はプラグインを使うのが現実的です。主な選択肢は次のとおりです。

プラグイン 特徴 費用の目安
Yoast SEO 無料版でXMLサイトマップの自動生成に対応。管理画面の機能タブからオン/オフを切り替え、含めるコンテンツタイプも選べる。Premiumではリダイレクト管理やAIによるメタ情報生成などが追加 無料版あり/Premiumは有料
All in One SEO(AIOSEO) XMLサイトマップに加え、HTMLサイトマップの簡易生成機能も持つ。設定画面がわかりやすく初心者向け 無料版あり/Proは年間120ドル台〜
Rank Math 無料版でも機能が豊富で、上位互換のPROは月額7ドル前後(年払い)という価格帯 無料版あり/PROは年間80〜90ドル台
XML Sitemap Generator for Google(旧Google XML Sitemaps) 長年の定番。原作者から開発チームへ引き継がれ、100万件以上のアクティブインストールを維持 無料

注意したいのは、SEOプラグインを複数入れてサイトマップを二重に出力しないことです。機能が重複すると、どのURLが正となるのか管理しづらくなります。すでにSEOプラグインを導入しているなら、まずそのプラグインのサイトマップ機能を確認し、必要ならWordPress標準のwp-sitemap.xmlを無効化する、という順序で整理しましょう。

また、更新が止まったプラグインの使用にはセキュリティ上のリスクがあります。かつてHTMLサイトマップ用に広く使われた「PS Auto Sitemap」は、長期間更新されないまま2022年10月に公式ディレクトリでの配布が停止されました。現在は「WP Sitemap Page」などの代替に移行するのが一般的です。プラグイン選定では、最終更新日とアクティブインストール数を必ず確認する習慣をつけてください。

自動生成ツールで作成する方法

WordPress以外のCMSや静的サイトでは、URLを入力するだけでクロールしてサイトマップを作るWebツールが便利です。代表的なツールと制限は次のとおりです。

ツール 無料での上限 備考
sitemap.xml Editor 1回の生成で最大1,000URL 日本語対応。更新頻度や除外ディレクトリを指定可能
XML-Sitemaps.com 最大500ページ 有料版(月額数ドル程度)で最大50,000ページまで対応
Screaming Frog SEO Spider 最大500URL デスクトップアプリ。サイト全体の技術監査と併用できる

1,000ページを超えるサイトでも、除外ディレクトリ機能を使ってセクションごとに生成し、あとで結合したり個別に送信したりする運用は可能です。ただし手作業が増えるため、規模が大きいサイトはCMSやシステム側で自動出力する仕組みを整えるほうが確実です。Googleも、外部ツールより自社のWebサイトソフトウェアで自動生成する方法を推奨しています。データベースからURLを抽出して出力する仕組みを組めば、更新のたびにサイトマップが自動で最新化されるためです。

近年は「AIでサイトマップを作れるか」という質問も増えていますが、生成AIはサイトの全URLを網羅的に把握しているわけではないため、AIに丸投げしてURL一覧を出力させるのは危険です。存在しないURLが混入したり、逆に重要なページが欠落したりするおそれがあります。AIを使うなら、既存のURLリストからXML構文へ整形する、生成したXMLの記述ミスをチェックする、といった補助的な用途に留めるのが現実的です。

作成したXMLサイトマップをGoogle Search Consoleに送信する手順

サイトマップをサーバーにアップロードしたら、Googleに知らせます。手順は次のとおりです。

  1. Google Search Consoleにログインし、対象サイトのプロパティを選択する(未登録の場合は先にプロパティ登録と所有権確認を済ませる)
  2. 左メニューの「サイトマップ」を開く
  3. 「新しいサイトマップの追加」欄に、ドメイン以降のパス(例: sitemap.xml)を入力する
  4. 「送信」をクリックし、ステータスが「成功しました」になることを確認する

送信後は、取得日時と検出されたURL数が一覧に表示されます。これによりGooglebotがいつサイトマップにアクセスしたか、処理エラーが発生していないかを追跡できます。

Search Console以外にも、Googleに伝える方法があります。robots.txtに次の1行を記述する方法は、複数の検索エンジンにまとめて伝えられる点で有効です。

Sitemap: https://example.com/my_sitemap.xml

robots.txt内に書けるサイトマップの行数に制限はなく、Googleは次回robots.txtをクロールする際に変更を検出します。このほか、Search Console APIを使ってプログラムから送信する方法も用意されています。

なお、送信は一度きりで完結するものではありません。サイト構造を大きく変えたときや、ページを大量に追加・削除したときは再送信を検討します。逆に、更新頻度の低いサイトで頻繁に送信し直す必要はありません。

HTMLサイトマップの作成方法

WordPressでの作り方

WordPressでHTMLサイトマップを作る場合、選択肢は主に3つです。

1. 専用プラグインを使う 「WP Sitemap Page」のようなプラグインを入れ、固定ページに指定のショートコードを貼り付けるだけで、投稿・固定ページ・カテゴリーの一覧が自動生成されます。記事を追加するたびに手を入れる必要がないため、更新の多いメディアサイトに向いています。

2. SEOプラグインの機能を使う All in One SEOのように、HTMLサイトマップ機能を内蔵しているSEOプラグインもあります。導入プラグイン数を減らしたい場合はこちらが合理的です。

3. 固定ページに手動で作る ページ数が少ない企業サイトなら、固定ページを1枚作ってリンクを手書きするだけでも成立します。プラグインを増やさずに済み、掲載順や説明文を自由にコントロールできるのが利点です。

手動で作成する場合のポイント

手動で作るHTMLサイトマップでは、次の点を意識すると使われるページになります。

  • カテゴリ単位でグルーピングする:全ページをフラットに並べるのではなく、見出しでセクション分けし、サイトの構造がひと目で伝わるようにする
  • リンクテキストはページタイトルをそのまま使う:「こちら」「詳細」といった曖昧な文言は避ける
  • 重要度の低いページまで詰め込まない:数百件のリンクが並ぶページはユーザーにとって読みにくく、内部リンクとしての価値も薄まる
  • 更新のルールを決めておく:手動運用は必ず陳腐化します。「新規ページ公開時に追記する」といった運用ルールをあらかじめ定めておく
  • フッターへの大量リンク設置は避ける:前述のとおり、全ページのフッターに大量のリンクを並べる形は推奨されていません。独立した1ページにまとめる形が無難です

サイトマップ作成ツールの選び方

ツール選びは、「何のためのサイトマップか」で分岐します。目的別に整理しましょう。

XMLサイトマップ自動生成型

URLを入力するとクロールしてXMLを吐き出すWebツールです。CMSを使っていない静的サイトや、外部委託で構築されたサイトを自社で運用しているケースに向いています。選定時のチェックポイントは、対応URL数の上限画像・動画サイトマップへの対応可否除外設定の柔軟さの3つ。無料ツールは500〜1,000URLで頭打ちになるものが多いため、サイト規模と照らして判断します。

WordPressプラグイン型

WordPressサイトなら第一候補です。サイトマップ生成だけを目的にプラグインを増やす必要はなく、すでに導入済みのSEOプラグインで賄えないかをまず確認してください。費用面では、Rank Math PROが年間80〜90ドル台、All in One SEO Proが年間120ドル台〜という価格帯で、サイトマップ機能自体は各プラグインの無料版でも利用できるのが一般的です。有料版の判断材料になるのはサイトマップ以外の機能(リダイレクト管理、スキーマ拡張、複数サイトライセンスなど)です。

ビジュアルサイトマップ型(サイト設計・企画段階向け)

サイトの新規構築やリニューアルで、ページ構成を図として設計する用途にはFigma、Miro、Lucidchart、Cacooといった作図ツールが使われます。関係者と画面を共有しながらページの過不足を検討でき、変更履歴も残せるのが利点です。無料プランの制限は、Miroが編集可能なボード3枚まで、Cacooが6シートまでといった具合で、小規模な設計であれば無料の範囲でも十分に検討できます。この段階の成果物はExcelやスプレッドシートの「ディレクトリマップ」として作られることも多く、URL・ページ名・階層・担当者・公開ステータスを1行1ページで管理する形が実務では扱いやすいでしょう。

サイトマップ送信時によくあるエラーと注意点

Search Consoleでの送信後、うまくいかない代表的なケースと原因を整理します。

症状 主な原因 対処の方向性
サイトマップを取得できませんでした URLの入力ミス、ファイルが存在しない 送信したURLをブラウザで直接開き、XMLが表示されるか確認する
同上 robots.txtでブロックされている robots.txtにサイトマップのパスを拒否する記述がないか確認する
同上 Basic認証・IP制限がかかっている ステージング環境の設定が残っていないか、サイトマップのパスを認証対象から外せるか確認する
同上 サーバーの一時的な不調・過負荷 時間をおいて再送信する
解析できませんでした XMLの構文エラー、UTF-8以外のエンコード エスケープ漏れ(&など)を確認し、UTF-8で保存し直す
URLが到達できません サイトマップ内に404やリダイレクトのURLが混在 削除済みページやnoindexページを除外する

そのほか、運用上つまずきやすいポイントを挙げます。

  • 「インデックス登録されましたが、サイトマップに送信していません」はエラーではない:Search Consoleに表示されるこのメッセージは、サイトマップに載っていないURLがインデックスされた状態を示すもので、不具合ではありません。気になる場合はサイトマップを最新化すれば解消することが多いでしょう。
  • noindexページや重複URLは載せない:サイトマップには、検索結果に出したい正規URLだけを載せます。同じ内容を指すURLが複数ある場合は、正規URLを1つ選んで記載します。
  • httpとhttpsの混在に注意:常時SSL化しているのにサイトマップ内がhttpのままというケースは意外と多く見られます。
  • PC版とスマホ版でURLが異なる場合:どちらか一方のURLだけを記載するのが推奨されています。
  • サイトマップは万能ではない:送信しても、クロールやインデックスが保証されるわけではありません。中身の薄いページを大量に送信しても状況は改善しないため、コンテンツ品質と内部リンク設計をあわせて見直すことが前提になります。

まとめ

サイトマップという言葉は、検索エンジン向けのXMLサイトマップ、ユーザー向けのHTMLサイトマップ、設計用のサイトマップ図という3つの意味を持ちます。「サイトマップ 作成」でまず必要になるのはXMLサイトマップで、非圧縮50MB・50,000URLという上限、UTF-8エンコード、絶対URLでの記述、ルート直下への設置といった基本仕様を押さえたうえで作成します。

作り方は規模とCMSで決まります。WordPressなら5.5以降の標準機能(wp-sitemap.xml)かSEOプラグインで完結し、CMSを使っていないサイトは自動生成ツールが選択肢になりますが、無料ツールは500〜1,000URL程度が上限です。作成後はGoogle Search Consoleの「サイトマップ」からパスを送信し、あわせてrobots.txtにサイトマップの行を記述しておくと確実です。

一方でHTMLサイトマップは、SEOのためというよりユーザビリティ施策として位置づけるのが実態に即しています。ページ数が多く迷いやすいサイトでは有効ですが、フッターに大量のリンクを並べる形は推奨されていません。

そして最も重要なのは、サイトマップの送信はGoogleに存在を知らせるだけであり、クロールやインデックスを保証するものではないという点です。優先度や更新頻度の値は無視され、<lastmod>も正確性が検証できる場合にのみ使われます。サイトマップはあくまで発見のきっかけをつくる土台であり、その上にコンテンツの品質と内部リンク設計を積み上げてはじめて成果につながります。

タイトルとURLをコピーしました