非AMP化(AMP解除)の.htaccessでのリダイレクト
GoogleのAMP優遇撤廃を受け、現在多くのサイトで脱AMPが進んでいるようです。
AMPを解除すると言っても、AMPってただ設定を解除するだけでは、ダメなんです。
AMPのURLが残っちゃうから
301リダイレクトを設定して、ちゃんとURLを正規化してあげましょう
AMPのURLって2種類ある?
私のサイトは元々AMPに対応していないため、詳しくないのですが、AMPのリダイレクト方法を調べていたら、AMPのURLは大きくわけて種類あるっぽいです。
- {URL}/amp/
- {URL}?amp=1
私のお客さんは後者の方でした。
前者はディレクトリが違うことになるので、ただAMP解除すると404エラーになるはずです。
これは戻した方が良いです。
一方、後者はURLパラメータであるため、AMPを解除後もエラーにはなりません。
しかし、GoogleAnalyticsやSearchConsoleにはURLパラメータ付きで表示されるため、集計が難しくなります。
なので、やっぱり301リダイレクトして直してあげた方が良いでしょう。
.htaccessでAMPページから非AMPページにリダイレクトをかける
リダイレクトは言わずもがな.htaccessで行うのですが、上記2種類の記述方法は大きく異なる物です。
URLが『/amp/』の場合のリダイレクト設定方法
# /amp/ → 非AMPへのリダイレクト
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/amp/?$ $1 [R=301,L]
</IfModule>
こちらはディレクトリ構造で判断して、/amp/に入った場合、/amp/の手前までのURLにリダイレクトをかけてやる記述です。
URLが『?amp=1』の場合のリダイレクト設定方法
# ?amp=1 → 非AMPへのリダイレクト
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^amp=1$
RewriteRule ^(.*)$ $1? [R=301,L]
</IfModule>
URLパラメータの場合、RewriteCondで%{QUERY_STRING}を使います。
%{QUERY_STRING}はURLパラメータを条件に指定できるものです。
もし、URLパラメータに『amp=1』っていう記述があったら、パラメータなしにリダイレクトしてね!っていう記述を行っています。
こちらはURLパラメータなので、ページの評価には影響ないんじゃないかと思っているんですが、それでもGoogleAnalyticsでページURLが別々に表示されているのは気持ち悪いですよね。
今回は短いですが、以上です。
もしお困りごとがありましたら、お問い合わせフォームよりご相談ください。