GSCの404が増えたときは、まず「本当に404か/301で飛んでいないか」を確認します。次に正規URLを決めて、Redirectionの301を旧→正規の1本に整理。最後にメニューや記事内リンクなど内部リンクの発生源を正規URLへ揃えると、404は減っていきます。
Google Search Console(GSC)で404エラーが増えると、「放置していいのか」「どこを直せばいいのか」で手が止まります。WordPressでカテゴリ整理やURL変更をした直後は、404だけでなく301リダイレクトが絡んで、原因が見えづらくなりがちです。
この記事では、/category/learning/ が404になるはずなのに、Redirectionの301設定で /category/life/learn/ に飛んでしまい混乱した件を例に、Search Consoleの404を減らすための切り分けと直し方を、作業ログとして丁寧にまとめます。
この記事で分かること
- GSC(Search Console)の404が「ページが無い」のか「WordPressのリダイレクト設定が原因」なのかの見分け方
- Redirectionプラグインで301リダイレクトを整理する手順(増やすより減らす)
- 直ったと判断する条件(200/301/404で確認)
- カテゴリURL変更後に404を再発させないチェックリスト
1. 今回の症状:カテゴリが404のはずなのに、別カテゴリへ飛ぶ
今回、実際に訳が分からなくなった「/category/learning/」を使います。
GSCで404と指摘された「/category/learning/」。それならばブラウザからアクセスしたときは当然404エラーになるはずです。ところが実際には、
- /category/learning/ は404になるはず
- なのに /category/life/learn/ に転送されることがある(301)
という現象が起きました。
2. 最初にやること:GSCの404から“事実”を見極める
GSCの404対応でいきなり設定を触ると、何が変わったのか分からなくなります。最初にやるのは、事実の確定です。
やることはこれだけです。
- GSCに出てきた問題URLを、ブラウザで開く
- どうなったかをメモする(404/別URLへ飛ぶ/表示される)
- 飛んだ場合は、最終的に表示されたURL(着地点)も控える
GSCの404は、実は301で別ページへ転送されているケースが混ざることがありそうです。まずは、何が起きているかの事実を正しく把握すると、次の切り分けが一気に楽になります。
3. 原因の候補はこの4つ(WordPressの404とリダイレクトの見分け方)
WordPressで「GSC 404」「カテゴリ404」「勝手に転送される(301)」が絡むとき、原因の候補はほぼ決まっています。私は次の順番で見ました。
3-1. 最優先:Redirection(301の主犯になりやすい)
今回の決定打はここでした。Redirectionプラグイン内に、まさに混乱の入口になる転送ルールが入っていました。(覚えていませんでした)
(当時の状況を“引用風”に残すとこういうイメージです)
Redirection:301
Source:/category/learning/
Target:https://smec.blog/category/life/learn/
つまり「/category/learning/ は404のはず」なのに、Redirectionが301で別カテゴリへ飛ばしてしまう。これが “404対応をしているのに挙動が変わる” 正体でした。
3-2. 次点:内部リンク(メニュー/記事内リンク/関連記事)
GSCの404が減らないとき、内部リンクが発生源になっていることがよくあります。
- グローバルメニューが古いカテゴリURLを指している
- 記事内のテキストリンクが旧カテゴリURLのまま
- 関連記事やカテゴリ一覧が旧URLを吐いている
内部リンクが古いままだと、ユーザーもクローラーも旧URLへ流れ続けます。結果として、GSCで404が“出続ける”状態になります。リダイレクトだけで延命しても根っこが残ります。
3-3. サーバー側(.htaccessなど)やテーマの独自リダイレクト
Redirectionに該当がないのに飛ぶ場合、サーバーやテーマの転送を疑います。ただ、ここまで広げると難易度が上がるので、まずはRedirectionと内部リンクから潰す方が最短です。
3-4. キャッシュ(直したのに変わらない原因)
設定を直したのに挙動が変わらない場合、キャッシュが残っていることがあります。ブラウザ/キャッシュ系プラグイン/CDNなど、可能性のあるところを一度クリアして再確認すると、切り分けが進みます。
4. いちばん重要:正規URL(最終的に育てるURL)を先に決める
GSCの404が長引く原因で一番多いのが、「どれが正しい(正規)URLか」が決まっていないことです。今回のようなカテゴリ整理では、選択肢が2つ出ます。
- /category/learning/ を復活させて、正規カテゴリとして育てる
- /category/life/learn/ を正規カテゴリとして集約する
私は後者を選びました。学び系の導線を /life/learn/ 側に揃える方針だったからです。
正規URLが決まると、以降の判断がブレません。
- 旧URLは正規URLへ一発で着地させる(301は一本)
- 中継地点(A→B→C)を作らない
- 似たリダイレクトルールを増やさない
SEO的にも運用的にも、この「一本化」が効きます。転送ルールが増えるほど、将来の自分が管理不能になります。
5. 実作業ログ:Redirectionで301を整理してGSCの404を減らす
ここからが作業ログです。順番が大事なので、そのまま真似できる形にします。
5-1. Redirectionのルールを棚卸しする(関連ルールを全部出す)
Redirectionの検索で、以下を入れて関連ルールを一覧化します。
- learning
- /category/learning/
- /category/learning(末尾スラッシュなし)
似たルールが複数あると、意図しないリダイレクトチェーン(A→B→C)が起きやすいです。まずは「何が入っているか」を全部把握します。
5-2. 残すルール/消すルールを仕分ける(基準は2つだけ)
私は判断基準を増やさず、次の2つだけで切りました。
残す(必要)
- 過去に使っていたURLを、正規URLへ一発で着地させる301
消す(不要)
- 今後使わないカテゴリへ誘導してしまうルール
- 重複しているルール
- チェーンやループの原因になっているルール
今回で言えば、/category/learning/ を今後使わない前提なのに「learning→learn」へ飛ばすルールが残っていて混乱を生んでいました。だから、旧→正規の一本以外は全てが整理対象になります。
5-3. 301は「旧→正規」1本にする(増やすより減らす)
転送は多いほど事故が増えます。
残すべきは、旧URLを正規URLへ一発で送るルールだけ。これが最もシンプルで、GSC(Search Console)側も落ち着きやすいです。
※面倒ですが検索窓を使うか、上から下まで目検で調べてください。後々、更に面倒なことになります。
6. 直ったかどうかの判定:301/404で判断する
私は次の3点が揃ったら“直った”と判断しています。
- (当然ですが)正規URLが表示される
- 旧URLを検索した際に301で正規URLへ一発で飛ぶ
- 途中で何回も飛ばない(チェーンになっていない)
この条件が揃うと、GSCで404が“新規に生まれてくる現象”が止まります。
7. 仕上げ:GSC(Search Console)側の後処理で収束を早める
WordPress側を直しても、GSCの表示がすぐ消えるとは限りません。
- サイトマップを最新にする(カテゴリ整理後は特に重要)
- 内部リンクを点検し、旧URLが残っていれば正規URLへ直す
(メニュー/記事内リンク/関連記事/カテゴリ一覧) - GSCの該当項目で「修正を検証」を実行する
大事なのは、「新しく404が発生しない状態」になったかです。ここが止まれば収束です。
8. 再発防止チェックリスト(コピペ用)
カテゴリURL変更や構造整理をしたとき、私はこのチェックリストをそのまま使っています。
- 正規URL(最終形)を先に決める
- Redirectionは旧→正規の1本だけにする
- 一時しのぎの転送ルールを残さない(徹底的に関連リダイレクションは消す、無効化で残さない)
- 直ったかは実際に旧URLを用いて、301/404で確認する
- メニューのリンク先が旧URLのままになっていないか確認
- 記事内リンク(テキストリンク)が旧URLのままになっていないか確認
- 関連記事やカテゴリ一覧が旧URLを吐いていないか確認
- サイトマップ更新→GSCで「修正を検証」
FAQ(よくある質問)
Q1. Search Consoleの404は全部直すべき?
全部を機械的に直す必要はありません。ただし「以前は存在したURLの404」は優先度が高いです。
Q2. とりあえず301で全部飛ばせばいい?
短期的にはラクですが、ルールが増えるほど管理不能になります。旧→正規の一本化が本命です。
Q3. Redirectionを直したのに挙動が変わらない
キャッシュが残っている可能性があります。ブラウザ/キャッシュ系プラグイン/CDNなどをクリアしてから再チェックすると切り分けが進みます。
まとめ
GSC(Search Console)の404エラーは、単純なリンク切れだけが原因ではありません。
WordPressの場合、Redirectionの301設定や内部リンクの取り残しが絡んで、404が“出続ける状態”になりがちです。
今回の私の解決策は、正規URLを先に決め、Redirectionの301を旧→正規の1本に整理し、301/404で着地を確認すること。そして内部リンク(メニューや記事内リンク)を正規URLへ揃えること。これで、カテゴリ整理中の迷子が止まり、404が減っていく状態に入りました。


コメント