MENU

WordPressのカテゴリーページにOGPが出ない問題と対処法

ホームページをSNSでシェアしたとき、サムネイルや説明文がきれいに出るかどうかを決めるのがOGPタグです。

トップページや固定ページ、記事詳細ページは意識して設定することが多いですが、カテゴリーページは盲点になりやすいです。

実際にSEOの見直しをしていた際、ツールで確認してみたらカテゴリーページ系のOGPが全く出ていないことに気づきました。


なぜカテゴリーページだけ出なかったのか

AIOSEOを使っている場合、トップページ・固定ページ・投稿詳細ページのOGPはデフォルトの設定範囲内で対応できます。

ただカテゴリーページはAIOSEOの無料版では個別のOGP設定ができないという制限があります。加えてテーマ側のテンプレートでもカテゴリーページのOGP出力が考慮されていなかったため、完全に抜け落ちていた状態でした。

カテゴリーページ単体でSNSシェアされることは確かに多くはないですが、実績一覧(/works/)やブログ一覧ページなどはシェアされる可能性が十分あります。


対処法:header.phpに直接PHPで書く

AIOSEOの設定で解決しようとすると有料版が必要になるため、header.phpに直接PHPでカテゴリーページ用のOGPを出力する処理を追加しました。

<?php if ( is_category() ) :
  $cat       = get_queried_object();
  $cat_title = esc_attr( $cat->name ) . ' | ' . get_bloginfo( 'name' );
  $cat_desc  = ! empty( $cat->description )
               ? esc_attr( $cat->description )
               : esc_attr( get_bloginfo( 'description' ) );
  $cat_url   = esc_url( get_category_link( $cat->term_id ) );
  $ogp_image = 'https://example.com/ogp.jpg'; // 自社OGP画像URL
?>
<meta property="og:type"              content="website" />
<meta property="og:title"             content="<?php echo $cat_title; ?>" />
<meta property="og:description"       content="<?php echo $cat_desc; ?>" />
<meta property="og:url"               content="<?php echo $cat_url; ?>" />
<meta property="og:image"             content="<?php echo $ogp_image; ?>" />
<meta property="og:locale"            content="ja_JP" />
<meta name="twitter:card"             content="summary_large_image" />
<meta name="twitter:title"            content="<?php echo $cat_title; ?>" />
<meta name="twitter:description"      content="<?php echo $cat_desc; ?>" />
<meta name="twitter:image"            content="<?php echo $ogp_image; ?>" />
<?php endif; ?>

ポイントはカテゴリーの説明文($cat->description)をOGPのdescriptionに使うことです。説明文が空の場合はサイトのキャッチフレーズにフォールバックするようにしています。


カテゴリーの説明文を忘れずに設定する

このコードを入れた上で、WordPress管理画面の「投稿 → カテゴリー」から各カテゴリーの説明文を入れておくことが大切です。説明文がそのままOGPのdescriptionになります。

まとめ

  • トップ・固定ページ・記事詳細はSEOプラグインで対応できる
  • カテゴリーページはAIOSEO無料版では対応できない盲点
  • header.phpにPHPで直接書くのが確実な解決策
  • カテゴリーごとに説明文を設定しておくとOGPの品質が上がる

意外と見落とされがちな部分なので、WordPressサイトを運用している方は一度確認してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次