Polylangを使用してWordPressを多言語化する

Polylangを使用してWordPressを多言語化する

このブログはもともと中国語だけで書いていましたが、ある偶然のきっかけがあって多言語化に踏み切ることになりました。今回は、Polylangを使ってWordPressを多言語対応にした際の手順と、実際にやってみて気づいた点をまとめておきます。


Polylangとはどんなプラグインか

Polylangは数あるWordPress多言語化プラグインの一つですが、その仕組みの核心は、WordPressがもともと持っているタクソノミー(分類)機能を利用して、各コンテンツに「言語」というラベルを付けていく点にあります。

新たに大きなテーブルを作って独自の仕組みを積み上げるのではなく、投稿・カテゴリー・メディアファイルそれぞれに言語を指定し、それらの間に関連付けを作っていくという形です。WordPress本来の構造をそのまま活かせるので、クエリの負荷も抑えられます。SEOの面でも、生成されるhreflangタグやサブディレクトリ/サブドメインの扱いは無駄がなく、必要十分という印象です。

無料版とPro版の違いは、以下のように整理できます。

比較項目無料版Pro版
基本翻訳投稿・固定ページ・カテゴリー・タグ・メニュー無料版の全機能を含む
URL構造サブドメインまたはディレクトリ名に対応URLスラッグの翻訳に対応(例:/about を /ja/shoukai に変更可能)
機械翻訳非対応(外部プラグインが必要)DeepL APIと連携した自動翻訳フロー
同期機能メタデータの手動同期カテゴリー・タグ・カスタムフィールドの自動同期
エディター対応標準ブロックに対応FSE(フルサイト編集)・テンプレートパーツの翻訳に対応
REST API非対応完全対応(ヘッドレスWordPressや複雑なアプリ開発向け)

無料版だけで2言語対応にした結果

このサイトは現在、無料版のPolylangだけで日中2言語に対応しています。

中国語版
中国語版
日本語版
日本語版

ただし、両言語のページがすべて1対1で対応しているわけではありません。中国語版にしかない記事、日本語版にしかない記事もあり、いわば「非対称な多言語サイト」として運用しています。


実際の設定手順

1. 言語を追加する

もともと中国語のみだったサイトに日本語を追加する場合、左メニューの「言語」から「言語を追加」をクリックします。

追加が完了すると、右側のリストに日本語の行が表示されます。

プラグインの設定
プラグインの設定

2. 共通項目を翻訳する

サイト名やキャッチフレーズといった、サイト全体で共通の項目もここで翻訳しておく必要があります。これを済ませておくことで、選択した言語に応じてサイトの基本情報が自動的に切り替わるようになります。

共通項目の翻訳
共通項目の翻訳

3. URL構造を決める

無料版の中では珍しく、自分の好みで自由に選べる設定がここです。

定义链接格式
定义链接格式

4. 各要素を多言語化する

4-1. カテゴリーとメニュー

ここで最初に手間取りました。それまでの設定画面は項目が少なくシンプルだったので、すぐに記事の多言語化に進めると思っていたのですが、実際にホーム画面を開くとカテゴリーやタグの表示がバラバラになっていました。原因は、以下の画像にある部分の設定が不十分だったことでした。

カテゴリーを多言語化
カテゴリーを多言語化
メニューを多言語化
メニューを多言語化

メニューについては、新たにもう一つメニューを作成し、先ほど設定した項目を「中国語サイト用」と「外国語サイト用」にそれぞれ振り分ける必要があります。

4-2. タグ・投稿・固定ページ

基本的な考え方はどれも同じですが、タグは数文字打ち込むだけで済むのに対し、記事本文の翻訳はかなりの作業量になります。

タグを翻訳
タグを翻訳

無料版で我慢が必要なところ

ここまでで多言語化の枠組みはほぼ完成しますが、これはあくまで「枠組み」ができただけです。この先には、2言語で公開したいと考えた記事を一つひとつ訳していく作業が待っています。無料版である以上、これは空き時間を使って地道にこなしていく作業になります。最後に、無料版を使う上で割り切っておくべき点を挙げておきます。

  • 属性が自動で同期されない: 元記事のタグ、カテゴリー、カスタムフィールドなどを変更しても、翻訳版には反映されません。それぞれの言語の編集画面に入って、手動で揃える必要があります。
  • URLを言語ごとに変えられない: 翻訳版のパーマリンク(スラッグ)は元記事と強制的に一致してしまいます。中国語版が/aboutであれば日本語版は/ja/aboutとなり、/ja/shoukaiのように言語に合わせた独自のスラッグにはできません。
  • メディアライブラリの扱いが冗長: 同じ画像に言語ごとの説明文(代替テキストなど)を付けたい場合、管理画面上で言語別のコピーを手動で作る必要があり、地味に手間がかかります。

運用してみた感覚としては、「ひとつのサイトの2言語版」というより、「2つの独立したサイトが1か所に同居している」という方が近いです。

シェア・購読:
🧡 この記事が気に入ったら、RSSフィードを購読して最新の更新を受け取りましょう。