WordPressから静的HTMLに移行して3週間後、Google Search Consoleからメールが届いた。
「サイトのページがインデックスに登録されない新しい要因が検出されました」
移行直後は問題なく動いていたのに、なぜ今さら——。確認してみたら、原因はWordPress時代の「残骸」だった。
移行してすぐには気づかない問題がある
サイトの見た目・動作・速度、すべて問題ない。でも、Googleの目線では話が違った。
Googleは以前のサイト(WordPress版)を何度もクロールして、URLを記憶している。その記憶の中には、今のサイトには存在しないURLが大量にある。
/wp-content/uploads/2025/12/...(画像ファイル)/wp-login.php(ログインページ)/wp-admin/(管理画面)
これらを今のサイトにリクエストすると、当然 404 Not Found が返る。Googleはこれを繰り返し確認しに来て、警告メールを送ってきた。
Search Consoleに届いた警告の内訳
ダッシュボードを開くと、4つのステータスが並んでいた。
- 見つかりませんでした(404):3件 — WordPressのURL群。
wp-content/、wp-*.php、旧WordPress時代のページ。 - robots.txtによりブロック:1件 — robots.txtが存在しなかったため、サーバー側デフォルト設定が影響。
- 検出 - インデックス未登録:4件 — 新サイトのページをGoogleが見つけたが、まだインデックスするか判断中の状態。
- クロール済み - インデックス未登録:2件 — クロールされたが、Googleがインデックスしないと判断した状態。
後ろの2つは新サイトでは正常で、時間が経てば解消する。問題は最初の2つ、特に 404の3件 だ。
404のままで何が困るのか
「どうせ存在しないページだし、404でいいんじゃないか」——最初そう思った。でも違う。
GoogleはURLをリクエストして404が返ってくると、こう解釈する。
だから何度もクロールしに来る。これがサイトのクロールバジェット(Googleが1サイトに使うクロール回数)を無駄に消費する。
対して 410 Gone を返すと、Googleの解釈は変わる。
410 Gone:「永久に削除された。もうクロールしなくていい」→ デインデックスが早まり、クロールの無駄が減る
WordPressから移行したあと、旧URLに 410 を返すのが正しい対処法 だ。
対応① robots.txt の新規作成
まず確認したら、プロジェクトに robots.txt が存在しなかった。静的HTMLサイトではサーバー側のデフォルト設定が使われることがある。これが意図せずクローラーをブロックしていた可能性がある。
明示的に「全許可」の robots.txt を作成してデプロイした。
User-agent: *
Allow: /
Sitemap: https://giverth.co.jp/sitemap.xml
シンプルだが、これだけで「Googleよ、全部クロールしていい。サイトマップはこちら」と明示できる。
対応② .htaccess に 410 Gone を設定
WordPressのURLに対して410を返すよう、.htaccessに追記した。
# 旧WordPress URL → 410 Gone(Googleに永久削除を通知)
RewriteRule ^wp-content/ - [G,L]
RewriteRule ^wp-includes/ - [G,L]
RewriteRule ^wp-admin/ - [G,L]
RewriteRule ^wp-login\.php - [G,L]
RewriteRule ^wp-cron\.php - [G,L]
RewriteRule ^wp-signup\.php - [G,L]
RewriteRule ^xmlrpc\.php - [G,L]
RewriteRule ^wp-.*\.php - [G,L]
[G,L] は Apache の RewriteRule フラグで、G が 410 Gone を返す指定、L がここで処理を止める指定だ。これをデプロイして完了。
設定後の確認方法
デプロイ後、Search Consoleの「URL検査」で旧WordPressのURLを入力して確認できる。https://giverth.co.jp/wp-login.php などを検査すると、しばらくすると「410 Gone」として処理されていることが確認できる。
また、Search Consoleのダッシュボードで「見つかりませんでした(404)」の件数が減っていれば対応成功だ。確認は1〜2週間後を目安に。
WordPress移行後チェックリスト
移行直後にやること
- robots.txt を作成・デプロイ(全許可 + Sitemapを明記)
- sitemap.xml を作成・デプロイ
- Google Search Console にサイトを登録
- サイトマップを Search Console に送信
- 主要ページを URL 検査でインデックス申請
1〜2週間後にやること
- Search Console で404件数を確認
- .htaccess に旧WP URL の 410 Gone を設定
- robots.txt ブロックが解消しているか確認
まとめ
- WordPress移行後の旧URLは 404のまま放置しない
- 404(一時的不在)ではなく 410 Gone(永久削除) を返すことでGoogleのデインデックスが早まる
- .htaccessに6〜8行追加するだけで対応できる
- robots.txtがない場合は、まず作成・デプロイから
「移行した」で終わりにせず、Googleへの後処理まで済ませて初めて移行完了だと実感した。