WP STAGING と WPML の設定

WPML、Weglott、Polyglot などの優れた多言語 Plugin を使っていて、言語設定で URL に言語コード付きのカスタムフォルダ (例: yourdomain.com/en/) を使うように設定していますか?
その場合、Staging サイトのページを開くとエラー 404 になる問題に遭遇するかもしれません。これは Staging サイトのパーマリンクが無効化されている場合に発生することがあります。

オプション 1: Staging サイトをサブドメインに作成する

WordPress サイトをサブドメインにクローンできます。こうすれば、URL 構造が本番サイトの URL 構造をそのまま反映するため、リンク構造に関する問題が発生しなくなります。

オプション 2: WPML の言語 URL フォーマットを変更する

WP STAGING の Staging サイトで、WPML の言語設定を yourdomain.com/staging-site?lang=en のような URL ベースの言語に切り替えることができます。

この設定は WPML > Languages から変更できます。

注: Staging サイトを本番に Push し直す場合は、本番サイトのパーマリンク構造が変わらないように、Push する前に Staging サイト側のこの設定を元に戻すことをお勧めします。

オプション 3: 投稿名パーマリンクを有効化する

この記事に従って、Staging サイトで投稿名パーマリンクを有効化してみることもできます。

オプション 4: 言語ごとに異なるドメインを使う Staging サイトを作成する

例えば、英語版に example.com、フランス語版に example.fr、ドイツ語版に example.de ドメインを使っている本番サイトがあり、それぞれを staging.example.comstaging.example.frstaging.example.de にクローンしたいとします。

この場合、以下のコードスニペットを mu-plugin として使う必要があります (お使いのドメインに合わせて修正してください):

PHP
function wpstg_cloning_custom_params($args)
{
      $args['search_for'] = array_merge(
         $args['search_for'],
         ['example.fr', 'example.fr']
      );

      $args['replace_with'] = array_merge(
         $args['replace_with'],
         ['staging.example.fr', 'staging.example.de']
      );

      return $args;
}

add_filter('wpstg_clone_searchreplace_params', 'wpstg_cloning_custom_params'); 

続いて、このガイドに従って、サブドメイン「staging.example.com」に Staging サイトを作成してください。もちろん、サブドメインは事前にホスティングのコントロールパネルから作成しておく必要があります。

これらの新しいサブドメイン (staging.example.fr、staging.example.de) も、ドメインの DNS マネージャーでメインの Staging サイトの IP を指すように設定するのを忘れないでください。

Staging サイトを本番サイトに Push した後も WPML のライセンスキーを保持する

本番サイトの WPML ライセンスデータを Staging サイトのデータで上書きせず、Push 処理後もそのまま保持したい場合は、mu-plugin ファイルを作成して、このコードスニペットを追加してください:

PHP
<?php
/*
Plugin Name: mu-plugin to keep the WPML license of the live site
Description: After you push the staging site to the live site, the live site's WPML license won't change
Version: 1.0
Author: WPSTAGING
*/

function wpstg_push_preserve_options($options){
    $preserveOptions = ['wp_installer_settings'];
    return array_merge($options, $preserveOptions );
}
add_filter('wpstg_preserved_options','wpstg_push_preserve_options');

続いて Staging サイトを本番サイトに Push すると、同じ WPML ライセンスキーが保持され、上書きされません。

WPML のトラブルシューティングオプション

WP STAGING で WordPress サイトを Push またはクローンした後に、WPML の翻訳が思いどおりに動作しないことがあります。これは WPML の内部キャッシュ処理が原因であることが多いです。幸い、WPML には WPML のキャッシュをパージしてリフレッシュできる強力なトラブルシューティングオプションがいくつか用意されています。

このページの情報は WPML 上級ユーザー向けです。何をすればよいかわからない場合は、WPML のトラブルシューティングオプションを実行する前に、WPML のサポートにお問い合わせください。

WPML のトラブルシューティングページは WPML > Support から開けます。
troubleshooting のリンクをクリックします。

How to access the WPML troubleshooting options
WPML のトラブルシューティングオプションへのアクセス方法 

このオプションページから一覧されているアクションを実行する前に、WordPress サイトの Backup を作成してください。

The WPML troubleshooting options page
WPML のトラブルシューティングオプションページ

下の表に、最も重要なコマンドと使用が想定されるシナリオの説明をまとめています:

コマンド 使用するタイミング
WPML のキャッシュをクリア
  • 翻訳の割り当てが機能しない場合。
  • 文字列関連のデータベースデッドロックが発生する場合。
  • 文字列が表示されず、「WordPress database error Deadlock found when trying to get lock」のようなエラーが発生する場合。これは主にローカル開発環境から本番への移行後に発生します。INSERT IGNORE INTO クエリのトランザクションを再開してみることもお試しください。
  • 言語切り替えの問題。
翻訳テーブルからゴーストエントリを削除
  • アップグレードやバグ修正後に WPML のテーブルが適切にリンクされていないエントリを削除する。
  • 使用されていない文字列を削除する。
  • Draft ステータスの商品をゴミ箱に移動する処理中にエラーが発生する場合。
element_type の照合順序を修正
  • 翻訳後に翻訳コンテンツが欠落している場合に使用します。
  • 「post_type is X but collation is Y」のようなエラーを修正するのに使用します。
  • WPML のインストール後に投稿や固定ページの一覧が表示されない場合。
  • WooCommerce で翻訳対象として商品が一覧に表示されない場合。
WPML テーブルの照合順序を修正
  • 照合順序の不正な混在に関連するエラーが発生する場合。例えば「WordPress database error Illegal mix of collations utf8_general/utf8mb4」エラーが発生する場合。
言語情報を設定
  • WPML が無効な状態でコンテンツを作成した場合、または他の Plugin が WordPress API を経由せずにコンテンツを作成した場合、そのコンテンツには言語情報が欠落しており、どの言語でも表示されないことがあります。このアクションでその問題を解決できます。
  • 翻訳された投稿が元の投稿と接続されていない場合。
文字列テーブルのクリーンアップと最適化
  • WPML バージョン 4.3 より前に翻訳されたサイトでのみ使用してください。このコマンドを使うと、文字列キャッシュテーブル (_icl_strings_url_icl_strings_pages) のコンテンツが削除され、icl_strings テーブルが最適化されます。すべての MO ファイルが正しく作成されている場合にのみ機能します。それ以外の場合、ボタンはクリックできますが何も実行されません。ボタンが機能しない場合は、WPMLTheme and plugins localization ページに移動して、Theme と Plugin で MO ファイルが欠落していないかスキャンしてください。

出典:
https://wpml.org/documentation/support/wpml-troubleshooting-options/

関連記事

Updated on 5月 23, 2026

Rene Hermenau

著者: Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.