hreflangで多言語サイトのSEO対策

「日本語版」「英語版」といったように複数言語でサイトを展開している場合、hreflangを使用してSEO対策することが勧められています。ここでは、hreflangの設定方法について確認します。

lang属性は関係ない

Google では、ページの表示内容からその言語を判断します。lang 属性のようなコードレベルの言語情報や、URL は使用しません。

https://support.google.com/webmasters/answer/182192?hl=ja

言語設定といえば、lang属性 を思い浮かべるかたもいると思いますが、Googleでは判定に利用してないようです。

hreflangの使い方

下記URLを例に hreflang の使い方を確認します。

http://www.example.com/en/page.html
http://www.example.com/ja/page.html

HTMLタグで設定

両方のページ(ja en)のヘッダーに、以下のようにタグを設定します。

<head>
    
  <link rel="alternate" hreflang="en" href="http://www.example.com/en/page.html"/>
  <link rel="alternate" hreflang="ja" href="http://www.example.com/ja/page.html"/>
  <link rel="alternate" hreflang="x-default" href="http://www.example.com/en/page.html"/>
  
</head>

x-default は、どこにも当てはまらない言語ユーザー向けです。
(上記の場合、英語 日本語 以外のユーザー)

言語コード(ja en など)は ISO 639-1形式で指定します。

サイトマップで設定

サイトマップの場合、以下のように要素を追加します。

<?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>http://www.example.com/en/page.html</loc>
    <xhtml:link
      rel="alternate"
      hreflang="ja"
      href="http://www.example.com/ja/page.html"/>
    <xhtml:link
      rel="alternate"
      hreflang="en"
      href="http://www.example.com/en/page.html"/>
    <xhtml:link
      rel="alternate"
      hreflang="x-default"
      href="http://www.example.com/en/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/ja/page.html</loc>
    <xhtml:link
      rel="alternate"
      hreflang="ja"
      href="http://www.example.com/ja/page.html"/>
    <xhtml:link
      rel="alternate"
      hreflang="en"
      href="http://www.example.com/en/page.html"/>
    <xhtml:link
      rel="alternate"
      hreflang="x-default"
      href="http://www.example.com/en/page.html"/>
  </url>
</urlset>

hreflangのエラー確認

621-html-css-hreflang_debug.png

hreflangを利用しており、設定に問題がある場合、Search Consoleの「インターナショナル ターゲティング」ページで確認できるようです。

参考