独自調査 · テクニカルSEO · 2026年
hreflangとcanonicalの監査:16言語・192 URLを検証
DigestSEOの12種類のページを16言語で取得し、サーバーが返すHTMLを検証しました。結果の根拠となるURL別データと再現用スクリプトを公開しています。
監査で確認できたこと
対象の192 URLはすべてHTTP 200を返し、自分自身を指すcanonicalと適切なHTMLの言語属性が設定されていました。hreflangの相互参照も成立し、各ページに16言語分の代替URLとx-defaultがありました。
公開前に再現できる5つのチェック
HTTPステータスとリダイレクト
192 URLすべてがリダイレクトなしでHTTP 200を返しました。接続失敗はSEOエラーと分けて記録します。
自己参照canonical
各言語ページのcanonicalは自身のURLでした。canonicalとhreflangは別の目的を持つ指定です。
hreflangの相互参照とx-default
すべての言語代替URLと、参照先から戻るリンクを確認しました。x-defaultも含まれていました。
HTML言語とrobots
lang属性は16言語の設定と一致し、取得したHTMLにmeta noindexは見つかりませんでした。
タイトルと説明文
12種類のページそれぞれに、16個の異なるタイトルと説明文がありました。自然な翻訳かどうかは評価していません。
どのページを調べたか
12のURLパターンについて、英語版と15の翻訳版を検証しました。CSVには192件すべてのURL別結果が記録されています。
192件のリクエストの対象範囲
各マスは12種類のURLと16言語の組み合わせを示します。色付きはスクリプトの検証項目で問題が見つからなかったことだけを示し、Googleへの登録を意味しません。
| 対象のURLパターン | en | de | es | fr | id | it | ja | ko | nl | pl | pt-BR | sv | tr | uk | vi | zh-CN | 問題を検出せず |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/site-audit/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/free-seo-tools/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/keyword-research/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/top-websites/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/seo-guide/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/gsc-mcp/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/sitemap-checker/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/link-redirect-checker/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/link-slug-generator/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/http-status-checker/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
/internal-link-checker/ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 16/16 |
| ページの種類 | HTTP 200 | 自己参照canonical | hreflang相互参照 | 異なるタイトル |
|---|---|---|---|---|
/ | 16/16 | 16/16 | 16/16 | 16/16 |
/site-audit/ | 16/16 | 16/16 | 16/16 | 16/16 |
/free-seo-tools/ | 16/16 | 16/16 | 16/16 | 16/16 |
/keyword-research/ | 16/16 | 16/16 | 16/16 | 16/16 |
/top-websites/ | 16/16 | 16/16 | 16/16 | 16/16 |
/seo-guide/ | 16/16 | 16/16 | 16/16 | 16/16 |
/gsc-mcp/ | 16/16 | 16/16 | 16/16 | 16/16 |
/sitemap-checker/ | 16/16 | 16/16 | 16/16 | 16/16 |
/link-redirect-checker/ | 16/16 | 16/16 | 16/16 | 16/16 |
/link-slug-generator/ | 16/16 | 16/16 | 16/16 | 16/16 |
/http-status-checker/ | 16/16 | 16/16 | 16/16 | 16/16 |
/internal-link-checker/ | 16/16 | 16/16 | 16/16 | 16/16 |
検証方法と再現手順
- 公開HTTPS URLを192件取得します。同時接続は最大6件、各リクエストのタイムアウトは20秒です。
- ブラウザーで描画したDOMではなく、返却されたHTMLからcanonical、hreflang、lang、title、description、robotsを抽出します。
- HTTPステータス、最終URL、自己参照canonical、言語別代替URLと相互リンクを照合します。
- 取得失敗は別に数え、日時を記録したCSVとNode.jsスクリプトを公開します。
データの閲覧は可能ですが、別途オープンデータの再利用ライセンスが付与されたものではありません。詳しくは サイト利用規約.
測定結果はサーバーHTMLの自動検証に基づきます。文章と翻訳にはAIの支援を使用しており、独立したネイティブ校閲が行われたとは主張しません。
この調査で分からないこと
翻訳の正確さ、検索意図との一致、Googlebotによる描画、インデックス登録、検索順位、被リンク、対象外のページは調べていません。今回のルールでエラーがゼロでも、SEO全体に問題がないという意味ではありません。
多言語SEOへの活用
言語版を公開する前に、canonicalとhreflangの双方向リンクを自動検証してください。その後、現地の検索意図に合う文章か、検索結果でどう評価されているかを別途確認する必要があります。hreflangガイドとサイトマップ確認ツールも参照できます。
データと参照資料
- 元データ (CSV) · 2026年11月2日 UTC
- 再現用スクリプトを見る · Node.js
- Google Search Central · hreflang
- Google Search Central · canonical