<< 要件 >>
- すでに運用しているWordPressで、英語サイトを作成したい
- CMSの仕様やデザイン等は既存の日本語サイトと全く同じ
- 英語サイトのアドレスは'https://既存サイトドメイン/en/'とする
<< 実装方法 >>
- マルチサイト機能を使って作成
<< 手順 >>
- テスト環境の準備
- プラグイン(All in one wp migration)を使用して本番環境をテスト環境に反映
- プラグインは一旦全て無効化する
- 管理画面 > ツール > ネットワークの設置
- サブディレクトリ形式を使用
- wp-config.phpに追記
define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', 'sample186.7b-demo.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); define('NOBLOGREDIRECT', 'http://(ドメイン)');
- .htacessに追記(書き換え)
# BEGIN WordPress # "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) wp/$2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ wp/$2 [L] RewriteRule . index.php [L] # END WordPress
- 再ログインして『サイトを追加』
<< 参考サイト >>
-
WordPressのマルチサイトとは?メリット・デメリットや具体的な作成方法を解説
https://www.conoha.jp/lets-wp/wp-multisite/ -
WordPessのマルチサイトで参加サイトに子サイトが表示されない場合の解決法
https://free-leaf.org/tomorrow/display-child-site-in-join-site/