多言語SEOに有効なHreflangとは?設定方法、実証結果を解説

hreflangとは

こんにちは、世界のヘイショーです。

最近英語ブログを始めたのですが、先日知り合いのSEOに詳しい人に見せたところ「Hreflangが設定されていないじゃないか」と指摘されたので、設定しておきました。

その時の記録、調べた内容を忘備録として残しておきます。トピックは以下の通りです。

  • Hreflangとは?
  • Hreflangを設定しなかった時に起こりうる問題
  • Hreflangの設定方法
  • WordPressでの設定方法
  • Hreflangを設定したことによって改善できた内容(実体験)

ちなみにHreflangは多言語サイトのSEO対策に有効というマニアックなトピックなのですが、外資系企業のSEO担当の方とかにはとても有益だと思います。

逆にそうでない方は参考程度でよいかもしれません。

Hreflangとは?

Hreflangは多言語サイトのSEO対策に有効な手法で、同じコンテンツに対して日本語ページに対しては「これは日本語」、英語ページに対しては「これは英語」とGoogleに伝えるためのタグです。

参考 hreflangタグとは何か調べてみました | satoyan419.com
参考 「hreflang」タグにSEO効果はあるか? | SEO Pack

Hreflangを設定しなかった時に起こりうる問題

僕のブログは日本語版と英語版がありますので、このブログで試してみました。

ブランド名は「HEYSHO」なので、日本で検索された時は日本語サイトがトップに表示される、海外で検索された時は英語サイトがトップに表示して欲しい、と考えています。

現状を調べたところ、まずい結果が反映されていました。

アメリカで「HEYSHO」とググった時の検索結果

アメリカで「HEYSHO」とググった時の検索結果

参考 アメリカでGoogle.comで「heysho」と検索した時の検索画面

日本語版が7位、英語版が8位にランクされています。

つまり「heysho」というキーワードに対して評価が分散してしまっているので、hreflangを使うことによって英語サイトをトップ表示できるのではないかと予想します。

世界のヘイショー

余談ですが、日本以外での国からGoogle検索結果はSearch Latteというサイトから調べることが出来ます。

Hreflangの設定方法

僕の記事を例に説明します。

以下の二つのページに設定します。

上記二つのページのHreflangを設定することによって、同じコンテンツに対して他の言語でもページが存在することをGoogleに知らせます。

設定方法は、以下のタグを<head>内に設置します。

日本語のページ
<link rel="alternate" href="https://heysho.com/en/how-to-grow-blog-quick/" hreflang="en" />
英語のページ
<link rel="alternate" href="https://heysho.com/how-to-grow-blog-quick/" hreflang="jp" />

WordPressでの設定方法:プラグイン「hreflang tags lite」を利用

全ての記事に対してタグを設定しなければならないので、プログラムかプラグインを利用しないととても面倒です。

WordPressでhrelflangが設定できるプラグインを探したところ、いくつか試した中で「hreflang tags lite」というものが一番マシでした。

設定方法は以下の通り;

Step1: プラグインをインストールした後に、設定画面からPostsとPagesにチェックを入れる

hreflang tags liteのプラグインをインストールした後に、設定画面からPostsとPagesにチェックを入れる

Step2: 各記事の編集画面でページ底に「HREFLANG Tags」というフィールドが出現するので、「他の言語でのURL」と「言語」を指定

HREFLANG Tagsの設定

これを各記事に設定するだけです。

しかし、肝心のトップページでの設定が出来ていません。。

このプラグインを利用してトップページにhreflangを設定する方法を探したのですが、見つかりませんでしたので子テーマを編集しました。

Step3: 子テーマを編集してトップページにhreflangを設定する

HREFLANG Tagsの設定

ヘッダーのphpファイルを子テーマに移し、<head>内に以下のコードを記述します。

コード
<?php if(is_home() && !is_paged()): ?> <link rel="alternate" href="他の言語のトップページのURL" hreflang="他の言語の言語コード" /> <?php endif; ?>

例えば僕の英語サイトに書いたコードはこれ;

コード
<?php if(is_home() && !is_paged()): ?> <link rel="alternate" href="https://heysho.com/" hreflang="ja" /> <?php endif; ?>

Hreflangを設定したことによって改善できた内容(検証結果)

まだ設定したばかりなので分かりません。。

2週間くらいしたら報告します。

もしくは、以下の検索結果で僕の英語サイトが上位表示されていたら成功と言えると思います。

参考 アメリカでGoogle.comで「heysho」と検索した時の検索画面

余談:cannonicalとの掛け合わせは?

ちなみにですが、hreflangについていろいろ調べていたところ、「同じコンテンツに対する各言語でのページの評価をhreflangとcannonicalでコネクトする」というぶっ飛んだ内容の記事を見つけました。

参考 How to Implement Hreflang & Canonical Tags Correctly | portent(英語)

これが本当であれば「グローバル展開している有名ブランドが絶対的に有利になるな」と考えたのですが、世界展開しているグローバルサイトを見てもこのような設定はされていませんでした。

真偽は不明ですが、また時間のある時に調べてみます。

ヘイショーからは以上です!

ご精読ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。