AEO Check Blog
← 記事一覧

sitemap.xmlの作り方と送信方法|クロール促進の基本設定

sitemap.xmlを設置していないサイトは、検索エンジンに「地図なしで探してください」と言っているようなものです。

Google公式ドキュメントによると、sitemap.xmlは検索エンジンにサイト内のURLを伝えるためのファイルです。特に新規ページの追加や大規模サイトでは、ページの発見を助けるヒントとして機能します。

この記事では、sitemap.xmlの基本構造から、プラットフォーム別の作成方法、Search Consoleへの送信手順、よくある間違いまでを解説します。

sitemap.xmlの設定状況を含むAI検索対応度を確認したい方は、無料診断ツールで自動チェックできます。


sitemap.xmlとは?検索エンジンへのURL一覧表

sitemap.xmlとは、サイト内のURLを一覧にしたXMLファイルです。検索エンジンのクローラーに「このサイトにはこれらのページがあります」と伝える役割を持ちます。

通常、クローラーはリンクをたどってページを発見します。しかし、内部リンクが少ないページや新しく追加されたページは発見が遅れることがあります。sitemap.xmlを設置することで、クローラーにURLの存在を直接伝えられます。


なぜsitemap.xmlが必要なのか

sitemap.xmlが特に重要になるのは、以下の3つの場面です。

1. 新規ページのクロール促進

新しいページを公開しても、クローラーがそのページを発見するまでには時間がかかります。sitemap.xmlに新規URLを追加し、lastmodで更新日を示すことで、クローラーに「新しいページがある」と伝えられます。

2. 大規模サイトでのページ発見

数百〜数千ページを持つサイトでは、内部リンクだけでは全ページをカバーしきれないことがあります。特に以下のケースでsitemap.xmlが効果的です:

  • ECサイトで商品ページが大量にある
  • ブログで過去記事が深い階層に埋もれている
  • 動的に生成されるページ(検索結果、フィルタページなど)がある
  • サイトリニューアル後に旧URLから新URLへの移行が完了していない

sitemap.xmlがあれば、リンク構造に依存せずに全URLを伝えられます。

3. AI検索エンジンへの情報提供

ChatGPTやPerplexityなどのAI検索エンジンも、サイトの情報を収集する際にクローラーを使います。sitemap.xmlを設置することで、AI検索のクローラーにもページを発見されやすくなる可能性があります。ただし、AI検索エンジンがsitemap.xmlをどの程度参照しているかは公式に明示されていないため、あくまで従来のSEO対策の延長として捉えてください。

AIクローラーの種類とrobots.txtでの制御方法も合わせて確認しておくと、クロール制御の全体像が把握できます。


ここまで読んで、自社サイトが気になった方へ

URLを入力するだけ。会員登録は一切不要で、30秒後に以下がわかります。

📊AI検索対応度
100点満点スコア
🔍優先して直すべき
改善点Top3
📄PDF / Markdown
改善レポート
無料で診断結果を見る →

URLを入力するだけ / 会員登録不要 / データ保存なし

sitemap.xmlの書き方(XML構造の基本)

最小構成のsitemap.xml

Google公式が示す最もシンプルなsitemap.xmlは以下の構造です。

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-05-09</lastmod>
  </url>
</urlset>

必須タグ

タグ 説明
<urlset> ルート要素。名前空間の指定が必要 xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
<url> 各URLのコンテナ
<loc> ページの完全なURL(絶対パス) https://example.com/page/

オプションタグ

タグ 説明 Googleの扱い
<lastmod> 最終更新日(W3C Datetime形式) 正確であれば参考にする
<changefreq> 更新頻度(daily, weeklyなど) 無視される
<priority> 優先度(0.0〜1.0) 無視される

重要: Googleは<changefreq><priority>を無視すると公式に明言しています。設定しても効果はありません。<lastmod>のみが実質的に意味を持ちます。

実用的なsitemap.xml例

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-05-09</lastmod>
  </url>
  <url>
    <loc>https://example.com/about/</loc>
    <lastmod>2026-04-15</lastmod>
  </url>
  <url>
    <loc>https://example.com/blog/seo-guide/</loc>
    <lastmod>2026-05-01</lastmod>
  </url>
  <url>
    <loc>https://example.com/contact/</loc>
    <lastmod>2026-03-20</lastmod>
  </url>
</urlset>

サイトマップインデックス(大規模サイト向け)

1つのsitemap.xmlには最大50,000 URLまたは**50MB(非圧縮)**の制限があります。それを超える場合は、サイトマップインデックスファイルで複数のsitemapを束ねます。

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://example.com/sitemap-posts.xml</loc>
    <lastmod>2026-05-09</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-pages.xml</loc>
    <lastmod>2026-04-20</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-products.xml</loc>
    <lastmod>2026-05-08</lastmod>
  </sitemap>
</sitemapindex>

サイトマップインデックスの使いどころ:

制限に達していなくても、タイプ別に分割するメリットがあります。

  • Search Consoleでの分析が容易になる — 「商品ページのインデックス率」「ブログ記事のクロール頻度」をファイル単位で確認できる
  • 更新頻度の異なるコンテンツを分離できる — 毎日更新される記事と、ほぼ変わらない固定ページを分けて管理できる
  • デバッグが容易 — 特定カテゴリのクロールに問題がある場合、該当ファイルだけを確認すればよい

注意: サイトマップインデックスのネスト(インデックスの中にインデックス)は仕様上許可されていません


プラットフォーム別の作成方法

WordPress

WordPressは5.5以降、コアにsitemap機能が組み込まれています。https://yoursite.com/wp-sitemap.xmlで自動生成されます。

ただし、コア機能は最小限のため、以下のプラグインを使うのが一般的です。

Yoast SEO(推奨):

  1. Yoast SEOをインストール・有効化
  2. 「SEO」→「一般」→「機能」タブ
  3. 「XML サイトマップ」をオンに
  4. https://yoursite.com/sitemap_index.xml で確認

All in One SEO:

  1. プラグインをインストール・有効化
  2. 「All in One SEO」→「サイトマップ」
  3. 「サイトマップを有効化」をオンに

除外設定のポイント:

  • noindexに設定したページは自動的に除外される
  • タグアーカイブや日付アーカイブなど、薄いコンテンツのURLは除外を検討
  • 添付ファイルページ(メディアページ)も除外推奨
  • Yoast SEOの場合、「SEO」→「検索での見え方」→「タクソノミー」で投稿タイプ別に制御可能

Shopify

Shopifyはhttps://yourstore.com/sitemap.xmlに自動生成されます。手動での編集はできません。

自動的に含まれるもの:

  • 商品ページ
  • コレクションページ
  • ブログ記事
  • 固定ページ

Shopifyのsitemap.xmlはサイトマップインデックス形式で、商品・コレクション・ブログ・ページごとに分割されています。URLが5,000件を超えると自動的に複数ファイルに分割されます。

注意点:

  • 非公開の商品やパスワード保護ページは自動除外される
  • カスタムURLの追加はできないため、必要な場合はアプリを使用
  • lastmodはShopifyが自動管理するため、手動での制御は不可
  • 下書き状態の商品はsitemapに含まれない

Next.js

Next.jsではnext-sitemapパッケージを使うのが最も簡単です。

インストール:

npm install next-sitemap

設定ファイル(next-sitemap.config.js):

/** @type {import('next-sitemap').IConfig} */
module.exports = {
  siteUrl: 'https://example.com',
  generateRobotsTxt: true,
  sitemapSize: 5000,
  changefreq: undefined,
  priority: undefined,
  exclude: ['/admin/*', '/api/*'],
  robotsTxtOptions: {
    additionalSitemaps: [
      'https://example.com/server-sitemap.xml',
    ],
  },
}

package.jsonにスクリプト追加:

{
  "scripts": {
    "postbuild": "next-sitemap"
  }
}

npm run buildを実行すると、public/sitemap.xmlpublic/robots.txtが自動生成されます。

App Router(Next.js 13+)でのネイティブ対応:

// app/sitemap.ts
import { MetadataRoute } from 'next'

export default function sitemap(): MetadataRoute.Sitemap {
  return [
    {
      url: 'https://example.com',
      lastModified: new Date(),
    },
    {
      url: 'https://example.com/about',
      lastModified: new Date('2026-04-15'),
    },
    {
      url: 'https://example.com/blog',
      lastModified: new Date('2026-05-09'),
    },
  ]
}

この方法ではビルド時に/sitemap.xmlが自動生成されます。

静的サイト(HTML手書き・Hugo・Astro等)

静的サイトでは、以下の方法があります。

方法1: 手動作成

小規模サイト(数十ページ以下)なら、XMLファイルを直接書いてルートに配置します。前述の「実用的なsitemap.xml例」をテンプレートとして使ってください。

方法2: ビルドツールで自動生成

Hugo:

# hugo.toml
[sitemap]
  filename = "sitemap.xml"

Hugoはデフォルトでsitemap.xmlを生成します。設定不要で/sitemap.xmlに出力されます。

Astro:

npx astro add sitemap
// astro.config.mjs
import { defineConfig } from 'astro/config'
import sitemap from '@astrojs/sitemap'

export default defineConfig({
  site: 'https://example.com',
  integrations: [sitemap()],
})

方法3: スクリプトで生成

#!/bin/bash
# generate-sitemap.sh
SITE_URL="https://example.com"
OUTPUT="public/sitemap.xml"

echo '<?xml version="1.0" encoding="UTF-8"?>' > $OUTPUT
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' >> $OUTPUT

find public -name "*.html" | while read file; do
  path="${file#public}"
  path="${path%index.html}"
  echo "  <url><loc>${SITE_URL}${path}</loc><lastmod>$(date -r "$file" +%Y-%m-%d)</lastmod></url>" >> $OUTPUT
done

echo '</urlset>' >> $OUTPUT
echo "Generated sitemap with $(grep -c '<url>' $OUTPUT) URLs"

sitemapに含めるべきURL・含めないべきURLの判断基準

sitemap.xmlに「とりあえず全URL」を入れるのは逆効果です。不要なURLが多いとクロールバジェットが分散し、重要なページの発見が遅れます。

含めるべき 含めないべき
インデックスさせたい正規URL noindex設定のページ
canonical先のURL canonical先が別にあるURL(重複ページ)
200レスポンスを返すURL 301/302リダイレクトされるURL
実質的なコンテンツがあるページ パラメータ違いの重複ページ(?sort=price等)
公開中の商品・記事ページ 404/410を返すURL
ページネーションの各ページ 管理画面・ログインページ
hreflang対象の各言語版URL 検索結果ページ(サイト内検索)
新規追加・更新したページ robots.txtでDisallowしているURL

判断の原則: 「検索結果に表示されてほしいURL」だけを含める。それ以外は除外する。


大規模サイト(1万ページ以上)でのsitemap戦略

1万ページを超えるサイトでは、単にsitemap.xmlを設置するだけでは不十分です。クロールバジェットを意識した戦略が必要です。

コンテンツタイプ別に分割する

サイトマップインデックスを使い、コンテンツタイプごとにファイルを分けます。Search Consoleでカテゴリ別のインデックス率を確認できるようになります。

更新頻度でファイルを分ける

毎日更新されるニュース記事と、年に1回しか変わらない会社概要を同じファイルに入れると、クローラーが全URLを不必要に再クロールしようとします。更新頻度が大きく異なるコンテンツは別ファイルにします。

sitemap-index.xml
├── sitemap-news.xml        ← 毎日更新(lastmodも毎日変わる)
├── sitemap-products.xml    ← 週数回更新
├── sitemap-categories.xml  ← 月1回程度
└── sitemap-static.xml      ← ほぼ変わらない

不要URLの定期的な棚卸し

大規模サイトでは、削除済み商品や期限切れキャンペーンページがsitemapに残りがちです。月1回はSearch Consoleの「ページ」レポートで「クロール済み - インデックス未登録」のURLを確認しましょう。このステータスのURLは品質・重複・内部リンク・canonicalを調査してください。sitemapからの除外は原因特定後に判断します。


動的サイトマップ vs 静的サイトマップ

サイトマップの生成方法は大きく2つに分かれます。規模と更新頻度で選択してください。

静的サイトマップ

ビルド時にファイルを生成し、そのまま配信する方式です。

メリット:

  • サーバー負荷がゼロ(CDNから配信可能)
  • XMLの内容を事前に検証できる
  • デプロイと同時に更新される

デメリット:

  • ページ追加のたびにビルド・デプロイが必要
  • リアルタイムの在庫変動や公開状態の反映が遅れる

向いているサイト: ブログ、コーポレートサイト、SSG(静的サイトジェネレーター)で構築されたサイト

動的サイトマップ

リクエスト時にDBやCMSからURLリストを取得し、XMLを動的に生成する方式です。

メリット:

  • ページの追加・削除が即座に反映される
  • 公開状態や在庫状況に連動できる
  • デプロイなしで最新状態を維持

デメリット:

  • リクエストのたびにDB問い合わせが発生(キャッシュ推奨)
  • サーバーエラー時にsitemapが取得不能になるリスク

向いているサイト: ECサイト、UGCサイト、頻繁にページが追加・削除されるサイト

実装のポイント: 動的生成する場合は、レスポンスにCache-Control: public, max-age=3600程度のキャッシュヘッダーを付けてください。クローラーが短時間に複数回アクセスしてもサーバーに負荷がかかりません。


Search Consoleへの送信方法

sitemap.xmlを作成したら、Google Search Consoleに送信してクロールを促進します。

手順

  1. Google Search Consoleにログイン
  2. 対象のプロパティを選択
  3. 左メニューの「サイトマップ」をクリック
  4. 「新しいサイトマップの追加」にURLを入力(例: https://example.com/sitemap.xml
  5. 「送信」をクリック

送信後の確認ポイント

項目 確認内容
ステータス 「成功しました」と表示されるか
検出されたURL数 想定するページ数と一致するか
エラー 赤いエラー表示がないか
最終読み取り日 定期的に読み取られているか

送信後、Googleがsitemapを処理するまでに数分〜数日かかることがあります。すぐに反映されなくても問題ありません。

ステータスが「取得できませんでした」の場合:

  • sitemap.xmlのURLが正しいか確認
  • robots.txtでsitemap.xmlへのアクセスをブロックしていないか確認
  • サーバーが200レスポンスを返しているか確認
  • sitemap.xmlのファイルサイズが50MBを超えていないか確認
  • XMLの構文エラーがないか確認(xmllintで検証)

Search Console API経由での送信

CI/CDパイプラインに組み込む場合は、Search Console APIを使ってプログラムから送信できます。

Google以外の検索エンジンへの送信

sitemap.xmlはGoogle以外の検索エンジンにも送信できます。

Bing(Bing Webmaster Tools):

Bing Webmaster Toolsの「サイトマップ」から送信できます。BingはPing APIも提供しています:

curl "https://www.bing.com/indexnow?url=https://example.com/new-page&key=YOUR_API_KEY"

IndexNowプロトコルを使えば、Bing・Yandex・Seznam等に一括でページの更新を通知できます。IndexNowは個別のページURLを通知する仕組みであり、sitemapの送信とは異なるメカニズムです。Googleは2026年5月時点でIndexNowに対応していません。

Yandex(Yandex Webmaster):

Yandex Webmasterの「Indexing」→「Sitemap files」からsitemap.xmlのURLを追加できます。IndexNow対応のため、Ping APIでも通知可能です。

共通の方法(robots.txt):

robots.txtにSitemap:ディレクティブを記述しておけば、robots.txtを読む全てのクローラーにsitemapの場所を伝えられます。個別送信の手間を省きたい場合は、最低限これだけは行ってください。


sitemap更新の自動化(CI/CD連携)

手動でsitemap.xmlを更新し続けるのは現実的ではありません。CI/CDに組み込んで自動化しましょう。

GitHub Actions での自動生成・送信例

# .github/workflows/sitemap.yml
name: Update Sitemap
on:
  push:
    branches: [main]
    paths: ['content/**', 'src/pages/**']

jobs:
  sitemap:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci && npm run build
      - run: xmllint --noout public/sitemap.xml
      - run: npm run deploy
      - name: Ping IndexNow (notify updated pages)
        run: curl -s "https://api.indexnow.org/indexnow?url=https://example.com/blog/new-post&key=${{ secrets.INDEXNOW_KEY }}"

自動化のポイント

  • ビルド時に生成postbuildスクリプトでsitemapを自動生成すれば、デプロイのたびに最新状態になる
  • XMLバリデーション — デプロイ前にxmllintで構文チェックを入れると、壊れたsitemapの配信を防げる
  • IndexNow通知 — デプロイ後に更新されたページURLをBing/Yandexへ即座に通知できる(sitemapではなく個別ページURLを送信)
  • 差分検知 — 前回のsitemapと比較して変更がない場合は通知をスキップする

robots.txtへのsitemap記述

robots.txtにsitemap.xmlの場所を記述しておくと、Search Consoleに送信しなくてもクローラーがsitemapを発見できます。

User-agent: *
Allow: /

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

記述ルール:

  • Sitemap:ディレクティブはファイル内のどこに書いてもよい
  • 完全なURL(絶対パス)で指定する
  • 複数のsitemapがある場合は複数行で記述可能
  • 大文字小文字は区別されない(Sitemap:でもsitemap:でも可)
User-agent: *
Allow: /

Sitemap: https://example.com/sitemap-posts.xml
Sitemap: https://example.com/sitemap-pages.xml
Sitemap: https://example.com/sitemap-products.xml

robots.txtの書き方全般についてはrobots.txtの書き方と設定方法で詳しく解説しています。


よくある間違い7パターン

1. noindexページをsitemapに含めている

noindexを設定したページをsitemap.xmlに含めると、矛盾したシグナルを送ることになります。「インデックスしてほしい」と「インデックスしないで」を同時に伝えている状態です。

Search Consoleでは「送信されたURLにnoindexタグが追加されています」という警告が表示されます。この警告が多いと、sitemap全体の信頼性が下がる可能性があります。

対処: noindexページはsitemapから除外する。CMSのプラグインを使っていれば、noindex設定と連動して自動除外されるのが一般的です。

noindexの設定方法と確認手順も参考にしてください。

2. lastmodを実際の更新なしに変更している

<lastmod>の日付だけを毎日更新するサイトがありますが、Googleはこれを検知します。Google公式によると、lastmodは「一貫して検証可能な正確さ」がある場合にのみ参考にされます。

不正確なlastmodを繰り返すと、Googleはそのサイトのlastmodを完全に無視するようになります。結果として、本当にページを更新したときにもクロールの優先度が上がらなくなります。

対処: ページの内容(本文、構造化データ、リンク構造など)を実質的に更新した場合のみlastmodを変更する。フッターの著作権年やサイドバーの変更は「実質的な更新」に含まれません。

3. 相対URLを使っている

<loc>タグには完全な絶対URLが必要です。

<!-- ❌ 間違い -->
<loc>/blog/my-post/</loc>

<!-- ✅ 正しい -->
<loc>https://example.com/blog/my-post/</loc>

4. リダイレクトされるURLを含めている

301リダイレクトが設定されたURLをsitemapに含めると、クロールバジェットの無駄遣いになります。クローラーはそのURLにアクセスし、リダイレクト先に転送され、さらにリダイレクト先をクロールするという二重の処理が発生します。

対処: リダイレクト先の最終URLのみをsitemapに含める。サイトリニューアルやURL変更後は、旧URLがsitemapに残っていないか確認してください。

5. 404ページを含めている

削除済みのページがsitemapに残っていると、Search Consoleでエラーとして報告されます。

対処: ページを削除したらsitemapからも削除する。CMSの自動生成を使っていれば通常は自動で除外されます。

6. XMLの構文エラー

エスケープが必要な文字(&<>"')をそのまま使うと、XMLパースエラーになります。

<!-- ❌ 間違い -->
<loc>https://example.com/search?q=a&b=c</loc>

<!-- ✅ 正しい -->
<loc>https://example.com/search?q=a&amp;b=c</loc>
文字 エスケープ
& &amp;
< &lt;
> &gt;
" &quot;
' &apos;

7. sitemap.xmlのサイズ制限を超えている

1ファイルあたり50,000 URLまたは50MB(非圧縮)が上限です。超える場合はサイトマップインデックスで分割してください。


sitemap.xmlの確認・テスト方法

ブラウザで直接確認

https://yoursite.com/sitemap.xmlにアクセスして、XMLが正しく表示されるか確認します。

XMLバリデーション

# xmllintで構文チェック(macOS/Linux)
xmllint --noout sitemap.xml

# エラーがなければ何も表示されない
# エラーがあれば行番号とエラー内容が表示される

curlでHTTPレスポンス確認

curl -I https://example.com/sitemap.xml

確認ポイント:

  • ステータスコードが200 OKであること
  • Content-Typeapplication/xmlまたはtext/xmlであること

Search Consoleでの確認

送信後、以下を確認します:

  1. 「サイトマップ」レポート — ステータスが「成功」か
  2. 「ページ」レポート — 「サイトマップで送信」のフィルタで、インデックス状況を確認
  3. URL検査ツール — 個別URLのクロール状況を確認

自動テストスクリプト

#!/bin/bash
# check-sitemap.sh
SITEMAP_URL="https://example.com/sitemap.xml"

echo "=== Sitemap Check ==="

# HTTPステータス確認
STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$SITEMAP_URL")
if [ "$STATUS" = "200" ]; then
  echo "✅ HTTP Status: $STATUS"
else
  echo "❌ HTTP Status: $STATUS (expected 200)"
  exit 1
fi

# XML構文チェック
curl -s "$SITEMAP_URL" | xmllint --noout - 2>/dev/null
if [ $? -eq 0 ]; then
  echo "✅ XML syntax: valid"
else
  echo "❌ XML syntax: invalid"
  exit 1
fi

# URL数カウント
URL_COUNT=$(curl -s "$SITEMAP_URL" | grep -c "<loc>")
echo "📊 URLs in sitemap: $URL_COUNT"

# 50,000件制限チェック
if [ "$URL_COUNT" -gt 50000 ]; then
  echo "⚠️  Exceeds 50,000 URL limit. Split into multiple sitemaps."
fi

echo "=== Done ==="

AI検索との関係

sitemap.xmlは従来の検索エンジン向けの仕組みですが、AI検索エンジンとの関係も意識しておく価値があります。

クロール促進がAI検索にも波及する可能性

ChatGPT(GPTBot)、Perplexity(PerplexityBot)、Google AI Overview(Googlebot)などのAI検索エンジンは、それぞれ独自のクローラーでWebページを収集しています。

sitemap.xmlを適切に設置することで:

  • Googlebotのクロール効率が上がる → Google AI Overviewの情報源として発見されやすくなる可能性がある
  • robots.txtにsitemapを記述する → robots.txtを読むクローラー全般にsitemapの存在を伝えられる

ただし、GPTBotやPerplexityBotがsitemap.xmlを直接参照しているかどうかは、2026年5月時点で公式に確認されていません。あくまで「クロールされやすい状態を作る」という間接的な効果として捉えてください。

sitemap.xml + robots.txt + llms.txtの組み合わせ

AI検索対策の全体像としては:

  1. robots.txt — どのクローラーにアクセスを許可するか制御
  2. sitemap.xml — クローラーにURLの存在を伝える
  3. llms.txt(実験的) — AI向けにサイトの概要を伝える

robots.txtとsitemap.xmlは標準的な仕組みですが、llms.txtは提案段階の仕様であり必須ではありません。余裕があれば実験的に設置する程度で十分です。

AIクローラーとrobots.txtの設定方法で、クローラー別の制御方法を詳しく解説しています。


まとめ

sitemap.xmlの設定で押さえるべきポイントを整理します。

項目 推奨
形式 XML形式(最も汎用的)
必須タグ <urlset>, <url>, <loc>
有効なオプション <lastmod>のみ(changefreq/priorityは無視される)
配置場所 サイトルート(/sitemap.xml
送信方法 Search Console + robots.txtの両方
更新タイミング ページの実質的な変更時のみ
サイズ制限 50,000 URL / 50MB per file

やるべきこと:

  • sitemap.xmlを作成してルートに配置する
  • Search Consoleに送信する
  • robots.txtにSitemap:ディレクティブを追加する
  • noindexページやリダイレクトURLを含めない
  • lastmodは実際の更新時のみ変更する

sitemap.xmlの設定状況を含むAI検索対応度を確認したい方は、無料診断ツールで自動チェックできます。サイトのクロール関連設定をスコア化し、改善ポイントをレポートで確認できます。


よくある質問

sitemap.xmlがなくてもGoogleにインデックスされますか?

はい、されます。Googleはリンクをたどってページを発見するため、sitemap.xmlがなくてもインデックスは可能です。ただし、新規ページの発見が遅れたり、内部リンクが少ないページが見落とされる可能性があります。特に100ページ以上のサイトや、頻繁にページを追加するサイトでは設置を推奨します。

sitemap.xmlを送信したらすぐにインデックスされますか?

いいえ、sitemap.xmlの送信はクロールの「リクエスト」であり、インデックスの保証ではありません。Google公式も「送信はヒントに過ぎず、Googleがsitemapをダウンロードすることやクロールに使用することを保証するものではない」と明記しています。

sitemap.xmlはどのくらいの頻度で更新すべきですか?

ページを追加・更新したタイミングで更新するのが理想です。CMSの自動生成機能を使っていれば、ページの公開・更新時に自動で反映されます。手動管理の場合は、少なくとも月1回は確認してください。

sitemap.xmlとrobots.txtの違いは何ですか?

robots.txtはクローラーに「どのページにアクセスしてよいか」を伝えるアクセス制御ファイルです。sitemap.xmlは「このサイトにはこれらのページがあります」とURLの存在を伝えるファイルです。役割が異なるため、両方を設置するのが基本です。詳しくはrobots.txtの書き方ガイドを参照してください。

画像や動画もsitemap.xmlに含めるべきですか?

画像や動画が検索結果に表示されることを重視する場合は、画像サイトマップ動画サイトマップの拡張を使えます。ただし、通常のWebページのsitemap.xmlとは別に作成するか、拡張タグを追加する形になります。まずは通常のページ用sitemap.xmlを正しく設置することを優先してください。

この記事の内容、自社サイトではどこまでできていますか?

URLを入力するだけ。会員登録は一切不要です。

📊

AI検索対応度の総合スコア

7カテゴリ100点満点で評価

🔍

優先度つき改善ポイントTop3

具体的な修正手順つき

📄

PDF / Markdownレポート

AIに渡して改善提案をもらうことも可能

無料で診断する →

URLを入力するだけ / 会員登録不要 / 30秒で結果表示

診断結果イメージC
62/100

改善ポイント例:

構造化データ未実装+8点
AIクローラーブロック中+5点
🔶著者情報が不十分+3点