
WordPressでAMPページと通常ページのアドセンス表示を出し分けるショートコード【AMPは今も必要?】
WordPressのAMPプラグインを使うと、サイトを簡単にAMP対応できますが、記事内にアドセンス広告を貼っている場合はそのままでは正しく表示されないことがあります。
AMPページ用と通常ページ用で、それぞれ異なるアドセンスコードを表示させたい場合、PHPの条件分岐を使ったショートコードを用意しておくと便利です。この記事では、通常ページとAMPページで表示内容を出し分けるショートコードの作り方を紹介します。あわせて、現在のAMPの位置づけについても整理しておきます。
目次
そもそも今、AMP対応は必要なのか
このショートコードを紹介する前に、押さえておきたいことがあります。Googleはすでに検索結果でAMPページを優遇する仕組みを廃止しており、「Top Stories」枠の表示にAMPが必須という状況ではなくなっています。
そのため、現在は多くのサイトがAMPの利用をやめ、通常ページのみで運用する方向にシフトしています。表示速度については、AMPに頼らなくても、レスポンシブ対応の高速なテーマを選んだり、画像最適化やキャッシュ設定を見直したりすることで、Core Web Vitals(表示速度・操作性・視覚安定性の指標)を十分に改善できます。
「これからAMPを導入しようか迷っている」という人は、そもそも今AMPは必要?外すべき?もあわせて確認してみてください。一方で、すでにAMPを導入済みで、AMPページと通常ページでアドセンスの表示を出し分けたい場合は、以下のショートコードが役立ちます。
AMPページと通常ページを判定するショートコード
使用しているテーマの「functions.php」に、以下のコードを追加してください。
<?php //AMP分岐ショートコード
function amp_bunki() {
if( is_amp_endpoint() ) {
$adsense_code = '
<p>AMPページ用のアドセンスコードをここに記述</p>
';
} else {
$adsense_code = '
<p>通常ページ用のアドセンスコードをここに記述</p>
';
}
return $adsense_code;
}
add_shortcode('amp_bunki', 'amp_bunki');
?>
is_amp_endpoint()は、AMPプラグインが有効になっている環境で、現在表示しているページがAMP版かどうかを判定する関数です。この条件分岐により、AMPページではAMP対応済みの広告コードを、通常ページでは通常のアドセンスコードを表示できます。
投稿ページへのショートコードの設置方法
functions.phpへの追加が完了したら、広告を表示したい投稿ページの本文に、以下のショートコードを入力します。
[amp_bunki]
ブロックエディターでは「ショートコード」ブロックを追加し、そこに上記のコードを貼り付けてください。もしショートコードがそのまま文字として表示されてしまう場合は、ショートコードが表示されないときのチェックポイントを確認してみてください。
通常ページとAMPページでの表示確認方法
設置できたら、通常ページとAMPページの両方で表示が切り替わっているかを確認しましょう。通常ページはパソコンのブラウザでそのまま確認できますが、AMPページはスマートフォンなどのモバイル端末でしか表示されないのが基本です。ただし、以下の手順を踏めばパソコンからでも確認できます。
手順1:Chromeのデベロッパーツールでモバイル表示にする
Google Chromeでページを開き、「F12」キーを押してデベロッパーツールを起動します。続けて「Ctrl+Shift+M」を押すとモバイル表示モードに切り替わるので、iPhoneなど任意の端末を選択してから「F5」でページを再読み込みしてください。
手順2:URLの末尾に「/amp」を付けてアクセスする
記事のURLの末尾に「/amp」を追加してアクセスすると、AMPページが表示されます。ショートコードを設置した箇所に、AMPページ用のコードが表示されていれば設定は成功です。コード内のサンプルテキストは、実際のアドセンスコードに置き換えて利用してください。
AMPをやめる場合に意識したいこと
すでに触れたとおり、現在はAMPを廃止して通常ページのみに一本化するサイトも増えています。AMPをやめると決めた場合は、AMP用に作っていたショートコードや専用コードを整理しつつ、サイト全体の表示速度をどう確保するかが重要になります。
表示速度の改善は、使用しているWordPressテーマの性能による影響が大きい部分です。WordPressの表示速度はテーマで決まる|高速化に強いおすすめテーマと選び方もあわせてチェックし、AMPに頼らない高速化の方法を検討してみてください。
まとめ
この記事のポイントを振り返ります。
- Googleの検索評価におけるAMP優遇は終了しており、現在は必須の対応ではない
- すでにAMPを導入している場合は、
is_amp_endpoint()を使ったショートコードでアドセンス表示をAMP用・通常用に出し分けられる - functions.phpにコードを追加し、投稿には「[amp_bunki]」のショートコードを設置する
- 表示確認は、ChromeのデベロッパーツールやURL末尾への「/amp」追加で行える
- AMPをやめる場合は、テーマ選びなどAMPに頼らない表示速度対策を検討する
AMPを使い続けるかどうかに関わらず、サイトの表示速度はSEOにも広告収益にも影響する重要な要素です。自分のサイトの状況に合わせて、最適な方法を選んでいきましょう。

