使用する言語を示すlang属性
Webサイトは世界のどこからでもアクセスできるます。もちろん生活圏が異なれば言語も異なりますね。なのでWebサイト上に掲載する言語も日本語や英語など、多岐にわたります。
Webサイト上の言語がどこの国のものなのかを明確に示す為にlang属性は使われます。
HTMLを見ると「lang=”ja”」なんて記述を目にした事がある方もいるかもしれません。
その表記がlang属性です。
日本語であれば「ja」
英語であれば「en」
フランス語は「fr」
ドイツ語は「de」
イタリア語は「it」
ロシア語は「ru」
などと表記されます。
langは要素毎に設定する事が可能で、この部分は日本語、この部分は英語といったような使い方ができますが、多くの場合はhtml要素にlang属性を記述して、Webサイト全体の言語を示すように使われます。
Googleはlang属性を見ていない
Google Chormeには自動翻訳の機能が取り入れられています。Webサイトの言語を検知する為にlang属性が使われているのかとおもいきや、なんと文章を解析して自動的に使用言語を識別しています。
Googleはlang属性を全く見ていないとの事なので、lang属性を設定しなくてもよさそうです。
ただしGoogle以外や、その他独自で開発した物など、lang属性を参照している物も中にはあるかもしれません。
全くの不要とも言い切れませんが、特別lang属性を設定しなくても問題なさそうですね。
Googleはhreflang属性を参照する
多言語対応しているサイトの場合、リンク先のページ言語を示す時に使われる「hreflang属性」。この属性はGoogleも参照しているとの事です。
hreflang属性は一つのコンテンツに対して、複数の言語ページが用意されている場合に使います。
例えばこのように
<link rel=”alternate” href=”http://example.com/” hreflang=”ja” />
<link rel=”alternate” href=”http://en.example.com/” hreflang=”en” />
ヘッダに記述して利用されます。
多言語対応のWebサイトを運営しいるのにhreflangを記載しない場合、Googleは言語別にWebサイトがあることを見落とす可能性があります。
例えば英語圏から検索した際に日本語のWebサイトが表示された場合、日本語が読めないユーザーは検索一覧へ戻ってしまうでしょう。
こういった機会損失を防ぐという意味でも、hreflang属性は有効といえそうです。
同一の内容でコンテンツが複数存在しない場合は不要
コンテンツを丸ごと翻訳したWebサイトがある場合はhreflang属性は有効ですが、1つしかない場合は不要となります。というのも、1つのWebサイトしかないので「このコンテンツには各語対応しているサイトがありますよ。」と伝える必要がないからです。
このコンテンツの日本語版はこちら、英語版はこちら、ロシア語版はこちら……といったように伝える必要がある場合にhreflang属性を設置しましょう。
lang属性は不要なのか
気になって来るのがGoogleが見ていないというlang属性についてです。本来、ユーザーに向けて「このWebサイトは〇〇語で書かれています」と伝えるために使われるものですが、時が経ちGoogleが自動で内容を理解して言語を判定するようになりました。
とはいえ全てのサービスでGoogleと同様の動作をするかというと、そうではありません。場合によってはlang属性を参照する物もあるでしょう。
全くの不要な属性とはいえないと思います。
html要素に記述すれば、それほど多くの文字数ではないのでメインで使っている言語に合わせて記述しておいた方が無難かもしれません。