2026年5月20日
2026年5月20日
WordPressのタグページが正しく表示されない場合の解決方法
はじめに
WordPressのタグページはカテゴリページと似た仕組みで動作していますが、設定の落とし穴がいくつかあります。タグページが404になる・投稿が表示されないといった問題を段階的に解決する方法を解説します。
症状・原因
- タグページのURLにアクセスすると404になる
- タグページは表示されるが投稿リストが空
- タグクラウドウィジェットのリンクをクリックしても表示されない
- カスタム投稿タイプの投稿がタグページに出ない
解決手順
ステップ1:パーマリンクを再保存
wp rewrite flush --hard
タグページの404はほとんどの場合、パーマリンクルールのキャッシュ問題です。まずこれを試します。
ステップ2:タグベース設定を確認
設定 → パーマリンク設定 → オプション → タグベース
タグベースが空欄の場合、デフォルトの /tag/ が使われます。カスタム値を入れている場合は、URLとの一致を確認します。
ステップ3:タグのスラッグが予約語と衝突していないか確認
# タグ一覧を確認
wp term list post_tag --fields=term_id,name,slug
tag・type・feed などWordPressの予約済みクエリ変数と同じスラッグは使えません。
ステップ4:カスタム投稿タイプとタグの連携
// register_post_type でタグを有効にする
register_post_type('product', [
'taxonomies' => ['post_tag'], // post_tag を追加
// ...
]);
// または既存の投稿タイプにタグを後付け登録
register_taxonomy_for_object_type('post_tag', 'product');
カスタム投稿タイプはデフォルトでタグに対応していないため、明示的に taxonomies に post_tag を追加する必要があります。
ステップ5:pre_get_postsでカスタム投稿タイプをタグページに追加
// タグページにカスタム投稿タイプも表示する
add_action('pre_get_posts', function($query) {
if ($query->is_main_query() && $query->is_tag()) {
$query->set('post_type', ['post', 'product']);
}
});
ステップ6:タグページのテンプレート確認
WordPressのテンプレート階層:
1. tag-{slug}.php(例: tag-wordpress.php)
2. tag-{ID}.php(例: tag-5.php)
3. tag.php
4. archive.php
5. index.php
// tag.php の基本構造
<?php get_header(); ?>
<h1><?php single_tag_title(); ?></h1>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php get_template_part('template-parts/content'); ?>
<?php endwhile; endif; ?>
<?php get_footer(); ?>
ステップ7:noindexになっていないか確認
Yoast SEOやRank Mathでタグページがnoindex設定になっていると、サイトヘルスの警告やインデックス除外が起きます。検索結果に表示されない場合でも、ページ自体は表示されているはずです。
注意事項
- タグはSEO的に重複コンテンツになりやすいため、noindexにすることも多いです(表示はされるがインデックスしない)
- タグページのページネーションが壊れている場合は0121の記事も参照してください
まとめ
タグページの問題もまずパーマリンクの再保存から始めます。カスタム投稿タイプの投稿を表示したい場合は register_post_type で post_tag を taxonomies に追加し、pre_get_posts で投稿タイプを指定します。