2026年6月19日
2026年6月19日
WordPressで多言語サイトを構築する方法・WPMLとPolylangの設定手順
はじめに
「英語と日本語の両方でサイトを運営したい」「外国語コンテンツをSEO最適化したい」——WordPressの多言語対応には、PolylangやWPMLなどの専用プラグインを使うのが定石です。設定手順から翻訳管理まで解説します。
症状・原因
WordPressはデフォルトで単一言語向けに設計されています。多言語サイトを構築するには、URL構造(/en/サブディレクトリや?lang=enパラメータ)・翻訳コンテンツの管理・言語切替ウィジェットなどを適切に設定する必要があります。
解決手順
ステップ1:Polylangをインストールする(無料)
# Polylangをインストール
wp plugin install polylang --activate
# または管理画面から
# プラグイン → 新規追加 → "Polylang" を検索 → インストール
Polylang初期設定:
言語 → 新しい言語を追加
→ 日本語(ja)/ English(en)を追加
URL設定:
→ 言語をディレクトリに含める(推奨)
→ 例: example.com/en/about/
デフォルト言語:
→ 日本語 をデフォルトに設定
ステップ2:投稿・固定ページを翻訳する
投稿の翻訳手順:
1. 投稿 → 投稿一覧
2. 各投稿の行に言語フラグが表示される
3. 翻訳を追加したい言語の「+」をクリック
4. 翻訳エディタが開く → 内容を入力して公開
固定ページも同様の手順で翻訳可能
// コードで現在の言語を取得(Polylang)
$current_lang = pll_current_language(); // 'ja' or 'en'
// 特定言語の投稿URLを取得
$post_id = get_the_ID();
$en_post_id = pll_get_post( $post_id, 'en' );
$en_url = get_permalink( $en_post_id );
// 言語別にコンテンツを出力
if ( pll_current_language() === 'en' ) {
echo 'Welcome to our site!';
} else {
echo 'サイトへようこそ!';
}
ステップ3:言語切替メニューを設置する
// テーマのfunctions.phpに言語切替ウィジェットを追加
// Polylangの言語切替をナビゲーションメニューに表示
add_filter( 'wp_nav_menu_items', function( $items, $args ) {
if ( $args->theme_location === 'primary' && function_exists( 'pll_the_languages' ) ) {
ob_start();
pll_the_languages( [
'show_flags' => 1,
'show_names' => 1,
'display_names_as' => 'name',
'hide_current' => 0,
] );
$lang_switcher = ob_get_clean();
$items .= '<li class="lang-switcher">' . $lang_switcher . '</li>';
}
return $items;
}, 10, 2 );
ウィジェットで設置する場合:
外観 → ウィジェット
→ 「言語切替」ウィジェットをサイドバーに追加
→ フラグ表示・言語名表示を設定
ステップ4:WPMLを使う場合(有料・高機能)
# WPMLは公式サイトからZIPをダウンロードしてインストール
# wp plugin install wpml ← リポジトリにないため手動インストール
# WP-CLIでインストール済みを確認
wp plugin list | grep wpml
// WPMLで現在の言語を取得
$current_lang = apply_filters( 'wpml_current_language', null );
// 特定投稿の翻訳URLを取得
$translated_url = apply_filters(
'wpml_permalink',
get_permalink( $post_id ),
'en'
);
// 言語別コンテンツ切替
if ( ICL_LANGUAGE_CODE === 'en' ) {
echo 'English content';
} else {
echo '日本語コンテンツ';
}
ステップ5:SEO設定を多言語対応させる
// hreflangタグを出力(SEO対策)
add_action( 'wp_head', function() {
if ( ! function_exists( 'pll_the_languages' ) ) return;
$languages = pll_the_languages( [ 'raw' => 1 ] );
foreach ( $languages as $lang ) {
echo '<link rel="alternate" hreflang="'
. esc_attr( $lang['locale'] )
. '" href="' . esc_url( $lang['url'] ) . '">' . "\n";
}
// x-default(デフォルト言語)
$default_url = pll_home_url( pll_default_language() );
echo '<link rel="alternate" hreflang="x-default" href="'
. esc_url( $default_url ) . '">' . "\n";
} );
# Yoast SEO + Polylang の組み合わせ(推奨)
wp plugin install wordpress-seo --activate
# Yoast SEOはPolylangと自動連携し、言語別メタタグを出力
注意事項
- URL構造(サブディレクトリ方式 vs パラメータ方式)はサイト公開後に変更するとSEOに影響します。最初に方針を決めてから実装してください。
- 多言語サイトではキャッシュプラグイン(W3 Total Cache・WP Super Cache)の設定を言語別キャッシュに対応させる必要があります。
- WPMLは有料(年間$99〜)ですが、テーマ・プラグイン翻訳やWooCommerce多言語対応など高機能です。個人ブログにはPolylang(無料)で十分です。
まとめ
多言語サイト構築は「Polylangインストール→言語追加→コンテンツ翻訳→言語切替メニュー設置→hreflangでSEO対策」の流れで実現できます。無料のPolylangから始め、必要に応じてWPMLへ移行することも可能です。関連記事:WordPressのSEO設定を最適化する方法、WordPressでカスタム投稿タイプを登録する方法。