XMLサイトマップの作成方法(2026):Google、Bing、AI検索への送信

2026年版XMLサイトマップの作成と送信の完全ガイド。WordPress、Next.js、Astro、Shopify、AIエージェントツール、IndexNow、llms.txtをカバー。

このガイドで完成するもの

このガイドを読み終えると、以下のものが手に入ります:

  • 検索エンジンが読み取れる有効なXMLサイトマップ
  • 2026年の正しいチャネルでGoogleとBingに送信されたサイトマップ
  • AIクローラーがコンテンツを発見できる基本的なllms.txtファイル
  • オプション:任意のサイトのサイトマップを生成・検証できる再利用可能なClaude Codeスキル

対象読者: ウェブサイトを所有または管理しているすべての人 — WordPress、モダンJavaScriptフレームワーク、Shopify、静的HTMLファイルのいずれで構築されていても。技術SEOの経験は不要です。

所要時間: プラットフォームに応じて15〜30分。

前提条件: ウェブサイトの管理パネルまたはコードベースへのアクセス、および認証済みのGoogle Search Consoleプロパティ。Search Consoleをまだ設定していない場合は、先にプロパティを作成して所有権を確認してください。

始める前に:あなたのサイトに適したパスは?

サイトマップの作成方法は、サイトの構築方法によって完全に異なります。あなたのパスを選んでください:

あなたのサイトが動作しているのは…

進む先…

WordPress

パスA:WordPress

Wix、Squarespace、Shopify

パスB:ホスティングCMSプラットフォーム

Next.js、Nuxt、Astro、その他フレームワーク

パスC:モダンJavaScriptフレームワーク

静的HTML、CMSなし、カスタムビルド

パスD:静的サイトとカスタムビルド

わからない場合は?ブラウザでサイトを開き、右クリックして「ページのソースを表示」を選択します。手がかりを探しましょう:wp-content はWordPress、next__NEXT はNext.js、shopify はShopifyを意味します。どれも見つからなければ、静的サイトかカスタムビルドの可能性が高いです — パスDです。

プラットフォーム決定フローチャート — サイトの構築方法に基づいてサイトマップのパスを選択

パスA:WordPress

WordPressはウェブの40%以上を支えており、サイトマップ生成はここでは解決済みの問題です。3つの確実な選択肢があります — どれも悪くありませんが、それぞれ異なるニーズに合います。

オプション1:WordPressネイティブサイトマップ(プラグイン不要)

WordPress 5.5(2020年8月リリース)以降、すべてのWordPressサイトは自動的にXMLサイトマップを生成します:

Code
あなたのドメイン.com/wp-sitemap.xml

ブラウザでこのURLを開きます。投稿、固定ページ、カテゴリー、作成者のサブサイトマップをリストしたサイトマップインデックスが表示されるはずです。

利点: ゼロ設定。WordPressがすべてを処理します — 設定を触る必要は一切ありません。

制限: 個別のページや投稿タイプ全体を除外することはできません。画像サイトマップ、動画サイトマップ、優先度コントロールはありません。検索結果に表示したくない作成者アーカイブやタグページがある場合、ネイティブサイトマップはそれらを含めてしまいます。

最適な用途: すべてのページがインデックスされる価値があるシンプルなブログや小規模サイト。

text
✅ 品質チェック:あなたのドメイン.com/wp-sitemap.xml にアクセスします。有効なXMLファイルが表示され、404ではないことを確認します。
🔧 404が表示された場合:テーマか別のプラグインがネイティブサイトマップを無効にしている可能性があります。「設定」>「表示設定」で「検索エンジンがこのサイトをインデックスしないようにする」のチェックが外れていることを確認してください。

オプション2:Yoast SEO

Yoast SEOは最も広く使われているWordPress SEOプラグインです。そのサイトマップジェネレーターはクリーンで信頼性が高く、noindex設定を自動的に尊重します。

セットアップ:

  1. 「プラグイン」>「新規追加」からYoast SEOをインストール
  2. Yoast SEO >「設定」>「サイト機能」に移動
  3. 「API」までスクロールし、「XMLサイトマップ」がオンになっていることを確認
  4. あなたのドメイン.com/sitemap_index.xml にアクセスして動作を確認

無料版で得られるもの: 投稿、固定ページ、カテゴリー、カスタム投稿タイプのサブサイトマップを含むサイトマップインデックス。Yoastはnoindexコンテンツを自動的に除外し、投稿内で参照されている画像を含めます。コンテンツを公開または更新するたびにサイトマップが再生成されます。

Premium($99/年)で必要: サイトマップからの個別URL除外、HTMLサイトマップ、ニュース/動画サイトマップ拡張。

最適な用途: 成熟した文書化されたプラグインを求め、Yoastの可読性分析もSEOツールと一緒に活用したいコンテンツチーム。

オプション3:Rank Math

Rank MathはYoastよりも多くの無料機能を提供します。個別URLの除外、HTMLサイトマップ、優先度/更新頻度のコントロール — すべて無料です。

セットアップ:

  1. 「プラグイン」>「新規追加」からRank Mathをインストール
  2. セットアップウィザードを完了(サイトタイプを検出してデフォルトを設定します)
  3. Rank Math >「サイトマップ設定」に移動
  4. あなたのドメイン.com/sitemap_index.xml でサイトマップが有効になっていることを確認

際立つ無料機能: 無料版で任意の投稿、固定ページ、タクソノミーをサイトマップから除外できます。Rank MathはWooCommerce製品サイトマップ、ローカルSEOサイトマップ、Googleニュースサイトマップも無料で含みます。

最適な用途: 有料ライセンスを購入せずに詳細なコントロールを求める開発者、エージェンシー、サイトオーナー。

WordPress:どれを選ぶべきか?

基準

ネイティブWPサイトマップ

Yoast SEO(無料)

Rank Math(無料)

セットアップの手間

なし

2分

3分

投稿タイプごとの除外

不可

個別URLの除外

不可

Premiumのみ

画像サイトマップ

不可

動画サイトマップ

不可

Premiumアドオン

含む

WooCommerce対応

不可

別プラグイン($79/年)

含む

最適な用途

シンプルなサイト

コンテンツ優先チーム

機能豊富なサイト

text
✅ 品質チェック:プラグインをインストールした後、サイトマップURLにアクセスします。各サブサイトマップが200ステータスコードを返すことを確認します。ログインしている場合はシークレットウィンドウを使用してください — 一部のキャッシュプラグインはログインユーザーに異なるコンテンツを提供します。

パスB:ホスティングCMSプラットフォーム

Wix、Squarespace、Shopifyはすべて自動的にサイトマップを生成します。あまりカスタマイズできませんが、壊すこともできません。

Wix

サイトマップは あなたのwixサイト.com/sitemap.xml にあります。ページを追加・削除すると自動的に更新されます。

検索結果(およびサイトマップ)からページを除外するには:

  1. サイトページに移動
  2. ページの3点メニューをクリック
  3. SEO基本設定を選択
  4. 「このページを検索結果に表示する」をオフ

注意: WixでURLを正規化する(ページAのcanonicalをページBに向ける)場合、WixはサイトマップからページAを削除しません。これは矛盾したシグナルを送ります — Googleはサイトマップ内のページを見ますが、そのcanonicalタグは「私を無視して」と言っています。URLを正規化する場合は、検索表示も同時にオフにしてください。

Squarespace

サイトマップは あなたのsquarespaceサイト.com/sitemap.xml にあります。Squarespaceが自動生成し、手動で編集することはできません。

ページを除外するには: ページ設定を開き、SEOタブに移動し、検索表示をオフにします。これによりページがサイトマップと検索結果の両方から削除されます。

制限: Squarespaceのサイトマップはすべてのインデックス可能なページを含みます。カスタムURL(他の場所でホストされているページなど)を追加したり、カテゴリーページを完全に非表示にせずに削除したりすることはできません。

Shopify

サイトマップは あなたのストア.com/sitemap.xml にあります。Shopifyは製品、コレクション、固定ページ、ブログ投稿の個別サイトマップを自動生成し、すべてメインのサイトマップインデックスから参照されます。

ページを除外するには: Shopifyはシンプルなトグルを提供していません。テーマの theme.liquid ファイルを編集して特定のテンプレートにnoindexメタタグを追加するか、Shopify App StoreのSEOアプリを使用する必要があります。

Eコマース特有のアドバイス: ファセットナビゲーションURL(/collections/shirts?color=red など)に注意してください。これらは何千ものほぼ重複したサイトマップエントリを生成する可能性があります。ほとんどのShopify SEOアプリはパラメータベースのURLをサイトマップからブロックできます。アプリを使用していない場合は、代わりにGoogle Search Consoleでパラメータ処理ルールを追加してください。

text
✅ 品質チェック:サイトマップURLを開きます。サブサイトマップの数を数えるか、URL数をスキャンします。500の製品があるのに3,000のURLが表示される場合は、パラメータベースの重複をチェックしてください。

パスC:モダンJavaScriptフレームワーク

サイトがNext.js、Nuxt、Astro、または類似のフレームワークで構築されている場合、サイトマップ生成はビルド時にプラグインまたは組み込みモジュールを通じて行われます。

Next.js(App Router)

Next.js 14+には組み込みの sitemap.ts ルートハンドラーが含まれています。app/sitemap.ts を作成します:

ts
import type { MetadataRoute } from 'next'

export default function sitemap(): MetadataRoute.Sitemap {
  const baseUrl = 'https://あなたのドメイン.com'

  return [
    { url: baseUrl, lastModified: new Date(), changeFrequency: 'monthly', priority: 1 },
    { url: `${baseUrl}/about`, lastModified: new Date(), changeFrequency: 'yearly', priority: 0.5 },
    { url: `${baseUrl}/blog`, lastModified: new Date(), changeFrequency: 'weekly', priority: 0.8 },
    // CMSやデータベースからの動的ルートをここに追加
  ]
}

数千ページのサイトでは、generateSitemaps() を使用して自動的に複数のサイトマップファイルに分割します。

コミュニティ代替案: next-sitemap(npmパッケージ)はpagesディレクトリをスキャンし、動的ルートをサポートし、robots.txt を自動更新します。

Nuxt

公式モジュールをインストール:

bash
npx nuxi@latest module add sitemap

nuxt.config.ts に基本設定を追加:

ts
export default defineNuxtConfig({
  site: { url: 'https://あなたのドメイン.com' },
  sitemap: {
    autoLastmod: true,
    credits: false, // 「生成元」コメントを削除
  },
})

このモジュールは pages/ ディレクトリ内のすべてのルートを自動検出します(動的ルートを含む)。

Astro

公式インテグレーションをインストール:

bash
npx astro add sitemap

astro.config.mjs でサイトURLを設定:

js
import { defineConfig } from 'astro/config'
import sitemap from '@astrojs/sitemap'

export default defineConfig({
  site: 'https://あなたのドメイン.com',
  integrations: [sitemap()],
})

Astroはビルド時に sitemap-index.xmlsitemap-0.xml を生成します。

制限: SSRモードの動的ルートはサイトマップに表示されません。AstroのServer Islandsをパーソナライズドコンテンツに使用する場合は、公開ページの静的サイトマップエントリを手動で生成してください。

サイトマップ生成リファレンス表

フレームワーク

パッケージ/モジュール

インストールコマンド

50k URLで自動分割?

Next.js 14+

組み込み sitemap.ts

不要

対応(generateSitemaps() 経由)

Next.js(Pages Router)

next-sitemap

npm i next-sitemap

対応

Nuxt 3/4

@nuxtjs/sitemap

npx nuxi module add sitemap

対応

Astro 4+

@astrojs/sitemap

npx astro add sitemap

対応

Vite(汎用)

vite-plugin-seo-files

npm i -D vite-plugin-seo-files

対応

SvelteKit

vite-plugin-svelte-sitemap

npm i -D @sveltejs/kit-sitemap

手動

text
✅ 品質チェック:サイトをビルドした後、生成されたサイトマップを開きます。すべてのURLが200ステータスコードを返すことを確認します。noindexページ、リダイレクト、404が存在しないことをチェックします。`/page/2`、`/page/3` などが表示される場合は、ページネーションアーカイブページの除外を検討してください。

パスD:静的サイトとカスタムビルド

CMSを使用しておらず、ビルド時のサイトマップジェネレーターもない場合、3つの実用的な選択肢があります:CLIツール、デスクトップクローラー、またはAIエージェントです。

オプション1:Static Sitemap CLI(ローカルファイルで最速)

static-sitemap-cli ツールはローカルファイルシステムをスキャンしてHTMLファイルを検出し、サイトマップを生成します:

bash
npx static-sitemap-cli --base-url https://あなたのドメイン.com --source ./public

これにより、現在のディレクトリに sitemap.xml が生成されます。サイトのルートフォルダにアップロードしてください。

最適な用途: すべてのHTMLファイルがローカルに存在する静的サイト(Hugo、Jekyll、11ty、またはプレーンHTML)。

オプション2:デスクトップクローラー(Screaming Frog)

Screaming Frog SEO Spiderはライブサイトをクロールし、サイトマップをエクスポートします。無料版は最大500URLをクロールできます。

  1. Screaming Frog SEO Spider をダウンロードしてインストール
  2. Mode > Spider に設定
  3. ホームページURLを入力してStartをクリック
  4. クロールが完了するのを待つ
  5. Sitemaps > XML Sitemap に移動
  6. <priority><changefreq> の選択を解除(Googleは両方を無視)
  7. ファイルをエクスポート

注意: 無料のオンラインサイトマップジェネレーターは信頼できません。独立したテストでは、正規化されたURL、noindexページ、3xxリダイレクト、404を日常的に含むことが判明しています。使用する場合は、Googleに送信する前に出力内のすべてのURLを検証してください。

オプション3:Claude Code / AIエージェント(2026年の方法)

時間がない(または手動クロールの忍耐力がない)場合は、より良い選択肢があります:Claude Codeに全体を任せることです。ドメインを伝えれば、クロール、フィルタリング、検証、ファイルの書き込みを行います。以下がその動作させるためのスキルです。

これをClaude Codeのskillsディレクトリに sitemap-generator.md として保存してください:

markdown
---
name: sitemap-generator
description: 任意のウェブサイトのクリーンなXMLサイトマップを生成します。サイトをクロールし、低価値URLをフィルタリングし、Search Console対応のsitemap.xmlファイルを出力します。
---

## 入力

エージェントにウェブサイトのURL、除外するページやURLパターン、サイトマップと一緒にllms.txtファイルが必要かどうかを伝えます。

## エージェントへの指示

### ステップ1:URLの発見

Playwrightまたはcurlベースのクロールを使用してサイト上のすべてのページを発見します。サイトマップを出発点として使用しないでください — ホームページからクロールし、内部リンクを追跡します。

見つけたすべてのURLについて以下を記録します:
- 完全な絶対URL
- HTTPステータスコード
- `<meta name="robots" content="noindex">` タグの有無
- 異なるURLを指すcanonicalタグの有無
- リダイレクト(3xx)かどうか
- ページタイトルとワードカウント(品質フィルタリング用)

### ステップ2:問題URLのフィルタリング

最終サイトマップから以下をすべて除外します:
- 4xxまたは5xxステータスコードを返すURL
- リダイレクトするURL(3xx)
- noindexメタタグまたはX-Robots-Tagヘッダーを持つURL
- canonicalタグが異なるURLを指しているページ
- `*/page/*`、`*/paged/*`、`*?page=*` などにマッチするページネーションURL
- トラッキングパラメータを含むURL(`utm_source`、`fbclid`、`gclid`、`ref=`)
- ログインページ、カートページ、チェックアウトページ、アカウントページ
- 表示テキストが50語未満のページ(薄いコンテンツ)
- PDF、画像、その他HTML以外のファイル(特にインデックスしたい場合を除く)

### ステップ3:サイトマップXMLの構築

Sitemap Protocol 0.90に従って有効なXMLサイトマップを生成します:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.90">
  <url>
    <loc>https://あなたのドメイン.com/ページ-url/</loc>
    <lastmod>2026-07-30</lastmod>
  </url>
  
</urlset>
```

ルール:
- すべてのURLは絶対パス(`https://` で始まること)
- すべてのURLに `<loc>` タグと `<lastmod>` タグが必要
- `<lastmod>` はページの実際の変更日をYYYY-MM-DD形式で使用。実際の日付が不明な場合はクロール日を使用
- `<priority>` と `<changefreq>` は含めない — Googleは両方を無視
- サイトマップが50,000URLまたは50MBを超える場合は、複数ファイルに分割してサイトマップインデックスを作成

### ステップ4:ファイルの書き込み

1. `sitemap.xml` をプロジェクトディレクトリに書き込む
2. `robots.txt` に次の行を含めて書き込み/更新:`Sitemap: https://あなたのドメイン.com/sitemap.xml`

### ステップ5:llms.txtの生成(オプション)

[llms-txt.org](https://llms-txt.org) 標準に従って `llms.txt` ファイルも作成します:

```text
# サイト名
> サイトが提供するものの簡単な説明、一文。

## ドキュメント
- [ページタイトル](https://あなたのドメイン.com/ページ-url/):一文の説明。

## ブログ
- [投稿タイトル](https://あなたのドメイン.com/blog/投稿-slug/):一文の要約。

## リソース
- [リソース名](https://あなたのドメイン.com/リソース/):説明。
```

### ステップ6:検証レポートの印刷

ファイル生成後、サマリーを印刷します:

```
サイトマップ生成完了:sitemap.xml
含まれるURL合計:247
除外されたURL合計:89
  - Noindex:12
  - リダイレクト:8
  - 別URLに正規化:15
  - 薄いコンテンツ(<50語):23
  - ページネーション:18
  - その他(ログイン、カート、パラメータ):13
Robots.txt:Sitemapディレクティブで更新済み
llms.txt:15セクションで作成済み
次のステップ:sitemap.xmlをサイトルートにアップロードし、Google Search Consoleで送信してください。
```

## 出力

- `sitemap.xml` — サイトルートへのアップロード準備完了
- Sitemap参照を含む更新済み `robots.txt`
- AIクローラー発見用のオプション `llms.txt`
- 含まれたものと除外されたものを示す検証レポート

## 制限

- このエージェントはサーバーにファイルをアップロードできません。手動で `sitemap.xml` をサイトのルートディレクトリに配置する必要があります。
- このエージェントはGoogle Search Consoleにアクセスできません。送信は手動で、または別途設定されたワークフローを通じて行う必要があります。
- サイトがJavaScriptを多用している場合、クライアントサイドでレンダリングされるページをクロールが見逃す可能性があります。その場合は、フレームワークネイティブのサイトマップジェネレーター(パスC)を優先してください。

Claude Codeでこのスキルを使用する方法:

  1. スキルファイルを ~/.claude/skills/sitemap-generator.md に保存
  2. プロジェクトディレクトリでClaude Codeを起動
  3. /sitemap-generator を実行し、プロンプトが表示されたらドメインを入力
  4. 検証レポートを確認し、生成された sitemap.xml をサイトルートにアップロード

このアプローチの本当の利点はフィルタリングです。noindexタグ、canonicalの不一致、リダイレクトを手動でチェックする面倒な部分をスキップし、自信を持ってGoogleに送信できるサイトマップを直接手に入れられます。

サイトマップのサイズ制限:1つのファイルでは足りない場合

Googleはサイトマップファイルごとに2つのハード制限を適用します:

  • 最大 50,000 URL
  • 非圧縮ファイルサイズ最大 50 MB

サイトがどちらかの制限を超える場合、サイトマップインデックス — 複数のサイトマップファイルをリストするファイル — が必要です。

サイトマップインデックスは次のようになります:

xml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.90">
  <sitemap>
    <loc>https://あなたのドメイン.com/sitemap-posts-1.xml</loc>
    <lastmod>2026-07-30</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://あなたのドメイン.com/sitemap-products-1.xml</loc>
    <lastmod>2026-07-30</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://あなたのドメイン.com/sitemap-pages.xml</loc>
    <lastmod>2026-07-29</lastmod>
  </sitemap>
</sitemapindex>

分割方法: URLを論理的にグループ化します — コンテンツタイプ別(投稿、製品、カテゴリー)、日付範囲別(2024-投稿、2025-投稿)、または言語別。その後、サイトマップインデックスのみをGoogle Search Consoleに送信します。すべての最新CMSプラグインとフレームワークサイトマップツールは分割を自動処理します。

text
✅ 品質チェック:インデックスにリストされている各子サイトマップは同じドメインでホストされ、同じディレクトリ(またはサブディレクトリ)にある必要があります。インデックスファイルから異なるドメインのサイトマップを参照することはできません。

重要なタグ(そして重要でない2つのタグ)

最小限のサイトマップはURLごとに2つの要素だけを必要とします:<loc><lastmod>。2026年における各タグの実際の役割は次のとおりです:

<loc> — 必須。絶対的な正規URL。

すべてのサイトマップエントリに1つ必要です。https:// で始まる完全なURLを使用し、各ページの正規バージョンを使用します。https://あなたのサイト.com/pagehttps://www.あなたのサイト.com/page の両方が存在する場合は、1つを選び、サイトマップ、canonicalタグ、内部リンクのすべての場所で一貫して使用します。

<lastmod> — オプションだが2026年では重要。

Googleが2023年6月にサイトマップpingエンドポイントを廃止して以来、<lastmod> はGoogleがどのページを再クロールするかを決定する主要なシグナルになりました。GoogleのGary Illyesは <lastmod> を使用すると確認しています — ただし、一貫して正確な場合のみです。

すべきこと: ページの主要コンテンツが意味のある変更を受けた場合(新しい情報、書き直されたセクション、更新されたデータ)に <lastmod> を更新します。

すべきでないこと: フッターの著作権年を更新したり、CMSを通じてページを再生成したり、サイドバーウィジェットを変更したりするような些細な変更のために <lastmod> を自動更新しないでください。

正確なタイムスタンプを維持できない場合は、<lastmod> を完全に省略してください。タイムスタンプがない方が誤解を招くタイムスタンプよりも良いです。

<priority><changefreq> — Googleに無視される。

Googleは両方のタグを無視すると公に述べています。John Muellerは優先度と更新頻度のタグを「もはや大きな役割を果たさない」ものと呼びました。Gary Illyesは <priority> を「ノイズの袋」と表現しました。

必要に応じてこれらを含めることはできます — 何の害もありません — しかし、主要な検索エンジンが使用しない値の調整に時間を費やさないでください。

2026年にサイトマップを検索エンジンに送信する方法

サイトマップの生成は仕事の半分です。検索エンジンはその存在を知る必要があります。

Googleに送信

方法1:Google Search Console(主要)

  1. Google Search Console にアクセス
  2. プロパティを選択
  3. 左サイドバーで、インデックス作成 > サイトマップ に移動
  4. 「新しいサイトマップを追加」フィールドにサイトマップURLを入力(例:sitemap.xml または sitemap_index.xml
  5. 送信をクリック

Googleは数分以内にサイトマップを取得します。1〜2日後にステータスを確認してください:「成功」はGoogleが処理したことを意味します。「取得できませんでした」または「エラーがあります」は何かが間違っていることを意味します — レポートを開いてどのURLが失敗したかを確認してください。

方法2:robots.txt(二次的だが推奨)

robots.txt ファイル(通常は あなたのドメイン.com/robots.txt)に次の行を追加します:

text
Sitemap: https://あなたのドメイン.com/sitemap.xml

複数のサイトマップまたはサイトマップインデックスがある場合:

text
Sitemap: https://あなたのドメイン.com/sitemap_index.xml

これにより、Googleだけでなく、あらゆる準拠クローラーがサイトマップを自動的に発見できます。

サイトマップpingに何が起こったか? Googleのpingエンドポイント(http://www.google.com/ping?sitemap=...)は2023年6月に廃止され、現在は404を返します。このURLにまだpingを送信している古いSEOプラグインを使用している場合、そのpingは何の効果もありません。ペナルティはありません — 単なる無操作です。送信ワークフローがSearch Consoleとrobots.txtを使用していることを確認してください。

Bingに送信(およびIndexNow経由でYahoo)

Bingはサイトマップ送信にIndexNowプロトコルを好みます。IndexNowはページを追加、更新、削除したときにBingに即座に通知します — スケジュールされた再クロールを待つ必要はありません。

SEOプラグイン経由のセットアップ: Rank Math、Yoast SEO、AIOSEOはすべてIndexNowをサポートしています。プラグイン設定で有効にすると、自動的にAPIキーを生成し、コンテンツが変更されたときにURLを送信します。

非プラグインサイトの手動セットアップ:

  1. APIキーを生成(8〜128文字の任意の文字列)
  2. キーファイルを https://あなたのドメイン.com/{あなたのキー}.txt にホストし、コンテンツをキーにする
  3. POSTリクエストでURLを送信:
bash
curl -X POST "https://api.indexnow.org/indexnow" \
  -H "Content-Type: application/json" \
  -d '{
    "host": "あなたのドメイン.com",
    "key": "あなたの-api-キー",
    "keyLocation": "https://あなたのドメイン.com/あなたの-api-キー.txt",
    "urlList": [
      "https://あなたのドメイン.com/新しいページ/",
      "https://あなたのドメイン.com/更新ページ/"
    ]
  }'

フォールバックとしてBing Webmaster Toolsにもサイトマップを送信 してください。サイトマップ > サイトマップの送信 に移動し、サイトマップURLを入力します。

クイックリファレンス:送信先

検索エンジン

主要チャネル

二次チャネル

Google

Search Console

robots.txt Sitemap: ディレクティブ

Bing

IndexNow(プラグインまたはAPI経由)

Bing Webmaster Tools

Yahoo

Bingがカバー

Yandex

IndexNow

Yandex Webmaster

Naver

IndexNow

Naver Webmaster

DuckDuckGo

robots.txt

Bingインデックスを使用

XMLを超えて:AI検索可視性のためのllms.txt

2025〜2026年に、llms.txt と呼ばれる新しい標準が登場し、ChatGPT、Perplexity、Claude、Google AI Overviewsの背後にあるようなAI駆動クローラーがコンテンツを発見・理解するのを支援しています。

llms.txtとは?

あなたのドメイン.com/llms.txt に配置されるプレーンテキストファイルで、サイトのキーページの構造化された人間と機械が読み取り可能なサマリーを提供します。「AIクローラーのための目次」と考えてください。

最小限のllms.txtファイル:

text
# サイト名
> サイトが提供するものの簡単な説明、一文。

## メインページ
- [ホーム](https://あなたのドメイン.com/):サイトの概要、一文。
- [概要](https://あなたのドメイン.com/about/):誰で、何をカバーしているか。
- [ブログ](https://あなたのドメイン.com/blog/):[トピック]に関する記事とガイド。

## 主要ガイド
- [サイトマップの作成方法](https://あなたのドメイン.com/blog/sitemap/):2026年版完全サイトマップガイド。
- [SEOの基本](https://あなたのドメイン.com/blog/seo-basics/):検索最適化の入門。

## リソース
- [無料ツール](https://あなたのドメイン.com/tools/):SEOツールと計算機。

オプションで、より深いAI処理のためにキーページの全文コンテンツを含む llms-full.txt ファイルを作成することもできます。

llms.txtは必要ですか?

おそらく、しかし緊急ではありません。 この標準は新しく、主要なAIプラットフォームがllms.txtが引用率に直接影響すると公に述べたことはありません。しかし、OpenAIのドキュメントはGPTBotが発見のために robots.txt ディレクティブを尊重することを確認しており、明確なコンテンツマップがあれば、人間であれAIであれ、あらゆるクローラーがサイトを理解しやすくなります。

コンテンツ戦略にAI検索可視性が含まれている場合、XMLサイトマップと一緒にllms.txtを生成することは、低労力で将来を見据えた動きです。手動フォーマットをスキップしたい場合は、AuspiaのLLMs.txtジェネレーターがサイトをスキャンしてファイルを作成します。

よくあるサイトマップの間違い(と修正方法)

自動生成を使用していても、サイトマップは問題を起こす可能性があります。最も頻繁な問題とその検出方法は次のとおりです:

問題

なぜ重要か

検出方法

修正方法

サイトマップ内のnoindexページ

矛盾したシグナル:サイトマップでは「これをインデックス」、メタタグでは「インデックスするな」。Googleは通常noindexタグに従うが、クロールバジェットを浪費する。

Search Consoleで、Pages > 「Submitted in sitemap」に移動し、「Excluded by noindex tag」を探す。

サイトマップから削除。WordPressでは個別投稿設定を確認。フレームワークではサイトマップ生成前にフィルターを追加。

サイトマップ内のリダイレクト(3xx)

Googleはリダイレクトに従うが、余分なホップでクロールバジェットを浪費する。

サイトマップURLをクロールし、3xxステータスコードをチェック。ほとんどのSEOクローラーがこれをフラグする。

サイトマップエントリを最終宛先URLに更新。

サイトマップ内の404ページ

デッドエンドにクロールバジェットが浪費される。

Search Consoleはこれらを「Submitted URL not found (404)」で報告。

URLをサイトマップから削除するか、404が偶然の場合はページを復元。

サイトマップ内の正規化されたURL

サイトマップは「これをインデックス」と言い、canonicalは「本当のバージョンはあちら」と言う。検索エンジンはサイトマップエントリを無視する可能性がある。

サイトマップURLとcanonicalタグを比較。無料のオンラインジェネレーターが最も悪質な原因。

非正規URLを削除。各ページの正規バージョンのみがサイトマップに含まれるべき。

低品質または薄いページ

ランク付けされず、クロールバジェットを浪費し、サイト全体の品質シグナルを希釈する。

200語未満のコンテンツ、自動生成タグページ、ほぼ重複した製品ページをチェック。

ページコンテンツを大幅に改善するか、noindexにするか、完全に削除。

`<lastmod>` の欠落または自動生成タイムスタンプ

正確なlastmodがないと、Googleはどのページが変更されたかを推測しなければならない。

サイトマップが毎回のビルドですべてのURLの <lastmod> を現在の日付に再生成していないか確認 — それが無視されるシグナル。

ページコンテンツが実際に変更された場合のみ <lastmod> を更新。

robots.txtでサイトマップが参照されていない

クローラーが発見できない可能性がある。

あなたのドメイン.com/robots.txt を開き、「Sitemap:」を検索。

下部に Sitemap: https://あなたのドメイン.com/sitemap.xml を追加。

サイトマップインデックスではなくサイトマップURLが送信されている

サイトマップインデックスがある場合、子サイトマップを直接送信すると、Googleは他の子サイトマップの存在を知らない。

Search Console > サイトマップ をチェック。インデックスではなく個別のサイトマップファイル名が表示される場合は、インデックスを再送信。

個別の子サイトマップではなく、サイトマップインデックスURL(sitemap_index.xml)を送信。

text
🔍 クイック監査:Google Search Console > インデックス > サイトマップ を開きます。「検出されたURL」と「インデックスされたURL」の列を見てください。検出数がインデックス数を大きく上回る場合、サイトマップに品質問題がある可能性があります。レポートを掘り下げて、どのURLが除外され、その理由を確認してください。

完成したサイトマップの検証

完了と呼ぶ前に、このチェックリストを実行してください:

  • [ ] サイトマップにアクセス可能: あなたのドメイン.com/sitemap.xml(または sitemap_index.xml)が200ステータスコードと有効なXMLを返す
  • [ ] すべてのURLが絶対パス: すべての <loc>https:// で始まる
  • [ ] すべてのURLが正規: サイトマップ内のURLが他の場所を指すcanonicalタグを持っていない
  • [ ] noindexページがない: Search Consoleで送信済みサイトマップページの「Excluded by noindex」を確認
  • [ ] リダイレクトや404がない: サイトマップURLのクイッククロールで検証
  • [ ] ページネーションやパラメータURLがない: フィルターページ、検索結果、トラッキングURLが除外されている
  • [ ] `<lastmod>` が正確: タイムスタンプがビルド日ではなく実際のコンテンツ変更を反映
  • [ ] Google Search Consoleにサイトマップを送信済み: ステータスが「成功」と表示
  • [ ] robots.txtを更新済み: Sitemap: ディレクティブを含む
  • [ ] IndexNowを設定済み(オプション): SEOプラグインまたは手動APIセットアップで有効化
  • [ ] llms.txtを生成済み(オプション): あなたのドメイン.com/llms.txt で明確なコンテンツマップを利用可能

よくある質問

数ページしかないサイトでもサイトマップは必要ですか?

適切な内部リンクがあり、すべてのページがホームページから到達可能であれば、Googleはサイトマップなしでもコンテンツを見つけられる可能性が高いです。しかし、サイトマップを持つことにデメリットはなく、Googleが新しいページをより早く発見するのに役立ちます。10URLのサイトマップは5分で設定できます — やっておきましょう。

サイトマップはページのランキング向上に役立ちますか?

いいえ。Googleはサイトマップがランキングとは無関係であると繰り返し確認しています。サイトマップは発見とインデックスを助けます — ランキングが可能になる前の必要なステップ — しかし、ランキング位置には影響しません。

サイトマップを使って新しいコンテンツをより早くインデックスさせることができますか?

はい、ただし正確な <lastmod> 値と適切な送信ワークフローとの組み合わせが必要です。新しいコンテンツが公開されたときに <lastmod> を更新し、Search Consoleでサイトマップを送信すれば、Googleは自然なクロールを待つよりも早く新しいURLを発見します。Bingでのリアルタイム通知にはIndexNowを使用してください。

サイトマップはどのくらいの頻度で更新すべきですか?

サイトマップはサイトの現在の状態を反映すべきです。CMSやフレームワークプラグインを使用している場合、これは公開やビルドのたびに自動的に行われます。手動でサイトマップを生成している場合は、重要なページを追加または削除するたびに更新してください。固定のスケジュールは必要ありません。

XMLサイトマップとHTMLサイトマップの違いは何ですか?

XMLサイトマップは検索エンジン向けの機械可読ファイルです。HTMLサイトマップはサイト上のすべての重要なページへのリンクをリストした人間可読のページ(目次のようなもの)です。HTMLサイトマップは15年前の一般的なSEO手法でしたが、今日ではほとんど必要ありません — よく構造化されたナビゲーションとフッターが同じ目的を果たします。

サイトマップに画像や動画を含めるべきですか?

画像がJavaScriptで読み込まれる(したがってGoogleが発見しにくい)場合や、画像検索が意味のあるトラフィックソースである場合は、画像サイトマップエントリを含めてください。Google動画検索結果に表示したい動画コンテンツをホストしている場合は、動画サイトマップエントリを含めてください。ほとんどのテキストベースのブログでは、サイトマップ内の標準ページURLで十分です — Googleはページコンテンツから自動的に画像を抽出します。

異なる言語用に別々のサイトマップが必要ですか?

多言語サイトがサブディレクトリ(/en//fr//de/)を使用している場合、すべての言語バージョンを同じサイトマップに入れ、<xhtml:link rel="alternate"> タグで相互に指すことができます。別々のドメイン(.com.fr.de)を使用する場合は、各ドメインがSearch Consoleに個別に送信する独自のサイトマップを必要とします。

すでにXMLサイトマップがある場合、llms.txtは必要ですか?

異なる目的です。XMLサイトマップはクローラーに「これらのURLが存在する」と伝えます。llms.txtファイルはコンテンツを要約し、AIモデルが何を深く読むべきかを決定できるようにします。これらは互いに補完し合い、すでにサイトマップを構築している場合は両方を生成するのに最小限の追加労力しかかかりません。

著者:Julian Mercer、Auspia 14年テクニカルSEO実践者。Julianはクローラビリティ、サイトアーキテクチャ、サイトマップ、そしてSEOとAI検索可視性を可能にする技術的基盤について執筆しています。

このトピックを読む

同じテーマの記事を続けて読む