🔌
WordPressプラグインの使い方
「transer-translate」プラグインを使えば、コードを書かずにWordPressサイトをサーバーサイドで多言語化できます。
1
機能概要プラグインは、WordPressが生成したHTML全体をtranslate.serviceへ送信し、翻訳済みHTML(多言語SEOタグ・言語ボックス自動挿入済み)に差し替えて表示するだけの薄いブリッジです。
翻訳先言語は、まずURLの言語プレフィックス(例: /en/about)を最優先で確認し、無ければ訪問者のCookie(transer_lang)で判定します。原文言語(既定: 日本語)の場合は何もしません。
管理画面の設定だけで完結:PHPコードを書く必要はありません。プラグイン有効化後、設定画面でAPIキー等を入力するだけで利用できます。
2
URLプレフィックス優先の判定について(v0.7.1〜)検索エンジンのクローラーは、Cookieを送らずに/en/aboutのようなURLへ直接アクセスします。従来はCookieだけで判定していたため、こうしたアクセスには常に原文(日本語)が返ってしまい、hreflangタグの内容と実際の配信内容が食い違っていました。
v0.7.1以降は、WordPress自身のURL解決より前にURLの言語プレフィックスを検出・除去する処理が入っているため、この問題は自動的に解消されています。特別な設定は不要です。パーマリンク構造を問わず動作します。
3
動作環境| 項目 | 要件 |
|---|---|
| WordPress | 5.8 以上(7.1まで動作確認済み) |
| PHP | 7.4 以上 |
レンタルサーバーなど、WordPressが動いている環境であればほとんどの場合PHP・WordPressのバージョン要件は既に満たしています。心配な場合はサーバー会社の管理画面やWordPressの「サイトヘルス」(ツール > サイトヘルス)でPHPバージョンを確認できます。
4
インストール1
「APIキー管理」ページからプラグイン(zip)をダウンロード
ダウンロードボタンから最新版のzipファイルを取得してください。
2
WordPress管理画面からアップロード
「プラグイン」→「新規追加」→「プラグインのアップロード」から、ダウンロードしたzipを選択します。
3
プラグインを有効化
「Transer Translate」を有効化してください。
5
設定画面(設定 > Transer Translate)| 設定項目 | 内容 |
|---|---|
| APIキー | 「APIキー管理」ページで発行したAPIキーを入力します(必須)。 |
| サイトのホスト名 | 空欄の場合はサイトURLから自動判定されます。「ドメイン管理」で登録した値と一致している必要があります。 |
| 原文言語 | 通常はjaのままで構いません。 |
| 契約言語一覧 | 参考表示用の項目です。実際に使われる言語は、必ず「ドメイン管理」でのDB登録内容が優先されます。 |
| translate.serviceのURL | 通常は変更不要です(既定: https://api.welltranser.com)。 |
「ドメイン管理」への登録を忘れずに:プラグイン側の設定を済ませても、「ドメイン管理」でホスト名・言語を登録していないと403エラーで拒否されます。
6
動作確認設定保存後、https://example.com/en/(登録した言語コードのプレフィックス付きURL)へCookie無しでアクセスし、翻訳済みページが表示されるか確認してください。これが検索エンジンのクローラーと同じアクセス方法です。
従来通り、サイトのCookieにtranser_lang=enをセットした状態でプレフィックス無しのURLを開いても、同じく翻訳済みページが表示されます(言語ボックスでの切り替え時に使われる方式です)。
言語切り替えUI(言語ボックス)は、翻訳済みページの
<head>に自動挿入されるスクリプトが描画します。プラグイン側で個別に実装する必要はありません。7
トラブルシューティング| 症状 | 対処 |
|---|---|
| 言語を切り替えても何も変わらない | 設定画面でAPIキーが入力されているか確認してください。未入力の場合、プラグインは何もせず原文をそのまま表示します。 |
| サイトが真っ白・エラーになる | これは想定外の挙動です。通信失敗時は必ず原文のHTMLがそのまま表示される設計になっています。WP_DEBUG_LOGを有効にしてエラーログをご確認のうえお問い合わせください。 |
| 特定のページだけ翻訳されない | プラグインはGETリクエスト・HTML応答にのみ動作します。管理画面・REST API・AJAX・cronリクエストは対象外です。 |
| hreflangタグに一部の言語が出ない | 「ドメイン管理」でその言語が契約済み(登録済み)になっているか確認してください。 |
/en/aboutにCookie無しでアクセスしても日本語のまま | プラグインがv0.7.1以降に更新されているか確認してください(設定 > Transer Translate画面、またはプラグイン一覧のバージョン表示)。古いバージョンではURLプレフィックスを見ず、Cookieのみで判定します。もしv0.7.1以降なのに直らない場合は、設定画面で「契約言語一覧」を保存し直してみてください(v0.7.1以前の不具合で保存値が壊れている可能性があります。v0.7.2以降は自動修復されます)。 |