WordPressでブログやニュースサイトを運営していると、必ずと言っていいほど直面するのが「記事一覧の表示件数」の調整です。
初期設定では10件に設定されていますが、サイトのデザインやコンテンツの性質によっては、この数字を増減させることで、ユーザーの利便性や回遊率が大きく向上します。
本記事では、WordPressの管理画面から行える基本設定から、最新のブロックエディタを用いた調整手順、さらには柔軟なカスタマイズを可能にするコードの記述方法までを詳しく解説します。
WordPress全体の表示件数を一括で変更する基本設定
WordPressには、サイト全体の記事一覧表示を一括で制御するための設定項目が用意されています。
まずは最も手軽で、テーマやプラグインに依存しない標準的な手順を確認しましょう。
設定画面での操作手順
管理画面の左メニューにある「設定」から「表示設定」をクリックします。
この画面の中に「1ページに表示する最大投稿数」という項目があります。
- 管理画面の「設定」>「表示設定」を開く。
- 「1ページに表示する最大投稿数」の数値を変更する。
- 「変更を保存」ボタンをクリックして適用する。
ここで設定した数値は、トップページ、カテゴリー一覧、タグ一覧、検索結果ページなど、サイト内のあらゆるアーカイブページに反映されます。
例えば、この数値を「12」に変更すれば、すべての記事一覧が12件ずつ表示されるようになります。
基本設定を変更する際の注意点
この設定は非常に強力ですが、すべてのアーカイブページに一律で適用されるという点に注意が必要です。
「トップページは10件にしたいけれど、カテゴリー一覧は20件表示したい」といった個別設定はこの画面からは行えません。
また、表示件数を極端に多く設定しすぎると、1ページあたりのデータ読み込み量が増え、ページの表示速度が低下する恐れがあります。
ユーザー体験を損なわないよう、デザインとパフォーマンスのバランスを考慮して数値を決定しましょう。
ブロックエディタ(クエリーループブロック)での表示件数変更
近年のWordPressでは、ブロックエディタの進化により、特定のページ内に記事一覧を配置する手法が主流となっています。
その中心となるのが「クエリーループ」ブロックです。
クエリーループブロックの基本操作
固定ページやフロントページ、またはフルサイト編集(FSE)対応テーマのテンプレート内で記事一覧を表示する場合、クエリーループブロックを使用します。
このブロックを使用している場合、先ほどの「表示設定」の数値とは無関係に、ブロック単位で表示件数を指定することが可能です。
- 編集画面で「クエリーループ」ブロックを選択する。
- ブロックツールバー、または右側の設定サイドバーを確認する。
- 「表示設定」アイコン、もしくはサイドバーの「1ページあたりの項目数」のスライダー(または数値入力)を調整する。
この方法の利点は、ページ内のレイアウトに合わせて柔軟に件数を変えられることです。
例えば、3カラム(3列)のグリッドレイアウトを採用している場合、表示件数を「3、6、9、12」といった3の倍数に設定することで、デザインの崩れを防ぎ、美しい見た目を維持できます。
テンプレート設定の継承について
クエリーループブロックの設定項目には「テンプレートからクエリを継承」というスイッチがあります。
- このスイッチがオンの場合:先述した「表示設定」の最大投稿数が適用されます。
- このスイッチがオフの場合:そのブロック独自の表示件数を指定できます。
特定のページだけ件数を変えたい場合は、必ずこの設定を「オフ」にしてから数値を入力するようにしてください。
ページの種類ごとに表示件数を細かく制御する方法
「カテゴリーページだけ表示件数を増やしたい」「特定のカスタム投稿タイプだけ件数を絞りたい」といった要望がある場合、基本設定だけでは対応できません。
このような高度な制御には、テーマの functions.php ファイルにコードを記述する方法が有効です。
pre_get_posts アクションフックの活用
WordPressのメインクエリ(ページを表示するためのメインのデータ取得処理)をカスタマイズするには、pre_get_posts というフックを使用します。
この方法を使えば、データベースからデータを取得する前に条件を書き換えることができるため、サイトのパフォーマンスを維持したまま表示件数を変更できます。
以下は、カテゴリーアーカイブページの表示件数だけを「20件」に変更するコード例です。
function custom_posts_per_page( $query ) {
if ( is_admin() || ! $query->is_main_query() ) {
return;
}
if ( $query->is_category() ) {
$query->set( 'posts_per_page', 20 );
}
}
add_action( 'pre_get_posts', 'custom_posts_per_page' );
このコードのポイントは、「管理画面(is_admin)を除外する」ことと、「メインクエリのみを対象にする」という条件分岐を入れている点です。
これがないと、管理画面の投稿一覧画面まで件数が変わってしまうといった不具合の原因になります。
複数の条件を組み合わせる
さらに詳細な設定を行うことも可能です。
例えば「検索結果ページは5件」「アーカイブページは15件」のように条件を分岐させる場合は、以下のように記述します。
| ページの種類 | 条件分岐タグ | 設定例 |
|---|---|---|
| カテゴリーページ | is_category() | 20件 |
| タグページ | is_tag() | 20件 |
| 検索結果ページ | is_search() | 5件 |
| カスタム投稿(例:news) | is_post_type_archive('news') | 10件 |
このように、サイトの構造に合わせて最適な件数を割り当てることで、情報の密度をコントロールしやすくなります。
表示件数を変更する際のSEOとユーザー体験(UX)への影響
単に「何件表示するか」を決めるだけでなく、その設定がサイトの評価や使い勝手にどう影響するかを考えることも重要です。
2026年現在のWeb環境では、モバイルユーザーの割合が極めて高く、「ページの読み込み速度」と「スクロールのしやすさ」の両立が求められます。
表示速度とSEOの関係
表示件数を増やすと、それだけサーバーとの通信量が増え、ブラウザがレンダリング(画面描画)する要素も多くなります。
これは、Googleが掲げる指標である「Core Web Vitals(コアウェブバイタル)」の悪化を招く可能性があります。
特に、高画質なアイキャッチ画像を多用している場合、1ページに30件も40件も記事を並べると、LCP(Largest Contentful Paint)のスコアが低下し、SEOに悪影響を及ぼすかもしれません。
記事一覧を表示する際は、画像にLazy Load(遅延読み込み)を適用するなどの対策とセットで考えましょう。
ユーザビリティを考慮した件数設定
一方で、表示件数が少なすぎると、ユーザーは頻繁に「次のページ」をクリックしなければならなくなり、これもストレスの原因となります。
- テキスト中心のサイト:15件〜20件程度表示しても、読み込みの負荷は低いため、ユーザーの利便性を優先して多めに設定するのが一般的です。
- 画像メイン(ポートフォリオ等)のサイト:1ページあたり9件〜12件程度に抑え、1枚1枚の画像をしっかり見せる構成が好まれます。
また、最近では「無限スクロール」を採用するケースも増えていますが、フッターに重要なリンク(会社概要やプライバシーポリシーなど)があるサイトでは、ユーザーがフッターにたどり着けなくなるというデメリットも考慮しなければなりません。
トラブルシューティング:表示件数が変わらない場合
設定を変更したはずなのに、実際の表示に反映されないことがあります。
その場合に確認すべき主なポイントを挙げます。
1. キャッシュプラグインの影響
ブラウザキャッシュや、WordPressに導入しているキャッシュプラグイン(WP RocketやWP Fastest Cacheなど)が古い情報を保持している場合があります。
設定変更後は必ずキャッシュをクリアして確認してください。
2. テーマ独自の機能との競合
一部の高機能な有料テーマでは、WordPress標準の表示設定を無視して、テーマ専用のカスタマイザー画面から表示件数を制御していることがあります。
「外観」>「カスタマイズ」の中に、アーカイブ設定やレイアウト設定に関する項目がないか確認しましょう。
3. 固定ページの「フロントページ」設定
トップページを「最新の投稿」ではなく「固定ページ」に設定している場合、表示設定の「最大投稿数」は効きません。
この場合は、その固定ページ内に配置している「クエリーループ」ブロックや、ショートコードの設定を確認する必要があります。
4. functions.php の記述ミス
コードで制御している場合、条件分岐が正しく動作していない可能性があります。
特にis_main_query()の判定が抜けていると、サイドバーにある「最新の記事一覧」ウィジェットなどの件数まで巻き込んで変更されてしまい、レイアウトが崩れる原因になります。
まとめ
WordPressで記事一覧の表示件数を変更する方法は、単純な管理画面操作から、コードによる詳細なカスタマイズまで多岐にわたります。
- サイト全体の設定を変えるなら:「設定」>「表示設定」
- 特定のページやパーツを変えるなら:「クエリーループブロック」の調整
- ページ種別ごとに動的に変えるなら:「pre_get_posts」によるコード記述
まずは手軽な基本設定から試し、必要に応じてブロックの調整やコードでのカスタマイズへとステップアップしていくのが効率的です。
記事の表示件数は、単なる数字の設定ではありません。
それは、読者があなたのサイトのコンテンツをどのように消費し、どれだけスムーズに情報を得られるかを左右する重要なデザイン要素のひとつです。
デバイスごとの見え方や表示速度も加味しながら、あなたのサイトにとって最適な件数を見つけ出してください。
今回解説した手順を参考に、適切な表示件数設定を行い、より使いやすく検索エンジンにも評価されるWordPressサイトを目指しましょう。
