本文へスキップ
投稿日:
2026年01月24日
更新日:
2026年09月15日

多言語サイトのsitemap.xmlを作るときの確認事項

最終更新日時
2026年09月15日
publishedAt
ogImage
author
description
言語別URLとhreflangをサイトマップで管理する方法を説明します。XMLの書き方、容量による分割、複数ドメインでの送信、公開後の点検を整理します。
作成日時
2026年01月24日
category
実装・運用
status
公開
テキスト
slug
multilingual-sitemap-xml
タグ
XMLサイトマップは、検索結果に表示させたいURLを検索エンジンへ知らせるためのファイルです。多言語サイトでは、各URLに対応する言語版の情報も記載できます。送信しただけで、すべてのページの取得や検索への登録が保証されるわけではありません。
notion image

hreflangをどこで管理するか決める

言語版の指定方法には、HTML、HTTPヘッダー、XMLサイトマップがあります。Googleでは3つとも同等に扱われます。XML方式がすべてのサイトで優れているわけではなく、CMSの出力、更新担当、扱うファイルに合わせて選びます。
サイトマップにまとめる方法では、ページのHTMLに言語版の情報を追加せずに管理できます。一方、公開されているURLとサイトマップの対応を継続して更新する必要があります。複数の方法を併用する場合は、不一致が起きないようにしてください。Googleの言語版の指定方法を参照できます。
notion image

各URLに、自分自身を含む言語版を記載する

同じ内容の日本語版と英語版がある場合、それぞれのURLの項目に同じ対応関係を入れます。下記のURLは説明用です。xhtmlの名前空間を宣言し、URLは完全な形で記載します。
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <url> <loc>https://example.com/ja/product/</loc> <xhtml:link rel="alternate" hreflang="ja" href="https://example.com/ja/product/" /> <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/product/" /> </url> <url> <loc>https://example.com/en/product/</loc> <xhtml:link rel="alternate" hreflang="ja" href="https://example.com/ja/product/" /> <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/product/" /> </url> </urlset>
自分自身への指定と、相手から戻る指定を確認します。言語別のトップページを並べるだけでは、製品や記事ごとの対応にはなりません。翻訳が存在しないページを、存在するものとして出力しないようにします。

言語と地域のコードを取り違えない

誤った設定
意図
正しい設定
解説
en-UK
イギリス向け英語
en-GB
イギリスのISO国コードは GB(United Kingdomではない)
jp
日本語
ja
日本語のISO言語コードは ja。jp は国コード
zh-CN
繁体字中国語
zh-TW または zh-Hant
CN は中国本土(簡体字圏)を指す
eu
ヨーロッパ全域
(設定不可)
EU という地域コードはGoogleがサポートしていない。国単位での指定が必要
x-defaultは、指定した言語・地域に一致しない場合の案内先として検討します。言語選択ページや既定のページを指定できますが、必須ではありません。
notion image

URL数だけでなく、非圧縮の容量も確認する

1つのサイトマップは、50,000 URLまたは非圧縮で50MBが上限です。どちらかを超える場合は分割します。hreflangの子要素はURL数の上限には数えませんが、ファイル容量には含まれます。Googleのサイトマップ作成ガイドを参照してください。
元となるページがN件あり、すべてをL言語で公開するなら、URLの項目はN×L件です。各項目にL個の言語版リンクを入れると、リンク要素はN×L²個になります。以下は、その条件での試算です。
条件
URLエントリ総数
1エントリあたりのリンク数
総ノード数
1万ページ × 2言語
20,000
2
40,000
1万ページ × 20言語
200,000
20
4,000,000
分割したファイルは、サイトマップインデックスでまとめる方法があります。言語別や製品・記事別に分けると、更新処理や問題の調査を分担しやすくなります。分割単位は必須の型ではなく、容量と管理方法に合わせて決めます。

配置先と送信方法を、管理しているサイトに合わせる

同じドメインのサブディレクトリで言語を分けている場合は、対象URLを含むサイトマップを用意し、Search Consoleで送信するか、robots.txtから場所を知らせます。配置する階層や、送信するプロパティの対象範囲も確認します。
複数ドメインでは、各サイトで管理する方法と、1か所に集約する方法があります。集約する場合は、Search Consoleで対象サイトの所有権を確認して送信する方法や、各サイトのrobots.txtから、そのサイトのURLを記載したサイトマップを参照する方法があります。どちらかが常に優れているわけではありません。詳しい条件はGoogleの複数サイト向け送信手順に従ってください。
robots.txtに場所を示す記述例です。実際に管理するサイトマップのURLへ置き換えます。
Sitemap: https://example.com/sitemap.xml
notion image

サイトマップと、実際のページを照合する

検索に出したい正規URLを掲載し、削除済みページやリダイレクト前のURLが残っていないかを確認します。パラメーター付きURLが一律に使えないわけではありません。追跡用パラメーターと、内容や言語を区別するパラメーターを分け、正規化の方針に合わせます。
取得できない場合は、HTTPの応答、認証やアクセス制限、空の本文、XMLの構文、応答にかかる時間を調べます。動的生成が一律に禁止されているわけではありませんが、安定して取得できるように生成方法やキャッシュを検討します。
canonicalとサイトマップで別のURLを示している場合は、どちらを検索に出したいかを確認します。タグの機械的な優先順位だけで結果を断定せず、Search Consoleで選ばれた正規URLも見ます。サイトマップの掲載と、利用者がたどる内部リンクの整備は両方必要です。
検証フェーズ
推奨ツール・手法
チェック項目
生成前
CMS/DBクエリ
言語コードの正当性、正規URLリストとの突合
生成後(デプロイ前)
Screaming Frog SEO Spider
ローカル環境でXMLをクロールし、相互参照の欠如や非正規URLの混入を検出
デプロイ後
Hreflang Tags Testing Tool
公開されたXMLを解析し、クラスターの整合性を可視化
運用中
Google Search Console
カバレッジレポートでエラー推移を監視
notion image
ページの追加・削除や言語の追加時には、生成結果と公開URLを再確認します。関連する設定の点検は多言語サイトのSEO実装ガイドで説明しています。