
このブログはもともと中国語だけで書いていましたが、ある偶然のきっかけがあって多言語化に踏み切ることになりました。今回は、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か所に同居している」という方が近いです。
:CasaOS-与轻量服务-1024x591.png)

