開発ブログ

WWWクリエイターズが送る、Git、CSS、HTML、コマンドライン、Macの便利機能など、開発に関する役立ち情報発信します。気まぐれに更新。

WordPressサイトを多言語化する対応方法、まとめ。

最終更新:2017-08-12 by Joe

WordPressで作ったホームページを多言語化して、グローバル対応する方法をまとめました。

多言語対応は、どうしてもHTML・PHPコードを触るのは避けては通れないため、経験がない方が独自に行うのは、少し難しさはありますが、可能な範囲ではあると思います。

また、正しい多言語化方法を選択すれば、比較的少ないコストで多言語化する事もできます。

WordPressを多言語化する方法

WordPressサイトを多言語にするためには、大きく下記の3つの方法が考えられます。

  1. 多言語対応のプラグインを使う
  2. 言語毎に、WordPressサイトを複製する。
  3. 外部のウェブサービス(多言語化サービス)を使う。

それぞれ、詳しく見ていきます。

[1] 多言語対応のプラグインを使う

こちらが最も簡単で、コストの少ない方法だと思います。

WordPressには数多くのプラグインが存在しますが、多言語に対応するための機能を持ったプラグインも存在します。

多言語化プラグインには、いくつか人気のものがありますが、まずはもっとも利用されているこの2つから選択すれば間違いないです。筆者のおすすめ度を★で付けておきます。

WordPressプラグイン「PolyLang」

最もメジャーな多言語対応のプラグインです。無料でほとんどの機能が使えるので、一番最初に利用を検討するべきプラグインだといえます。

特徴

PolyLangで設定を行えば、例えば、下記のようなURLにより、トップページや、言語毎に対応するページを表現できます。

無料版の制限事項

無料版では、URL(パーマリンク)を決める際の制約となってしまうのですが、後者をみても分かるように「/staff」の日本語ページに対して。「/en/staff/」というURLを割り当てる事ができません。

これは、WordPressのデフォルト状態で、複数のページに同じスラッグ(=URLパス)を割り振る事ができない事に起因します。

但し、実は、これはpolyLang有料プランにアップグレードすると解決する事ができ、同じスラッグを適応できるようになります。これはお金を払っても良い十分な理由になり得ると思います。(筆者はWordPress実装経験が豊富ですが、同じ機能を独自に実装しようとすると、結構大変な事を知っています。)

一方で、URLにそこまでのこだわりがなければ、無料のまま利用を続けてもそれほど問題ないでしょう。

(言語ごとに同じスラッグが適応できない問題は、ページURLだけでなく、カテゴリーのスラッグでも発生します。)

有料プランについて

有料プランでは、以下のような機能がアクティベートできます:

  • 言語ごとの翻訳記事同士で、同じスラッグを設定できる
  • カテゴリーを翻訳できる

主にスラッグの問題を解決してくれます。

URL構造について

上記では、サブディレクトリでのURLを紹介しましたが、実は、PolyLangのサイトURL構造は、設定次第で、お好みで選択することができます。

  • サブディレクトリ型(上記の例:http://en.my-website.com/en/)
  • サブドメイン型(例:http://en.my-website.com/)
  • 別のドメイン(例:http://my-website-en.com/)

「サブドメイン型」も悪くは無いのですが、SEO観点からは「サブディレクトリ型」がおすすめです。サブディレクトリにすることで、それぞれの言語が全く同一のドメインを利用できますので、ドメインに紐付いた検索エンジン(Google)からの評価が高まりやすく、検索順位にポジティブに働くことが報告されています(今後もそのような状態が続くかどうかは、Google社次第です。)

まとめ

この後紹介する、「WPML」よりも幾分機能がシンプルですが、その分扱いやすく、最もおすすめなプラグインです。すこし管理画面のUIがわかりにくい部分がありますが、慣れれば大丈夫でしょう。

開発者の視点でのpolyLang
テーマ開発者の視点では、polyLangの利点は「新しいテーブルを追加しない」点です。すべてカスタムtaxonomyの範囲で実装されています。これは、クエリをすべてWordpress標準のクエリ関数で処理できる事を意味します。また、適切にフックを利用してクエリをカスタマイズしています。

総じて、良く設計されたプラグインだと言えます。(管理画面のUIは改善の余地があると思います)

WordPressプラグイン「WPML」

こちらは有料プラグインですが、PolyLangよりも機能が多いです。最初から、有料であることを気にしないのであれば、こちらのプラグインもかなり有力な選択肢です。シェアも広いです。

polyLangと比較したとき、「独自のテーブルを追加する」という特徴があります。開発者以外は気にしなくてよいでしょう。

WordPressプラグイン「qTranslator」

こちらは、正直な所、あまりおすすめできません。内部のデータも持ち方がかなり強引な作りになっており、他のプラグインとの機能不全を引き起こしやすいからです。

polyLangか、WPMLの2つのどちらかを選択すべきでしょう。

[2] 言語ごとにWordpressを複製する

この方法は、考え方が最もシンプルです。

いったん完成したホームページを、新しい言語のテキストに置き換えて、複製してしまう方法です。

ただし、この方法が利用をおすすめできる条件は限られていて「一度つくってからほとんど更新しないホームページ」という前提です。普通のウェブサイトは完成した後も、メンテナンス(変更、更新、バグ修正)が発生します。このような場合、ワードプレスが複製されていると、そのコストが2倍になってしまいます。これが3言語、4言語となれば、そのコストがどんどん膨れ上がって、現実的にメンテナンスを続けていくことが難しくなってしまいます。

ですので、特別な理由がない限り、極力避けるべき手法でもあります。

もし行うのであれば、1つのWordPressに複数のサイトをインストールするマルチサイト機能を使って少しでも共通化できる部分を増やす努力を行って方がよいでしょう。

[3] 外部の多言語化サービスを使う

この方法は、ワードプレスだけではなく、普通のHTMLで作られたホームページの際も利用できる、最も汎用的な方法です。

ウェブサイトの翻訳サービス「WOVN」

https://wovn.io/

こちらは、完成したホームページに対して、後からHTMLソースコードを捜査し、HTMLタグからテキスト要素だけを抜き出し、その部分だけ、翻訳したテキストに置き換えてくれる仕組みです。抜き出したテキストは、テキストだけをオンラインの専用UIから入力・翻訳作業ができますので、翻訳者が、HTMLタグに煩わされる事なく翻訳作業を行うことができます。

もし近くにエンジニアがいない場合、最も取り組みやすい方法だと言えます。(最初のセットアップには、コードを少しだけ変更する必要があります)

注意点

少し技術的な話になりますが、もしあなたのホームページにとって、SEOが重要であればすこし注意が必要です。

WOVNをサイトに組み込むには、2種類のアプローチがあります。クライアントサイド(javascript)の実装と、サーバーサイドの実装です。

SEOの観点で、サーバーサイドの実装を選択すべきです。クライアントサイドの実装では、HEADタグ内への「言語の対象地域」の情報を埋め込むことができません。Google検索エンジンによって正しく認識されるようにHTMLを配信するにはサーバーサイドの実装を行い、HEADタグを含めて最適化することが推奨されます。

補足:多言語化におけるSEOについて

ページの言語

知っておく必要があるのは、Google検索エンジンは、ウェブサイト上に配置されたテキストの言語によってのみ「そのページが何語で書かれているか?」判断するということです。

最も行うべきでないのは、「英語と日本語が同じページ上に混ざった状態」で多言語化したつもりになってしまう事です。この方法では、Googleがページの対象言語をうまく判断できず、SEO観点で問題が起こるだけでなく、実際の閲覧者にとっても読みにくいページとなってしまいます。

必ず、個々のページは特定の言語と対象地域を意識して作るべきです。

ページの対象地域

対象言語と対象地域はすこし話が違います。たとえば、同じ英語でも、イギリス、オーストラリア、アメリカ、・・多くの国が英語を第一言語としますが、地域は全く異なります。また、googleもgoogle.com, google.co.jp, google.co.uk など、地域ごとに最適な結果を表示するドメインが異なります。

言語はサイト管理者が明確に設定することができます。

補足:多言語のテキスト翻訳作業における注意点

上記はホームページのしくみとしての方法でしたが、なによりも言語を翻訳する作業がついてまわります。多言語化のキーとなる「翻訳の品質」を担保するためには、注意が必要です。

1)信頼できる翻訳業者を見つける

翻訳者、翻訳会社の選択肢がたくさんあるように、翻訳自体のクオリティも様々です。品質を担保できなければ、せっかく美しく作ったホームページも、その価値を発揮できずに終わってしまいます。

翻訳の品質は、翻訳者・翻訳会社のスキルに大きく依存します。

あなたが多少その言語を理解できるとしても、やはりネイティブでない限り、その品質を正しく判断することはできません。

翻訳者の選定は、慎重に行う必要があります。

2)翻訳後のサイトを、ネイティブにチェックしてもらう

翻訳依頼の多くは、日本語テキストを翻訳者(翻訳業者)に渡して、納品物として、翻訳後のテキストを受け取ります。

最終的に、それらをウェブサイトに反映させるのですが、その後、もし近くにその言語のネイティブがいるのであれば、その人に第三者として意見をもらったほうがよいでしょう。普通は、ホームページは一般ユーザが閲覧することになりますので、できるだけ一般ユーザに近い人に診てもらうのが好ましいでしょう。

翻訳依頼の後に改めてチェックを行った方がより理由は、おそらく翻訳業者は、あなたが依頼したテキストをくまなく精査しますが、完成した多言語ウェブサイト自体ををくまなく見る事はしないでしょう(もしそれを行ってくれるのであれば、話は別です)。

実際のウェブサイト上に適応されたウェブサイトを、実際のユーザ観点でテストする事で、本当の意味で最終品質をチェックできます。

やはり、チェックする人は、ネイティブである事が重要です。少し英語が上手な日本人でも、ネイティブとの間には大きな開きがあります。(日本語ネイティブが、デーブ・スペクターの日本語を聞いて、彼が日本語ネイティブでは無いことを言い当てるは簡単です。)

できるだけ、ネイティブによるユーザ観点でのチェックができる体制を整えましょう。


WordPressの多言語化について、以上です。

いずれも、実装面で、サイト構築やPHPの知識が少ないと少し自分だけでの対応が難しいかもしれません(できないことは無いです)。とは言え、対応自体はそれほど時間のかかる作業ではないです(テキストの翻訳は時間がかかりますが。)信頼できるウェブエンジニアがいれば、一度相談してみるといいでしょう。