普通にブログを書いている場合、わざわざ翻訳版を作るのはなかなか考えられないことだと思いますが、企業サイトでは多言語対応をしているところも多いです。
日本語だけでサイトを作る場合と基本は同じですが、いくつか特別に気をつけないといけない点があります。検索エンジン対策(SEO)と、クッキーポリシーの対策です。
検索エンジン対策
日本ではGoogle一強(Yahoo!JapanはGoogleを使っているので、Googleの対策をすればYahoo!Japanも対策できます)ですが、海外ではちょっと違います。
マイクロソフトのBingは日本ではシェアが低いですが、アメリカではそこそこのシェアを誇ります。2014年データで2割近い検索トラフィックはBingなのです。

中国語圏を対象にする場合はBaidu(百度)、ロシアではYandexの対策をしなくてはいけません。
とりあえず、GoogleとBingについて調べたので書いていきます。基本は下の二つですが、対策方法が少し違います。
- ターゲット地域を宣言する
- ペナルティを受けることを避ける
参考ページ

Google対策
hreflang
Googleの検索エンジン対策としては、
<link rel=alternate href=*リンク* hreflang=対象 />
を追加して個別ページの対象言語を宣言するとともに、別言語のページへリンクを張ります。ページソースを見ればわかりますが、ブラウザで表示されることはなく、別言語のサイトがあってもサイト上に
<a href=*リンク*>英語版</a>
というような形でリンクを設置しなければ閲覧してくれた人には別言語の対応サイトがあることすらわかりません。
日本語版と英語版がある場合には、両方のページ上に、
<link rel=alternate href=英語ページ hreflang=ja /> <link rel=alternate href=日本語ページ hreflang=en />
を設置し、対象地域外をリダイレクトする場合などは、hreflang=x-defaultを指定したリンクをもう一つ設置します。
hreflangは言語が必須で、地域名をオプションとして加えることができます。アメリカを対象にした日本語ページと、イギリスを対象にした日本語ページを別に作っている場合には、
<link rel=alternate href=アメリカ用 hreflang=ja-US /> <link rel=alternate href=イギリス用 hreflang=ja-GB /> <link rel=alternate href=その他日本語 hreflang=ja />
というようになります。この記載はあくまで検索エンジン用で、検索エンジンやその他のリンクからたどり着いた閲覧者にはこの情報は見えませんので、サイト上に誘導リンクを別に設定する必要がありますが、この設定をしておくことで上手くいけば対象の人がサイトに誘導されやすくなります。
hreflangに設定できる値はGoogleのサイトで解説されています。言語コード(ISO639)2文字だけ、もしくはISO639+ハイフン(-)+ISO3166地域コードです。

ウェブマスターツール(サーチコンソール)
上手くいけば、hreflangに設定した値が反映されるはずですが、旧ウェブマスターツール、Googleサーチコンソールを使うと手動でサイトの対象言語を絞り込むことができます。
ペンギンアップデート対策
2011年に初めて実装された通称パンダアップデートで、重複コンテンツなど「低品質」とされるページにペナルティが科され始めました。
具体的には、
- 自動生成されたコンテンツからなるページ
- オリジナルコンテンツがない、もしくは非常に少ないページ
- 隠しリンクや隠しテキストなどによるキーワード詰め込み
がペナルティを受ける対象です。即座にペナルティを受けるとは限らないと思いますが、ペナルティを科されるとGoogle経由の検索流入が途絶えるので、多くのサイトでは致命的です。
気をつけるべきは下の2点です。
自動翻訳=自動生成コンテンツ
自動翻訳にかけたページをそのままにしておくと、自動生成コンテンツとみなされペナルティ対象になります。
自動翻訳は便利で、私もよく他言語のサイトを翻訳するのに使いますが、検索でヒットしたページが自動翻訳で意味がわからないときの落胆は大きいので、これがたくさん検索にヒットするのは好ましくないというのは理解できます。
Bingでは対策がされていない、もしくは弱いので試しに検索してみるとわかると思います。ただ、Googleが自動翻訳の利用自体を否定しているわけではなく、自動翻訳で作られたページが検索結果に出ないようにすれば良いだけです。
そのためには、robots.txtもしくは<meta name=robots content=noindex, follow>を使うことで検索エンジンにインデックスされないようにします。
重複したコンテンツが表示される場合
これは、該当する場合としない場合があると思います。私が試した多言語対応用のJoomlaプラグインでは、JA Multilingualは不要でしたがFaLangは対策が必要でした。
WordPress用はまだ使ったことがないのでわかりません。
どういうことが起こるかというと、
- 私のサイト.com/日本語/3月4日の天気
- 私のサイト.com/日本語/入社式の様子
というページがあるとして、ここに
- 私のサイト.com/英語/入社式の様子
を作って多言語対応にしたとします。英語ページが設定されている「入社式」のページへの英語リンクをクリックした場合、英語のページ表示されるようになるはずです。が、「今日の天気」のページで英語リンクをクリックした場合(もしくはURLを書き換えて表示させた場合)に、プラグインによって挙動が違います。
- トップページにリダイレクトされる
- エラーページが表示される
- 日本語のページが英語ページのURLで表示される
の3パターンが起こります。上記二つは大丈夫ですが、3つ目は問題です。GoogleのFAQページでは、カノニカルURLを指定するか、リダイレクトを推奨しています。

Bing対策
BingもGoogleと同じように言語と地域ターゲットを指定して対策を行いますが、Googleとは参考にするタグの形式が違います。
下記のいずれかの方法で指定します。
言語メタタグ
<head>セクション内に
<meta http-equiv=”content-language” content=”en-us”>
の形式で対象言語、地域を埋め込みます。指定形式はISO639(2文字の言語コード)+ISO3166(2文字の地域コード)でGoogleと近いですが、言語コードだけだと駄目かもしれません。
HTMLエレメントもしくはタイトルエレメント
HTMLエレメントかタイトルエレメントの要素として指定することもできます。
<html lang=”en-us”>
<title lang=”en-us”>
という形式です。
HTTPヘッダ
HTTPレスポンス内で指定することもできます。
Content-Language:en
の形式で指定しますが、普通のユーザーには完全に見えないのと上記の方法のほうが簡単なので、使いどころは難しいかもしれません。
重複コンテンツ対策
Bingの検索結果を見ると、Googleのパンダアップデートのような低品質コンテンツへのペナルティが働いている様子はなく、自動翻訳ページであふれています。
robots.txtやメタタグを使えば、GoogleにはインデックスさせないでBingにはインデックスさせることもできそうです。
たとえば、
<meta name=googlebot content=noindex, follow /> <meta name=bingbot content=index, follow />
のような指定にすることも考えられます。(何も指定しないとindex, followなので後半は不要です)
<meta name=googlebot content=noindex, follow /> <meta name=robots content=index, follow />
とした場合には結果がどうなるのかわかりませんが、Googleウェブマスターブログを見るとなんとなくgooglebotの厳しいほうが優先されそうです。(がどちらになるのかわかりません)

地域のドメイン使用
特にBingに威力を発揮しそうで、Googleにも効果がありそうなのが、地域ドメインの使用です。日本の.jpドメインや.uk(イギリス)、.de(ドイツ)、.fr(フランス)などが該当します。
でも、アメリカには地域ドメインがないのが問題です。
コメント