2026年8月14日
2026年8月14日
WordPressの国際ターゲティング設定(hreflangとURL構成で国・言語を伝える)
WordPressサイトで海外の検索ユーザーを狙うときは、かつてのSearch Consoleの「インターナショナル ターゲティング」で国を指定するのではなく、URL構成、hreflangタグ、ページの言語と内容の3つでGoogleに対象の国と言語を伝えます。この記事では、旧機能が使えなくなった現在の考え方、WordPressでのURL構成の選び方、多言語プラグインと手動でのhreflangの設定方法、設定後の確認手順を説明します。
Search Consoleの国際ターゲティングはもう使えない
以前のSearch Consoleには、サイトの対象国を指定したり、hreflangのエラーを一覧したりできる「インターナショナル ターゲティング」レポートがありました。このレポートは2022年に廃止されており、2026年10月現在のSearch Consoleには国を指定する設定はありません。古い解説記事にある「Search Consoleで対象国を日本に設定する」といった手順は、今は実行できません。
Googleは現在、主に次のような情報から、ページがどの言語で書かれ、どの国の利用者向けかを判断しています。
- URLの構成(国別ドメイン、サブディレクトリ、サブドメイン)
- hreflangによる言語・地域の対応関係の指定
- ページに表示されている本文の言語
- 通貨、住所、電話番号、配送先など、地域を示す内容
逆に、<meta name="geo.region"> のような地域用のmetaタグは、Googleは使っていないと説明しています。サーバーの設置場所も、CDNの普及によって判断材料としての重みは小さくなっています。
URL構成を決める
最初に決めるべきは、言語や国ごとのページをどんなURLで提供するかです。後から変えると大規模なリダイレクトが必要になるので、慎重に選んでください。
| 構成 | 例 | 向いているケース |
|---|---|---|
| 国別ドメイン(ccTLD) | example.jp / example.de | 国ごとに事業体や商品が違い、国単位で強く訴求したい |
| サブディレクトリ | example.com/en/ | 1つのWordPressで運用したい。多くのサイトで扱いやすい |
| サブドメイン | en.example.com | 言語ごとにサーバーや運用チームを分けたい |
国別ドメインは、そのドメイン自体が「この国向け」という強い手がかりになります。一方で、.com などの汎用ドメインでも、サブディレクトリとhreflangを組み合わせれば国や言語の出し分けは十分に可能です。WordPressの多言語プラグインの多くはサブディレクトリ方式を標準にしており、管理の手間が少ないのが利点です。
URLにパラメータで言語を付ける方式(?lang=en)は、Googleが推奨していない構成なので避けたほうが無難です。
WordPressの言語設定を確認する
管理画面の「設定」→「一般」にある「サイトの言語」は、管理画面の表示言語だけでなく、テーマが language_attributes() を通じて出力する <html lang="..."> の値にも使われます。日本語サイトなら ja、英語サイトなら en-US などになっているかを、ページのソースで確かめてください。
Googleはページの言語を本文から判定するため、lang 属性はhreflangの代わりにはなりません。ただしスクリーンリーダーなどの支援技術やブラウザの翻訳機能が参照するので、正しい値にしておく意味はあります。
多言語プラグインでhreflangを出力する
1つのWordPressで複数言語を管理するなら、WPML、Polylang、TranslatePressなどの多言語プラグインを使うのが現実的です。これらのプラグインは、翻訳どうしを紐づけておくと、各ページの <head> に対応する言語版のhreflangタグを自動で出力します。
設定時に気をつけたい点は次のとおりです。
- 翻訳記事を作るときは、プラグインの機能で元記事と紐づける。別々に作った記事はhreflangで結ばれない
- 言語コードは
ja、enのような言語だけの指定か、en-US、en-GBのような言語と地域の組み合わせにする。地域だけ(usなど)は無効 - 対応する言語版がないページは無理に紐づけない。内容の違うページを結ぶと、hreflangが無視される原因になる
- SEOプラグインと多言語プラグインの組み合わせによっては、サイトマップやcanonicalの出力に連携設定が必要な場合がある
手動でhreflangを出力する場合
日本語サイトと英語サイトを別々のWordPressで運用しているなど、プラグインで紐づけられない構成では、自分でhreflangを出力します。次の例は、日本語サイト側の投稿にカスタムフィールド hreflang_en_url として英語版のURLを入れておき、値がある投稿にだけタグを出力するものです。子テーマの functions.php か独自プラグインに追加します。
<?php
// 日本語版の投稿に、英語版との対応を示す hreflang を出力する
add_action( 'wp_head', function () {
if ( ! is_singular() ) {
return;
}
$post_id = get_queried_object_id();
$en_url = get_post_meta( $post_id, 'hreflang_en_url', true );
if ( ! $en_url ) {
return;
}
$ja_url = get_permalink( $post_id );
printf( '<link rel="alternate" hreflang="ja" href="%s" />' . "\n", esc_url( $ja_url ) );
printf( '<link rel="alternate" hreflang="en" href="%s" />' . "\n", esc_url( $en_url ) );
// どの言語にも当てはまらない利用者に見せるページ
printf( '<link rel="alternate" hreflang="x-default" href="%s" />' . "\n", esc_url( $ja_url ) );
} );
hreflangは、双方向で指定されていないと無視されます。英語サイト側の対応する投稿にも、日本語版と英語版自身を含む同じ組み合わせのタグを出力してください。自分自身のURLを含めること、URLは https:// とドメインを含めた形で書くこと、canonicalで指定しているURLとhreflangのURLを一致させることも、つまずきやすいポイントです。
ページ数が多い場合は、HTMLのタグの代わりにXMLサイトマップでhreflangを指定する方法もあります。どちらか一方で指定すれば足ります。
閲覧者の国による自動リダイレクトは避ける
IPアドレスやブラウザの言語設定を見て、自動的に別の言語版へ転送する仕組みは慎重に扱ってください。Googlebotの多くは米国のIPアドレスからアクセスするため、自動転送をかけると日本語版がクロールされにくくなる恐れがあります。読者にとっても、意図しない言語に飛ばされるのは不便です。
自動で転送する代わりに、ページ上部に「English version」のような言語切り替えリンクや、言語の候補を案内するバナーを表示する方法がおすすめです。多言語プラグインの言語切り替えウィジェットを使えば、ヘッダーやフッターに簡単に配置できます。
設定後の確認方法
設定が終わったら、次の点を確認します。
- 各言語版のページでソースを表示し、hreflangのタグが期待どおりの言語コードとURLで出ているかを見る
- 対応する相手側のページにも、同じ組み合わせのタグが出ているかを確かめる
- Search Consoleの「URL検査」で各言語版を調べ、Googleが選んだ正規URLが意図したものになっているかを確認する
- 数週間から数か月後、「検索パフォーマンス」の「国」タブで、狙った国からの表示回数やクリック数の推移を見る
Search Consoleにはhreflangのエラーを一覧するレポートがなくなったため、件数が多いサイトでは、hreflangをチェックできるクローラー系のSEOツールでまとめて検証すると効率的です。
まとめ
- Search Consoleの国際ターゲティング機能は2022年に廃止され、現在は対象国を設定する画面はない
- 国や言語は、URL構成、hreflang、本文の言語、地域を示す内容でGoogleに伝える
- WordPressでは多言語プラグインで翻訳を紐づけるのが基本。別サイト構成なら手動でhreflangを双方向に出力する
- IPアドレスによる自動リダイレクトは避け、言語切り替えリンクで案内する
- 設定後はソース、URL検査、検索パフォーマンスの「国」タブで状況を確認する