本ブログはアフィリエイトプログラムによる収益を得ており、構成にAIを使用しています。
PR
スポンサーリンク

【Cocoon】AMP廃止後の404エラーが消えない時のリダイレクト設定

「AMPを無効化したのに、Google Search Consoleの404エラー(ページが見つかりません)にAMPのURLが大量に出てくる。いつまで経ってもエラーが消えない……」

とお悩みではありませんか?

一般的には「放置していればそのうち消える」と言われていますが、私の環境ではAMP廃止から5年が経過してもエラーが消えませんでした。さすがにこれ以上放置しても意味がないと判断し、リダイレクト設定で処理することにしました。

この記事では、以前実施した「.htaccessによる301リダイレクト設定」を使い、5年経っても消えない残骸URLを正規ページへ転送して、エラーに対処する方法をまとめておきます。

なぜAMPの404エラーがいつまでも消えないのか

結論から言うと、「Googleがまだ古いURLを覚えているから」です。

  1. かつてAMPを有効にしていた際、Googleは「記事URL/amp/」などのURLをインデックスしました。
  2. AMPを無効にすると、これらのURLは「存在しないページ」になります。
  3. Googleがクロールに来た際、ページがないので「404」を返します。
  4. 通常は「放置すればいずれインデックスから消える」とされていますが、5年経ってもクロールされ続け、404エラーが出続けるケースが実在します。

いつまでも残るエラーは精神衛生上よくありませんし、SEOの評価を集約する上でも邪魔になります。これを「正規のページへ移動しましたよ」と伝えるのが「301リダイレクト」です。

【おまけ】AMP以外の原因「?p=投稿ID」もついでに解決する

AMP以外にも、WordPressを長く運営していると「?p=123」のようなパラメータ付きのURLが404エラーとして検出されることがあります。

これはWordPressの古いパーマリンク形式や、リンクミスなどの残骸です。AMP対策とあわせてこれらも正規のURLへ転送設定しておくことで、サイト全体のURLをクリーンに保ち、SEO評価を正規ページへ集約させやすくなります。

【解決策】.htaccessにリダイレクト設定を追記する

サーバーにある .htaccess ファイルに、残骸URLを処理するためのコードを追記します。SSL化と、AMP・不要なパラメータ対策を統合した記述例です。

.htaccessの編集に失敗するとサイトが表示されなくなります。必ず事前にバックアップを取ってから作業してください。(変更する前に中身をすべてコピーしてメモ帳などに保存しておきましょう。)

※XServerの場合、サーバーパネルにログインして、「ホームページ」→「.htaccess編集」で編集できます。

導入のイメージ(Before / After)

現在の .htaccess にある既存のSSL設定を、今回提案するブロックに置き換えるイメージです。

修正前(よくある既存の状態)

以下の記述を探しましょう。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

修正後(AMP & 不要パラメータ対策を統合した状態)

先ほど探した記述を以下に変更します。(# 1. 常時HTTPS化のところに丸々入っていることを確認してください。)

# --- リダイレクト設定 共通開始 ---
<IfModule mod_rewrite.c>
RewriteEngine On

# 1. 常時HTTPS化(最優先)
# 暗号化された安全なページへ誘導します。
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# 2. システム系のクリーンアップ(不要なパラメータ消去)
# 「?amp=1」や「?p=123」といった残骸URLから、不要な部分を消して正規ページへ飛ばします。
RewriteCond %{QUERY_STRING} ^amp=1$ [OR]
RewriteCond %{QUERY_STRING} ^p=[0-9]+$
RewriteRule ^(.*)$ /$1? [R=301,L]
</IfModule>

# 3. URL末尾の「/amp/」を正規のURLへ転送
# URLの最後が /amp/ で終わるパターンを、通常ページへリダイレクトします。
RedirectMatch 301 (.*)/amp/$ $1
# --- リダイレクト設定 共通終了 ---

各コードの役割

  • SSL(HTTPS)転送: http:// へのアクセスを https:// へ自動転送します。
  • ?amp=1 対策: URL末尾のパラメータを消去します。
  • /amp/ 対策: パスとしてのAMPページを通常ページへ紐付け直します。

設定後にやるべきこと

リダイレクト設定が完了したら、正しく動作しているか確認し、Googleに報告しましょう。

ブラウザで動作確認をする

まずは、エラーが出ていたURL(例:「〜/amp/」)をブラウザのアドレス欄に直接打ち込んでアクセスしてみてください。

  • 正規のページ(AMPなしのURL)へ自動的に移動(転送)されれば成功です。
  • 404エラー画面(ページが見つかりません)が出なければ、サーバー側の設定は無事に完了しています。

Google Search Consoleで検証リクエストを送る

自分のブラウザで問題がないことを確認したら、Googleにも報告します。

  1. Google Search Console にログイン。
  2. サイドメニューの「ページ」項目を開く。
  3. 発生しているエラー「見つかりませんでした(404)」をクリック。
  4. 「修正を検証」ボタンを押す。

エラーが完全に消えるまでの期間の目安

ここは気になるところだと思いますが、検証ボタンを押してもエラーはすぐには消えません。

  • Googleが数千、数万とあるURLを一つひとつ確認して回るには時間がかかります。
  • 通常、数週間〜1ヶ月以上かかることも珍しくありません。

リダイレクト設定さえ正しくできていれば、Googleが再訪問したときに自動的に正規ページとして処理されます。焦らずに見守りましょう。

まとめ

AMP廃止後に残る404エラーは、以下の手順で対処します。

  1. .htaccessで「301リダイレクト」を設定する
  2. サーチコンソールで検証をリクエストし、気長に待つ

同じ悩みを持つ方は参考にしてみてください。

コメント

タイトルとURLをコピーしました