【WordPress】投稿数の少ないタグを非表示にしてSEO・ユーザビリティを改善する方法【Cocoon対応】

WordPress
この記事は約16分で読めます。
SNSの感覚でブログにタグを付けていませんか? Twitter(X)やInstagramでは、たくさんのハッシュタグを付けることが当たり前ですよね。しかし、WordPressブログで同じようにタグを乱発すると、SEO・ユーザビリティ・AdSense審査すべてに悪影響を及ぼします。 この記事では、登録数が少ないタグを非表示にすることで、サイトの品質を劇的に改善する方法を、コピペで使えるコード付きで解説します。 この記事で解決できること:
  • タグページが「低品質コンテンツ」と判定されるリスクを排除する
  • クロールバジェットの浪費を防ぎ、重要なページにGoogleの巡回を集中させる
  • 投稿ページ下部・タグクラウドから中身の薄いタグを消す
  • AdSense審査で不利になる「スカスカなアーカイブページ」を一掃する

WordPressのタグ乱立がもたらす3つの深刻な問題

タグの乱立はユーザビリティ低下・SEO悪化・AdSense不承認の3つのリスクを同時に生みます。記事が1〜2件しかないタグページは「低品質ページ」として扱われるためです。 まずは、タグを付けすぎることでどんな問題が起きるのかを整理しましょう。

問題①:ユーザビリティの低下

読者がタグをクリックして、そのタグのアーカイブページに遷移したとします。そこに記事が1〜2件しか表示されなかったらどうでしょうか? 「このサイトはコンテンツが薄い」という印象を与え、すぐに離脱されてしまいます。 タグは本来、関連する記事をまとめて読者の回遊を促すための機能です。中身がスカスカのタグページは、この目的を完全に裏切っています。

問題②:SEOへの悪影響

WordPressでタグを作成すると、そのタグごとにアーカイブページが自動生成されます。これらはすべてサイトマップに登録され、Googleのクローラーがインデックスしようとします。 登録数の少ないタグが大量にあると、以下のSEO上の問題が発生します。 低品質ページの量産:コンテンツの薄いページがGoogleに大量にインデックスされる クロールバジェットの浪費:Googleがサイトを巡回できる回数には限りがあり、無駄なページに使われてしまう 重複コンテンツのリスク:似たようなタグページが複数存在することで、評価が分散する Googleは「質の高いコンテンツ」を重視しています。中身のないタグページは、サイト全体の評価を下げかねません。

問題③:AdSense審査への影響

Google AdSenseの審査では、サイト全体のコンテンツ品質がチェックされます。審査ボットはサイト内のページを巡回し、「価値のあるコンテンツが十分にあるか」を判断します。 中身の薄いタグページが何十、何百とあると、「低品質なページが多いサイト」と判定されるリスクがあります。実際に、タグページの整理後にAdSense審査に通ったという報告も少なくありません。

解決策:投稿数の少ないタグを非表示にする

投稿数が一定数以下のタグを「404化」「noindex付与」「表示除外」の3段階で非表示にします。functions.phpにコードを追記するだけで、4つの対策が一括で適用されます。 今回は「4件以下」を基準にしていますが、この数値はお好みで調整できます。具体的には、以下の4つの対策を行います。 対策1:投稿数が少ないタグのアーカイブページを404にする 対策2:該当タグのアーカイブページにnoindexを付与する 対策3:投稿ページ下部のタグ表示から除外する 対策4:サイドバーのタグクラウドから除外する それでは、一つずつコードを見ていきましょう。すべて functions.php に追記するだけで完了します。

対策1:タグアーカイブページを404にする

投稿数が少ないタグのURLにアクセスされた場合、404ページを返します。読者が中身の薄いタグページに辿り着くことを防ぐ最初の砦です。 投稿数が少ないタグのURLにアクセスし、404ページが表示されている画面 以下のコードを functions.php に追記してください。 pre_get_posts フックを使って、メインクエリの段階でタグの投稿数を判定しています。get_queried_object() で取得できるタグオブジェクトの count プロパティが投稿数です。条件に合致すれば set_404() で404ページを返します。 冒頭で管理画面・サブクエリ・タグ以外を早期リターンしているため、他のクエリへの影響はありません。

対策2:noindexメタタグを付与する

対策1とあわせて該当タグページにnoindexを付与することで、万が一Googleにクロールされても検索結果に表示されなくなります。404化との二重の保険です。 noindex を指定しつつ follow は許可しているので、そのページ内のリンク先は引き続きクローラーが辿ります。これにより、SEO上の悪影響を最小限に抑えながら、低品質ページのインデックスを防げます。

対策3:投稿ページ下部のタグ表示から除外する(Cocoon対応)

Cocoonの投稿ページ下部に表示されるタグ一覧から、投稿数の少ないタグを除外します。get_the_termsフィルターを使うため、テーマファイルの編集は不要です。 WordPressテーマ「Cocoon」では、投稿ページの下部にタグが一覧表示されます。ここにも投稿数の少ないタグが表示されていると、読者がクリックした先でガッカリすることになります。 Cocoonの投稿ページ下部のタグ表示(対策前後の比較) 以下のコードで、投稿ページのタグ表示からも投稿数の少ないタグを除外できます。 get_the_terms フィルターを使い、WordPressがタグを取得する段階でフィルタリングしています。Cocoonは内部的にこの関数を通じてタグを取得しているため、テーマのテンプレートを直接編集する必要はありません。 管理画面(is_admin())では通常通りすべてのタグが表示されるので、記事編集時にタグが見えなくなる心配もありません。

対策4:サイドバーのタグクラウドを最適化する

タグクラウドウィジェットに対して、投稿数の少ないタグの除外、記事件数順のソート、表示数の制限を1つの関数でまとめて適用します。 サイドバーにタグクラウドウィジェットを設置している場合、ここにも対策が必要です。投稿数の少ないタグがタグクラウドに表示されていると、クリックしても中身が薄いページに飛ばされてしまいます。 タグクラウドウィジェットの対策前後の比較 以下のコードで、タグクラウドの表示を最適化できます。 このコードは1つの関数の中で3つの処理を行っています。 ① ソート順の変更:タグ名のアルファベット順ではなく、記事件数が多い順に並べ替えます。よく使われるタグが上位に表示されるため、読者の回遊を促しやすくなります。 ② 低投稿数タグの除外:クロージャ内で wp_generate_tag_cloud_data フィルターを登録し、投稿数がしきい値未満のタグをタグクラウドから除外します。 ③ 表示数の制限:タグクラウドの最大表示数を25個に制限。多すぎるタグ表示によるレイアウト崩れを防ぎます。 しきい値($min_posts)と最大表示数($max_display)は関数の先頭で定義しているので、サイトの規模に合わせて調整しやすい構造になっています。

全コードまとめ:functions.phpにコピペするだけ

ここまでの4つの対策をまとめた完全版コードです。子テーマのfunctions.phpの末尾にコピペするだけで、すべての対策が一括で適用されます。 functions.phpへの追記イメージ(WordPress管理画面のテーマエディター)

導入前の注意点

functions.phpの編集はサイトに直接影響するため、必ずバックアップを取り、子テーマに追記してください。しきい値の数値はサイト規模に応じて自由に調整できます。 コードを追加する前に、以下の点を確認しておきましょう。

必ずバックアップを取る

functions.php の編集はサイトに直接影響します。編集前に必ずバックアップを取ってください。万が一エラーが出た場合、FTPやファイルマネージャーから元に戻せるようにしておきましょう。

子テーマを使う

親テーマの functions.php を直接編集すると、テーマのアップデート時に変更が上書きされてしまいます。Cocoonの子テーマを導入し、子テーマの functions.php にコードを追記するのがベストプラクティスです。 Cocoon子テーマのfunctions.phpの場所

しきい値は自由に調整できる

今回は「4件以下を除外($min_posts = 5)」を基準にしていますが、サイトの規模や記事数に応じて調整してください。各関数の $min_posts の数値を変えるだけです。たとえば「2件以下」にしたい場合は $min_posts = 3 に変更します。すべての関数で統一することを忘れないでください。 なお、functions.php の編集でCSS更新が反映されないなどのキャッシュ問題に遭遇した場合は、以下の記事で切り分け方法をまとめています。

この対策で得られる効果まとめ

低品質タグページの排除により、SEO品質シグナルの向上・クロールバジェットの最適化・AdSense審査通過率の改善・ユーザー回遊率の向上が見込めます。 最後に、今回の対策がもたらす効果を整理します。 ユーザビリティ向上:読者がタグをクリックした先には、必ず充実した記事一覧が表示されます。回遊率の向上や離脱率の低下が期待できます。 SEOの改善:低品質なタグページがインデックスから除外され、サイト全体の品質シグナルが向上します。クロールバジェットも本当に重要なページに集中できます。 AdSense審査への好影響:低品質ページが減ることで、「価値のあるコンテンツが十分にあるサイト」として評価されやすくなります。 サイトマップの最適化:不要なURLが減り、サイトマップがスッキリします。Google Search Consoleでのインデックス状況も改善されます。 タグの管理は地味な作業ですが、サイトの品質に直結する重要なポイントです。SNSの感覚でタグを付けてしまっていた方は、ぜひ今回のコードを導入して、サイト全体のクオリティを底上げしてみてください。 functions.php にコピペするだけで完了する手軽さなので、WordPress初心者の方でも安心して実践できます。 WordPressの「見えにくい品質問題」は他にもあります。たとえば、アイキャッチ画像のキャッシュが原因で古い画像が表示され続ける問題もそのひとつです。

コメント

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