WordPressをサブディレクトリから移動した話。管理画面に入れなくなって焦りました

はじめに

Google Search Consoleから「ページがインデックスに登録されない」という通知が届きました。

原因を調べてみると、サイトのURLが yotubo71.tokyo/wordpress/ というサブディレクトリ構成になっていて、これがGoogleのクロールを妨げていることが分かりました。

さらに yotubo71.tokyo にアクセスすると 403 Forbidden が表示されるという状態でした。つまりGoogleからすると「このサイト、本当に存在するの?」という状態だったわけです。

Google AdSenseの問題も発覚

調べていくうちに、もう一つ問題が見つかりました。

Google AdSenseは yotubo71.tokyo/ads.txt を確認しに来るのですが、ルートディレクトリが403エラーで閉じているため ads.txtが読めない状態 になっていました。

審査が通らない原因がここにあったのです。

解決策:WordPressをルート直下に移動する

解決策はシンプルです。/wordpress/ フォルダの中身を public_html/ 直下に移動することです。

ただし、これが思った以上に大変でした。

ファイルの移動

FTPクライアント(net2ftp)を使って、/wordpress/ フォルダ内の全ファイルを public_html/ 直下に移動しました。

移動したファイルは以下の通りです:

  • wp-admin/
  • wp-content/
  • wp-includes/
  • .htaccess
  • index.php
  • wp-config.php
  • その他 wp-*.php ファイル

悪夢の始まり:管理画面に入れない

ファイルを移動した後、管理画面にアクセスしようとしたら…

リダイレクトループ!

WordPressのデータベースにはまだ /wordpress/ のURLが登録されていたため、ログインしようとすると延々と /wordpress/wp-login.php にリダイレクトされ続けました。

データベースのURL修正

PHPファイルを使ってデータベースのURLを直接書き換えました。

<?php
require_once('wp-load.php');
update_option('siteurl', 'https://yotubo71.tokyo/wordpress');
update_option('home', 'https://yotubo71.tokyo');
echo '完了しました!';
?>

※このファイルは実行後すぐに削除してください!セキュリティ上非常に危険です。

SiteGuardプラグインの壁

さらに問題がありました。セキュリティ対策でログインURLを変更する SiteGuard プラグインを使っていたのですが、これがデータベースに設定を残していて、管理画面へのアクセスを阻んでいました。

SiteGuardの設定をデータベースから削除するPHPファイルを作成して実行しました。

wp-config.phpで強制的にURLを指定

最終的に wp-config.php の先頭に以下を追加することで解決しました。

define('WP_SITEURL', 'https://yotubo71.tokyo/wordpress');
define('WP_HOME', 'https://yotubo71.tokyo');

これでWordPressが正しいURLを参照するようになり、ようやくログインできました。

管理画面に入れた!でもまだ終わりません

ログインできたら次のことを順番に対応しました。

  1. パーマリンクのリセット(設定→パーマリンク→保存)
  2. プロフィールのURL修正/wordpress/ が残っていました)
  3. SiteGuardの再設定(新しいログインURLを設定)
  4. データベースパスワードの変更(作業中に画面に表示されてしまいました)

Search Consoleの対応

URLが変わったのでGoogleへの報告も必要でした。

  1. yotubo71.tokyo で新しいプロパティを追加
  2. サイトマップ(sitemap.xml)を送信

AdSenseも整いました

ads.txtが正しく読めるようになったことで、AdSenseの管理画面でも 「承認済み」 の表示に変わりました。

今回の教訓

WordPressをサブディレクトリで運用するのはトラブルの元です。最初からルート直下にインストールしておくべきでした。

今回の作業でかかった時間は約3時間。焦らず一つずつ対処することが大切だと改めて感じました。

同じような状況で困っている方の参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA