【WordPress】一か月以上経過したサイトをサブディレクトリ型マルチサイト化する
サブディレクトリ型のマルチサイトにするには運用から一か月経過していないことが必要になります。
つまり投稿や固定ページの公開&更新日等が一か月以内であることが必要なのですが、リビジョン等もあるので、管理画面で更新するだけではなかなか厳しかったりします。
手順を覚え書きとして残しておきます。
ベーシック認証を一時的に解除
公開済みのサイトであれば設定していることは無いと思うのですが、もし認証をかけている場合はマルチサイト化の作業が終わるまで一時的にオフにしておきましょう。
“wp-config.php”の編集
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */のコメント直前に以下を追加してアップロードします
define('WP_ALLOW_MULTISITE', true); //←これを追加
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
一か月より古い投稿の日付を変更する
phpMyAdmin等でSQL文を実行します。
まずは一か月より前の投稿を検索する
以下のSQLを実行してpostsテーブルの古い記事を検索します。
{prefix}の部分はテーブル接頭辞を設定してください。デフォルトの場合は”wp”かと思います。
SELECT * FROM {prefix}_posts WHERE post_date < DATE_SUB(NOW(), INTERVAL 1 MONTH) AND post_status = 'publish'
検索結果の投稿のpost_dateとpost_date_gmtを本日の日付に変更する
一か月以内であれば、本日の日付で無くても良いのですが..
当然公開日が本日の日付になってしまいますので、古い日付に戻す場合は後で調整が必要です。
UPDATE {prefix}_posts SET post_date = DATE(NOW()), post_date_gmt = DATE(NOW()) WHERE post_date < DATE_SUB(NOW(), INTERVAL 1 MONTH) AND post_status = 'publish';
ネットワークの設定をする
管理画面にて「ツール」>「ネットワークの設定」を選択します。
プラグインの停止を求められたらそれに従い一旦「停止」にします。
「WordPressサイトのネットワークの作成」のページで「サブディレクトリ」を選択します。
「ネットワークのタイトル」はマルチサイト化した後に変更できますので、適当な名前を付けておきましょう。「〇〇のネットワーク」的な…
「インストール」ボタンを押します。
wp-config.php と .htaccessファイルを書き換える
ネットワークの設定が完了したら、wp-config.phpと.htaccessのファイル書き換えの指示が開きますのでそれに従ってそれぞれのファイルを変更します。
wp-config.php
先に追加したdefine(‘WP_ALLOW_MULTISITE’, true);は削除してください
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */の直前に追加します。
下記コードを追加する。define(‘WP_ALLOW_MULTISITE’, true);は削除してください。
.htaccess
# BEGIN WordPress から #END WordPressの間を上書きします。
書き換えるのはルートにある.htaccess ファイルです。
例えばWordPressを/wp/等のフォルダにインストールしている場合は/wp/.htaccessでは無いので気を付けてくださいね。
最後にページの下にある「ログイン」を押して、再ログインして、管理画面に「参加サイト」のメニューが追加されていれば成功です。