REEID 編集部

多言語 WordPress における hreflang のよくあるミス

多言語 WordPress サイトでは、hreflang は各言語版が同じ代替ページ群を指し、各対象がインデックス可能で、コンテンツの変更に合わせて URL が整合している場合にのみ機能します。最も多い失敗は、構文エラーだけではなく、投稿、テンプレート、正規 URL、リダイレクト、言語マッピングの間の関係が壊れることです。

12 Sep 20262 min read

要点

hreflang は一度追加するタグではなく、関係性のグラフとして扱ってください。いずれかの言語 URL が変わると、リダイレクト、正規 URL、投稿の更新によって戻りリンクが壊れ、セット全体の信頼性が低下する可能性があります。

WordPress で hreflang が壊れやすい理由

hreflang は、相互に対応する言語 URL の完全なセットに依存します。WordPress では、そのセットは通常、コンテンツの関係、パーマリンク構造、そして言語マッピングを保存する何らかのシステムから組み立てられます。その連鎖のどこかが他と更新されないまま変わると、代替ページ群は同じコンテンツセットを示さなくなります。

そのため、多くの失敗は壊れたページとしては見えません。ページ自体は表示されますが、検索エンジンには矛盾したシグナルが送られます。ある URL は英語版だと主張し、別の URL は異なるスラッグを指し、さらに別の版はもはやインデックス可能でないか、別の場所に正規化されているかもしれません。結果として起きるのは、単なるマークアップの問題ではなく、関係性の問題です。

戻りリンクの欠落

hreflang のセットは相互でなければなりません。フランス語ページが英語ページを指すなら、英語ページもフランス語ページと、セット内の他の有効な代替ページすべてを指し返す必要があります。

WordPress では、翻訳が後から公開された場合、テンプレートが一部の投稿タイプでしか代替ページを出力しない場合、または言語関係が一方向にしか存在しない場合に、戻りリンクが失敗しがちです。これにより不完全なグラフが生まれます。検索エンジンはページが代替を主張していることは見えても、各メンバーから完全なセットを検証できません。

運用上の結果として、1 つの相互リンクの欠落がクラスタ全体を弱めることがあります。コンテンツ編集者が 1 つの言語版だけを更新し、関係性はまだ保たれていると考えている場合、この問題は特に見落としやすくなります。

言語やロケールのマッピングの誤り

よくある失敗は、言語コード、地域バリエーション、サイトラベルを混同することです。hreflang の値は、メニューのラベルやサイト内部の命名規則ではなく、実際の言語または言語・地域の対象を表さなければなりません。

WordPress では、英語のバリエーションが複数あるサイトや、コンテンツ移行後に翻訳が誤ったロケール関係に割り当てられた場合によく見られます。ページ自体は完全に翻訳されていても、マッピングが誤った言語や地域を示していれば、シグナルは誤解を招くものになります。

これは、hreflang が非常に近いバージョンを区別するために使われるから重要です。マッピングが誤っていると、コンテンツ自体は正しくても、検索エンジンはユーザーの言語や地域に最適なページとして別のページを扱ってしまう可能性があります。

言語版間で一貫しない URL セット

hreflang クラスタ内の各ページは、同じ代替ページのセットを参照する必要があります。英語ページが英語、フランス語、ドイツ語を一覧しているのに、ドイツ語ページがドイツ語と英語しか一覧していない場合、そのセットは一貫していません。

これは通常、言語関係を手動で管理している場合、異なる翻訳カバレッジを持つ投稿タイプ間でテンプレートを再利用している場合、または一致する翻訳がないために一部のページが代替出力から除外されている場合に起こります。問題は 1 つの URL が欠けていることだけではなく、クラスタがもはや安定した共有セットを表していないことです。

WordPress 実装者にとっての実務上の問いは、代替ページ一覧が現在のコンテンツ関係から導出されているのか、それともテンプレートごとにハードコードされているのかです。ハードコードされた一覧は、翻訳が追加、削除、または非公開になった瞬間にずれていきます。

インデックス不可の対象

hreflang は、検索エンジンがインデックスできる URL を指すべきです。対象がブロックされている、noindex になっている、利用不可である、またはその他の理由でインデックス対象にならない場合、それは信頼できる代替ページとして機能できません。

WordPress では、翻訳ページがまだ下書きである、保護されている、サイト設定で除外されている、またはインデックス対象ではないルート経由で表示されている場合に起こりえます。コンテンツシステムには翻訳が存在していても、公開 URL に実際にはアクセスできない場合もあります。

この失敗は微妙です。CMS 上では関係性が完全に見えても、遷移先は検索インデックスに参加できません。つまり、hreflang シグナルがクラスタ内で役割を果たせないページを指していることになります。

hreflang セット内にあるリダイレクト

hreflang は、すぐにリダイレクトされる URL ではなく、最終的な正規の到達先 URL を参照すべきです。リダイレクトは別の解釈層を追加し、どの URL が言語版を表すのかを曖昧にする可能性があります。

WordPress では、パーマリンク変更、スラッグ更新、言語別ルーティングの調整の後にリダイレクトがよく発生します。hreflang の出力が古い URL のままなら、関係性は移動中の対象を指していることになります。後でリダイレクトチェーンが変わると、hreflang セットは静かに劣化する可能性があります。

エンジニアリング上のトレードオフは明確です。リダイレクトは古いリンクを維持するのに役立ちますが、hreflang は安定した到達先 URL 上で管理すべきです。そうでなければ、言語グラフとルーティング層が乖離してしまいます。

正規 URL の競合

hreflang の URL とその正規シグナルは、そのコンテンツをどのページが代表するかについて一致している必要があります。翻訳ページが別の言語版に正規化されていると、シグナルが衝突します。

これは、正規化ロジックがテンプレートから継承されている場合、プラグイン所有のデータ層が代替ページを出力する一方でテーマや SEO 層が別の正規 URL を出力する場合、またはコンテンツ関係が正規対象を調整せずにある言語から別の言語へコピーされた場合に起こりえます。その結果、あるシステムは「これはフランス語ページだ」と言い、別のシステムは「英語ページが優先版だ」と言います。

この競合により、検索エンジンは同じ URL について 2 つの競合する指示を受け取るため、hreflang の信頼性が下がる可能性があります。最も安全なパターンは一貫性です。意図的かつ文書化された理由がない限り、各インデックス可能な言語ページは自分自身を正規化すべきです。

コンテンツ変更後に古くなる関係性

WordPress のコンテンツ変更は、必ずしも言語関係を自動的に保持しません。スラッグ変更、翻訳削除、投稿複製、コンテンツ統合によって、投稿メタ、カスタムフィールド、またはプラグイン所有の関係データに古い参照が残ることがあります。

これは最も一般的な長期的失敗の 1 つです。サイトは公開時点では正しかったかもしれませんが、時間が経つにつれて編集者が 1 つの言語を更新したり、ページを移動したり、翻訳を終了したりしても、代替ページセットは再構築されません。その結果、hreflang 出力はもはや一緒に属さない URL を宣伝してしまいます。

運用上のリスクは累積的です。コンテンツ変更が多いほど、システムが現在の唯一の正しい情報源から関係性を再生成しない限り、言語グラフが部分的に古くなる可能性が高くなります。

WordPress でこれらの失敗が通常どのように現れるか

WordPress における hreflang の問題の多くは、コンテンツ状態と出力状態の不一致から生じます。CMS はどの投稿が翻訳かを把握していても、レンダリングされたページ、正規タグ、リダイレクト層、またはパーマリンク構造がその関係をもはや反映していないことがあります。

そのため、実装者は依存関係として考えるべきです。翻訳関係、公開 URL、対象のインデックス可能性、正規の到達先はすべて一致している必要があります。どれか 1 つの層が他と異なるまま変わると、マークアップ自体が構文的に正しくても、hreflang クラスタは不整合になります。

重要

よくある質問

他のページが正しいのに、なぜ 1 つの戻りリンクの欠落が重要なのですか?

hreflang は相互セットとして評価されるからです。あるページが、戻りリンクを持たない代替ページを指している場合、そのクラスタは不完全であり、関係性の信頼性が低くなります。

hreflang はリダイレクト URL と最終 URL のどちらを指すべきですか?

最終的で安定した到達先 URL を指すべきです。リダイレクトは、言語関係からずれてシグナルを弱める別の層を追加します。

ページが noindex でも hreflang セットに含められますか?

いいえ。インデックス不可の対象は、検索エンジンがインデックスすることを意図していないため、クラスタ内の代替ページとして信頼性をもって機能できません。

WordPress で hreflang が古くなる主な原因は何ですか?

スラッグ更新、翻訳削除、複製、統合などのコンテンツ変更により、セットが再生成されない場合、投稿メタ、カスタムフィールド、またはプラグイン所有データに古い言語関係が残ることがあります。

アーキテクチャを活用する

多言語システムで WordPress の統合がどう動作するかを見る

REEID 統合ディレクトリで、プラグイン固有の互換性、翻訳対象、実装メモを確認してください。

Shopping Cart
Scroll to Top