WordPress

WordPressインストールの場所をルートディレクトリ直下に変更

久しぶりにブログを更新するにあたり、古くなったテーマの変更やSSL対応をしようとして、変更作業中に色々と躓くことが多かった。その中でも、「Wordpressアドレス」と「サイトアドレス」が異なることで生じる不具合で色々面倒くさいことになっていた。

気が付かないだけで他にもあるかもしれないが、悩んでる問題は、

  • テーマのカスタマイズで「Non-existent changeset UUID」とエラーが出てプレビューが表示されない
  • 特定のプラグインで「.htaccessの書き込み権限がありません」と表示され実行できない
  • ページの公開状態を「パスワード保護」にしたとき、パスワードを入力してもページ閲覧出来ない場合がある

上2つは不便だけど一時的にサイトアドレスを同じに変更して対応できるが、3つ目は特定の第三者に閲覧してもらうためのページで、その場しのぎもできない。それほど事例が多いわけでもなかったので個別対応していた。

丁度いい機会だったのにWordpressをルートディレクトリ直下にインストールし、Wordpressとサイトアドレスを同じにして、問題解決することにした。

WordPressアドレス http://aaa.bbb.com/wp1

サイトアドレス http://www.aaa.bbb.com

これ↑ を ↓となるようにする

WordPressアドレス、サイトアドレス https://www.aaa.bbb.com

ついでにssl対応したのでhttpsになっている。ちなみに、wwwの有り無しの違いだけでも不具合出るので、Wordpressアドレスとサイトアドレスのurlは完全に一致させる必要がある。

以下手順。詳細は詳しいサイトが多くあるので、ここでは今回行った作業を列挙する。

  1. ftpにてサブディレクトリにインストールされたWordpressのファイルをすべてバックアップする。ついでにルートディレクトリ直下にある.htaccessとindex.phpもバックアップ。
  2. .htaccessとindex.phpはルートディレクトリ直下とサブディレクトリのどちらを使うかは、それまでの個々のカスタマイズで変わってくると思うが、サブディレクトリの記述がある方のファイルを使う時は修正が必要。.htaccessなら「RewriteRule . /wp1/index.php [L]」の「/wp1」削除して「RewriteRule . /index.php [L]」と修正。index.phpは「require(‘./wp1/wp-blog-header.php’);」の「/wp1」を削除して「require(‘./wp-blog-header.php’);」と修正する必要がある。
  3. ftpにてサブディレクトリをまるごと削除、バックアップしたWordpressのファイルと修正済み.htaccessとindex.phpをルートディレクトリ直下にコピー。
  4. WordPressにログイン出来なくなったので、データベースMySQLにログインして、wp_options内のoption_name:siteurlがoption_value:http://aaa.bbb.com/wp1となっているので、「https://www.aaa.bbb.com」に編集修正。
  5. ログイン出来るようになったので、Wordpressにログインする。ログイン画面urlが「http://aaa.bbb.com/wp1/wp-login.php」から「https://www.aaa.bbb.com/wp-login.php」とサブディレクトリの/wp1がなくなるので注意。
  6. 念のため、「設定」-「パーマリンク設定」で特に変更しなくても「変更を保存」する。
  7. WordPressアドレスが変更されたことにより、サイト内のアップロード画像等が表示されなくなってたりするため、サイト内urlを一括変更する。使用したプラグインは「Search Regex」。変更は固定ページと投稿ページだけで充分なので、置換範囲は「Post content」。置換内容は短すぎると余計なものまで変更されてしまうかもしれないので、「http://aaa.bbb.com/wp1」から「https://www.aaa.bbb.com」とした。一括置換はやはり怖いので、「Replace」で置換結果を確認してから「Replace&Save」で一括置換して保存。

以上で作業完了だが、4はファイル削除前にWordpressの設定からWordpressアドレスを修正後のurlに変更しておけば必要なかったかも。

ドメイン直下にWordpressをインストールすることは、デメリットもあるようなのだが、自分の利用スタイルでは特に問題ないと判断した。まあ、自力で解決できる熟練者だったらディレクトリ変更以外のやり方もあったかもしれないが、Wordpress初級者の自分には今回の変更で十分すっきりした。