はじめに
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/.htaccessindex.phpwp-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を参照するようになり、ようやくログインできました。
管理画面に入れた!でもまだ終わりません
ログインできたら次のことを順番に対応しました。
- パーマリンクのリセット(設定→パーマリンク→保存)
- プロフィールのURL修正(
/wordpress/が残っていました) - SiteGuardの再設定(新しいログインURLを設定)
- データベースパスワードの変更(作業中に画面に表示されてしまいました)
Search Consoleの対応
URLが変わったのでGoogleへの報告も必要でした。
yotubo71.tokyoで新しいプロパティを追加- サイトマップ(
sitemap.xml)を送信
AdSenseも整いました
ads.txtが正しく読めるようになったことで、AdSenseの管理画面でも 「承認済み」 の表示に変わりました。
今回の教訓
WordPressをサブディレクトリで運用するのはトラブルの元です。最初からルート直下にインストールしておくべきでした。
今回の作業でかかった時間は約3時間。焦らず一つずつ対処することが大切だと改めて感じました。
同じような状況で困っている方の参考になれば幸いです。

