お知らせこのブログは沖縄移住ライフハックに統合しますた

WordPressでAMPでいいページとAMPじゃ困るページがある…[暫定解決]

自前のWordpressテーマをプラグインなしにAMP対応してるんですけど、表題の通りの状況に出くわしまして。

例えばこんな状況

  • AMP対応してない広告モジュールがありCV影響がデカすぎる
  • PC用にページを用意してある。モバイルだけAMP表示したい
  • 複数サイトに同じテーマを使用しているがサイトによってはAMP対応したくない

こんなわがままボディな状況なので、暫定的に出しわけ処理を入れることにしました。

headのlinkタグでコントロールする

AMPページをクロールしてもらう場合は、ページのhead内に特定のリンクタグを置きます。

そうするとクロールされてAMPページがインデックスされるわけです。

逆にいうと、amphtmlのリンクタグがないとAMPページは存在するんだけど、インデックスされない状況になります。

それを活用して条件分岐します。

コメントがゴチャッてる。
取り除くとこんな↓

WordPressでAMP対応する場合、記事ページだけ、モバイルページだけ対応するケースが主要かと思います。

だからif文に、それを入れてあります。

広告がある場合は記事の投稿データを取得して、preg_matchで検索をかける感じになります。A8.netのURLを例にしてますが未検証なので、正規表現は自前で調べて書くことをおすすめします。

「is_amp関数」も使うと便利

ちなみに広告モジュールだけ表示を切り替えて、AMPページ自体はインデックスされたいケースもありますね。

その場合は「is_amp関数」を作って対応すれば良いです。

関連WordPressでAMPページの出しわけ「is_amp関数」を作る

つか、こっちのがAMP対応としては素直な感じですね。

※記事で紹介したコードは動作を保証するものではございません。必ず自己責任で使用してください。コードを使う際はテストを行い、動作検証をおこなってください。

シェアする
閉じる