Hreflangタグを追加するには、ページのすべての言語または地域バージョンを一覧表示し、それぞれに言語コード(オプションで地域コードなど)を指定します en-GB)、そして同じフルセットを置きます <link rel="alternate" hreflang="…" href="…"> の行 <head> ページ自体の行を含む、すべてのバージョンの。HTML ヘッドを編集できない場合は、代わりに HTTP ヘッダーまたは XML サイトマップに同じ情報を入力できます。Google は 3 つのメソッドすべてを同等として扱います。
主なポイント
- Hreflang は、他の URL に翻訳されたページや地域的に同等のページが表示されます。1 か国語のサイトには必要ありません。
- HTML ヘッド、HTTP ヘッダー、またはサイトマップの 1 つのメソッドのみを使用します。Googleは、これらを組み合わせても何のメリットもないと述べている。
- すべてのバージョンには、それ自体と他のすべてのバージョンが絶対値でリストされています
https://URL。互いにリンクバックしないペアは無視されます。 - コードは ISO 639-1 言語であり、その後オプションの ISO 3166-1 Alpha 2 リージョンになります
fr,fr-CA,en-GB。決して地域だけではありません。 - 追加
x-defaultどのバージョンにも一致しない訪問者向け。 - WordPress、Shopify、およびほとんどの翻訳ツールでは、hreflang を生成できます。一度チェックし、テーマまたはプラグインの変更後に再チェックします。
始める前に: バージョンをマップします
Hreflang は関係を記述するため、単一のタグを記述する前に、関連する URL の完全なリストが必要です。各ページタイプごとに小さなテーブルを作成します:
| バージョン | コード | URL |
|---|---|---|
| 英語(デフォルト) | en | https://example.com/pricing/ |
| フランス語 | fr | https://example.com/fr/pricing/ |
| カナダのためのフランス語 | fr-CA | https://example.com/fr-ca/pricing/ |
| フォールバック | x-default | https://example.com/pricing/ |
このテーブルには 3 つの決定事項が記載されています。
1。言語のみですか、それとも言語と地域ですか? ベアランゲージコードを使用する(fr) ただし、価格、通貨、スペル、法律文書など、内容が国ごとに大きく異なる場合は除きます。Google のガイダンスでは、1 つの言語の地域バージョンが複数ある場合は、他の場所でその言語を話す人向けに汎用バージョンも提供することをお勧めします (Google検索セントラル)。上の表では、 fr フランス、ベルギー、その他の地域でフランス語話者を捕まえます fr-CA は カナダ 向け。
2。どのコードが有効ですか? Google は、ISO 639-1 言語コードと ISO 3166-1 Alpha 2 リージョン コードに加えて、次のような場合の ISO 15924 スクリプト コードをサポートしています zh-Hant そして zh-Hans。などの他のコードについても述べています es-419はサポートされておらず、次のような予約値 EU, UN そして UK 効果はありません。イギリスについては、書いてください en-GB。私たちの hreflang 言語コードリスト 一般的なものを 1 か所にまとめています。
3。フォールバックは何ですか? x-default 言語設定がどのバージョンとも一致しない訪問者のためにページに名前を付けます。Google によれば、これは言語セレクター ページ用に設計されており、そこで最もよく機能しますが、多くのサイトではメイン言語ページにこの機能を紹介しています。
また、各 URL が最終アドレスであることを確認します。URL は 200 を返し、リダイレクトされず、独自の正規アドレスです。Google の標準ドキュメントには、hreflang を使用する場合は、同じ言語で標準ページを指定する必要があると記載されています (Google検索セントラル).
方法1: HTMLヘッドにhreflangタグを追加する
これはほとんどのサイトが使用する方法です。Google は、サイトマップがない場合や HTTP 応答ヘッダーを設定できない場合にこれを推奨しています。
表の価格設定ページでは、3 つのバージョンのすべてにまさにこのブロックが含まれています <head>:
<link rel="alternate" hreflang="en" href="https://example.com/pricing/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/pricing/" />
<link rel="alternate" hreflang="fr-CA" href="https://example.com/fr-ca/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing/" />
ステップバイステップ:
- 出力するテンプレートを開きます
<head>そのページタイプの場合(WordPressでは、通常、テーマはheader.phpまたはフック;静的サイトでは、レイアウト ファイル)。 - 手作業ではなく、データからブロックを生成します。 何百ものページに手動で入力されたタグが同期しなくなります。言語 URL を構築するのと同じソースからリストを構築します。
- 現在のページを独自のリストに含めます。 Google: “各言語バージョンは、他のすべての言語バージョンと同様に、それ自体をリストする必要があります。”
- 絶対URLを使用します。
https://example.com/fr/pricing/ない/fr/pricing/または//example.com/fr/pricing/. - それぞれ保管する
<link>単一目的。 Googleは、hreflangを他の属性と組み合わせないように警告していますmedia1 つのタグで。 - ヘッドがきちんと形成されていることを確認してください。 タグは有効なタグ内にある必要があります
<head>。スクリプトまたは迷子要素が早期に頭を悩ませた場合、Google はそれらを表示しない可能性があります。不明な場合は、レンダリングした HTML をバリデーターに貼り付けます。
方法2: HTTPヘッダー付きのhreflangを追加する
PDF など、HTML ヘッドのないファイルにはヘッダーを使用します。サーバーは a を返します Link: 要求されたバージョンを含むすべてのバージョンをリストするヘッダー。ヘッダーはすべてのバージョンで同一です
Link: <https://example.com/guide.pdf>; rel="alternate"; hreflang="en",
<https://example.com/fr/guide.pdf>; rel="alternate"; hreflang="fr",
<https://example.com/guide.pdf>; rel="alternate"; hreflang="x-default"
URL は角括弧内に収まり、エントリはカンマで区切られます。Apache または nginx では、ファイルごとまたは場所ごとにこれを設定します。CDN 上、応答ヘッダー ルール付き。でテストしてください curl -I 各 URL でヘッダーがすべての URL に表示されることを確認します。
方法3: XMLサイトマップにhreflangを追加する
サイトマップはすべての注釈を 1 つのファイルに保持するため、テンプレートを変更できない大規模なサイトやチームに適しています。Googleのドキュメントのルール:
- 名前空間を宣言します
xmlns:xhtml="http://www.w3.org/1999/xhtml"オン<urlset>. - 別個に作成します
<url>各バージョンのエントリと独自のエントリ<loc>. - 各エントリ内に 1 つ追加します
<xhtml:link rel="alternate" hreflang="…" href="…"/>それ自体を含むすべてのバージョンに対して。3 つのバージョンとは、それぞれ同じ 3 人の子供がいる 3 つのエントリを意味します。 - 順序は重要ではなく、子リンクはサイトマップの 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/pricing/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/pricing/"/>
<xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/pricing/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/pricing/"/>
</url>
<url>
<loc>https://example.com/fr/pricing/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/pricing/"/>
<xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/pricing/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/pricing/"/>
</url>
</urlset>
サイトマップを検索コンソールに送信します。サイトマップはホストされているディレクトリの下にのみ URL をリストできるため、サイトマップは次のとおりであることに注意してください /fr/ 英語のページをルートにリストすることはできません。
どの方法を選択すべきでしょうか?
| もしあなたの状況が… | 使用 |
|---|---|
| あなた(またはプラグイン)がヘッドを制御する CMS またはサイト | HTMLタグ |
| 複数の言語での PDF およびその他のダウンロード | HTTPヘッダー |
| 変更できない何千ものURLまたはテンプレート | サイトマップ |
| Hreflang を生成するプラットフォームまたは翻訳ツール | その組み込み出力; 2 番目のセットを追加しないでください |
Googleの立場は、3つの方法は同等であり、それらすべてを使用すると“検索にメリットはない”、維持できるメリットは増えるだけGoogle検索セントラル).
共通プラットフォームに hreflang を追加します
WordPress。 WordPress 自体には多言語レイヤーがないため、hreflang は翻訳されたページを作成するものから得られます。コードを書く前に翻訳プラグインの設定を確認し、SEO プラグインも競合するセットを出力しないことを確認してください。ConveyThis を使用する場合は、以下のセクションを参照してください。
Shopify. Shopify 各市場または言語に独自のドメイン、サブドメイン、またはサブフォルダーがある場合、市場および言語設定から hreflang を自動的に生成し、 を追加します x-default プライマリドメインを指す。この機能はデフォルトでオンになっており、オンラインストアの設定でオフにすることができます(Shopify ヘルプセンター)。タグを自分で管理するためにオフにすると、すべてのセットを完了しておく責任があなたにあります。
静的サイトとカスタムアプリ。 単一の言語マップ(各ロケールとその URL パターンをリストした JSON または構成ファイル)からレイアウト内のブロックを生成します。2 人が決して意見が一致しないように、同じマップからサイトマップを構築します。
公開前のチェックリスト
- 同じタグのセットがページのすべてのバージョンに表示されます。
- すべてのバージョンにはそれ自体が含まれています。
- すべての URL は絶対値であり、200 を返し、自己標準的です。
- コードは言語第一であり、地域は実際のISOコードである(
GBないUK). - 1つあります
x-default. - 1 つの方法のみが使用されます。
- ページの表示コンテンツは、実際にはタグが主張する言語で書かれています。Googleはコードではなく、表示されているコンテンツから言語を検出します(Google検索セントラル)なので、ほとんどが英語の “フランス語” ページはフランス語ページのように動作しません。
Search Consoleの国際ターゲティングレポートは2022年に廃止されたため(検索 コンソール ヘルプ)、hreflang をフォローし、リターン リンクが不足していると報告するクローラーで検証します。Google 独自のページでは、Merkle の hreflang テスト ツールと Aleyda Solis のジェネレーターが、維持されていない人気のサードパーティ オプションとして言及されています。ツールが何も見つからなかったと言った場合は、作業してください “hreflang タグなし”の警告に関するガイド.
ConveyThis があなたのために hreflang を追加する方法
ConveyThisでサイトを翻訳し、各言語を独自のサブフォルダに公開すると、/fr/) またはサブドメイン (fr.example.com)、hreflang は自動的に生成されます。WordPress では、プラグインは各ページの先頭に、言語ごとに 1 つと 1 つの代替リンクを印刷します x-default 元の言語ページを指し、サイトマップに言語の代替を含めます。タグは翻訳されたページと同じ言語リストと URL ルールから構築されるため、言語を追加するとセット全体が一度に更新されます。
確認すべき点が 2 つあります。キャッシュまたは最適化プラグインがヘッドにそのままサービスを提供していること、および正規のポインティング翻訳ページを元のページに戻すプラグインが他にないことです。の 多言語SEOの概要 翻訳されたURL、メタデータ、hreflangがどのように連携するかを示します 翻訳されたURLのカスタマイズ ナメクジの位置を特定する方法と WordPress 統合 ページではプラグインのセットアップについて説明します。地域バリアントからページネーションまで、すべてのエッジ ケースについては、を参照してください 完全なhreflang実装ガイド.
よくある質問
Hreflang タグは具体的にどこに行くのでしょうか?
で <head> ページのすべての言語バージョンの <link rel="alternate" hreflang="code" href="absolute-url"> 要素。あるいは、同じ情報をHTTPに格納する Link: ヘッダーまたは XML サイトマップ内。
ページ自体にhreflangタグが必要ですか?
はい。Google では、各バージョンが他のすべてのバージョンと同様にリストされる必要があります。リンクのセットはすべてのバージョンで同一です。
En-UK は有効な hreflang コードですか?
いいえ。UK は予約コードであり、Google 検索には影響しません。イギリスでは英語に en-GB を使用します。
HTML とサイトマップに hreflang を追加する必要がありますか?
いいえ。Google はこれらのメソッドを同等なものとして扱い、複数のメソッドを使用すると検索のメリットがなくなり、セットアップの保守が困難になると述べています。
Google が新しい hreflang タグを使用するまでどれくらいかかりますか?
Google は関連するページを再クロールする必要があるため、ページがクロールされる頻度によって異なります。すべてのバージョンがインデックス可能でサイトからリンクされていることを確認し、検索コンソールの URL 検査を使用して翻訳された URL を確認します。
手作業をスキップ
同じシステムが翻訳された URL とタグを作成すると、すべてのページと言語で hreflang を完全に保つことが容易になります。できる ConveyThis から始めます そしてあなたのサイトを接続します。