せっかく情報発信をしているのに、日本語メインの情報発信では勿体ないということでWordPressの多言語化方法を調べていた。「Bogo」という多言語化プラグインができる限りリーズナブルに多言語化を実現するよい方法だったので紹介
ウェブサイトの多言語化方法について
ウェブサイトの多言語化については一般的には下記が推奨されている。Googleのヘルプにも記載されている方法である。
原理原則として言語ごとのページを制作する必要がある。例えば1ページの中に多言語の記述を用意してjavascrpitなどで制御(例えばブロック単位でdisplay:none;などを利用して切り替えをしない)
- 国別のドメインを利用する
- gTLDのサブドメインを利用する
- サブディレクトリを利用する
- URLのパラメーターを利用する(非推奨)
技術的に根本から違うサイトを作るかどうかの選択肢があるが、WordPressで多言語化に対応する場合は、サブディレクトリ管理ができる「Bego」のプラグインがGoogleのガイドラインにも合いそうということで今回選択することにした。
完全に別のサイトを構築する場合は、上記のどの手法でも大きく工数は変わらないだろう。
ウェブサイトを多言語化する場合の注意点
- 言語ごとのページを生成する
- hreflangアノテーションを利用して多言語であることを知らせる
- HTMLレスポンスヘッダで指定する方法
- サイトマップで指定する方法
- 多言語間のページでリンクを設置する
- クローラーは中身を読んで判断するらしい(lang属性などでは判断しないようだ)
「Bogo」に関しては上記の、「言語ページ生成」「hreflangアノテーション」「多言語間のページリンク」の機能を有す。素晴らしい。
「Bogo」の紹介
基本的な使い方などは公式サイトを見てほしい。言語化パックを導入することで、メニュー、ウィジットなど一部の機能で言語表示設定をすることができる。下記の記事がとても参考になりました。
お手軽WordPress多言語化について気になるところ
一部のページのみ多言語化設定、個人ブログのお手軽多言語化のTips集と気になっている、今後検証する必要なポイント。原則日本語と英語のみの多言語化対応です。
1.カテゴリ設定について
カテゴリはWordPressの標準のカテゴリウィジットを利用するとエントリー件数は全体のエントリー件数をカウントするようで、英語化されていない記事が含まれるカテゴリがNotFound(404になってしまう)
またカテゴリ名称に日本語が含まれるとそのままになってしまう。
回避策としては、英語記事用にカテゴリを新設し、カテゴリウィジットに「Pro Categories Widget」を利用して日本語用カテゴリ一覧と英語用カテゴリ一覧を作成しカテゴリの除外設定でコントロールをする。
2.投稿者プロフィール
投稿者プロフィールについては、英語用プロフィールのアカウントを作成して、投稿者をそのアカウントに紐付けることで対応する。
3.タイトル、ディスクリプション、OGPのHTMLヘッダ情報
テーマによるがタイトルやディスクリプションは英語用投稿のものが利用できるが、サイトタイトルなどが挿入されている箇所は細かいHTMLのヘッダ情報は変更されない。
(未対応)サイトタイトルを変更する場合は、WordPress上のオンコードで分岐をかけて対応する必要があるかもしれない
4.WordPress標準の対応言語
コメントなどはWordPress標準の言語設定に則り英語表記となっていたが、例えば細かい部分、パンくずの「ホーム」が治っていなかったり「次へ」のナビゲーションなど部分的に日本語言語を参照している部分がある。あとこれもテーマによるかもしれないが<html lang=”ja”>となっている。
(未対応)3.と同様に、WordPressの言語変更をどこかで対応できるのではないか??
5.Sitemapを言語別に生成
「Google XML Sitemaps」のプラグインを利用しているが、今のところはSitemapを言語別に書き出す対応を行っていない。
(未対応)1.でカテゴリを分けているので比較的容易に分解はできそうだが、複数のサイトマップを生成する方法を調べていない。
6.Googleにクロールされるのか?
言語スイッチのメニュー(Widgit)が用意されているが大半が日本語ユーザーであり、翻訳されているページが少ないために積極的に多言語へのナビゲーションを用意していない。
hreflangアノテーションだけでインデックスしてくれるのであればそれでよいが念の為、ショートコードで多言語化した記事に対してはリンクを記事上で表示することにした。
Googleには数日でインデックスされた。またプライバシーモードで設定言語を英語にして検索したら検索にヒットした。これを見る限り「5.Sitemapを言語別に生成」は見送っても良いかもしれない。
英語化されたトップページがインデックスされている場合は、そのページからのクロールとhreflangアノテーションでインデックスされ適切に評価されるのであれば、ユーザーに取っては言語切替のリンクは不要なのでショートコードによる多言語化ページへのリンクは取り除いてもよいかもしれない。
他に気になったこと、アップデートは追記していきたいと思う。