多言語ページが出ない原因は一つとは限りません。URLがリダイレクトされ、canonicalは原文を指し、本文はJavaScript実行後にしか現れない、といった問題が重なることがあります。症状ではなく、取得・レンダリング・インデックス・言語対応の順に診断します。
1. URLが200で誰でも取得できるか
最初に対象URLをログアウト状態で開き、HTTP 200を返すか確認します。地域・ブラウザ言語で別URLへ強制転送する、ログインが必要、CDNがbotを拒否する、誤って404やソフト404になる、といった問題を除きます。
robots.txtはクロール制御、noindexはインデックス制御です。robotsでブロックしたままnoindexを置くと、検索エンジンがnoindexを読めない場合があります。URL検査で取得結果を確認します。
2. canonicalとサイトマップが同じURLを示すか
翻訳ページ自身を検索へ出したいのにcanonicalが原文を指していないか確認します。HTTPとHTMLで複数のcanonicalを出していないか、末尾スラッシュやhttp/httpsが食い違っていないかも見ます。
XMLサイトマップには最終的に200を返すcanonical URLだけを載せます。削除済みURL、リダイレクトURL、noindex URLを混ぜないようにし、Search Consoleで送信・検出・インデックスの件数差を追います。
3. 可視本文が対象言語として十分か
ナビゲーションだけ翻訳し、本文の大半が原文のままだと、ページ言語が不明確になります。タイトル、主要見出し、本文、リンク文言を一つの言語へ揃えます。言語切替で同じURLの表示だけ変える構成も発見性を下げます。
薄い翻訳、重複したテンプレート、意味のない大量生成は、クロールできても価値のあるページとは判断されにくくなります。固有の役割、対象市場の情報、問い合わせ導線を持たせます。
4. JavaScriptとhreflangは最後に照合する
初期HTMLに本文やリンクがなく、JavaScript後にだけ現れる場合は、レンダリング結果で確認します。GoogleはJavaScriptを処理しますが時間差があり、すべてのbotが実行できるわけではありません。サーバー側または静的HTMLで主要内容を返す方が堅実です。
取得・canonical・本文が正常になった後でhreflangの相互参照、自己参照、コード、200応答を監査します。hreflangはインデックス登録そのものを強制するタグではありません。
- URL検査の取得HTMLとレンダリング後HTMLを比較する
- 主要リンクがa要素と実URLで存在するか確認する
- hreflang先がインデックス可能なcanonical URLか確認する
実行前に押さえる要点
- HTTP 200、robots、noindexを最初に確認し、取得できない状態でタグだけ直さない。
- canonicalとサイトマップを同じ最終URLへ揃え、翻訳ページを原文へ統合しない。
- 可視本文とJavaScriptレンダリングを確認した後にhreflangを監査する。