WordPressには、指定した日時に自動でページを公開できる予約投稿の機能が標準で備わっています。商品リリースやキャンペーンの開始に合わせて公開したいときや、まとまった時間にコンテンツを書き溜めておきたいときに便利な機能です。
当ページでは、WordPressの予約投稿のやり方やメリット、失敗したときの原因と対処法、既存記事の更新を予約する方法を紹介します。
WordPressの予約投稿とは
WordPressの予約投稿とは、投稿や固定ページの公開日時をあらかじめ指定しておき、その時間になると自動的に公開される機能です。WordPressに標準で搭載されているため、プラグインを追加する必要はありません。
通常、WordPressでページを公開するには管理画面から手動で公開ボタンを押す必要がありますが、予約投稿を使えばその操作が不要になります。たとえば、金曜日に作成したページを翌週月曜の朝に公開したい場合、日時を指定して予約しておけば、当日パソコンを開かなくても自動で公開されます。
公開のタイミングを事前にコントロールできるため、ホームページの運営を効率化したい方にとって活用しやすい機能です。
WordPressで予約投稿を行うメリット

WordPressの予約投稿を活用することで、ホームページ運営の効率が大きく向上します。ここでは、予約投稿を使うメリットを紹介します。
指定した日時に正確に公開できる
WordPressの予約投稿の最大のメリットは、狙った日時にページを正確に公開できる点です。
たとえば、新商品のリリース日が決まっている場合、紹介ページを事前に作成して公開日時を予約しておけば、当日になると自動で公開されます。キャンペーンの告知やセールの開始日など、公開タイミングが重要なページでも同様です。
手動で公開する場合は、その時間にパソコンの前にいなければなりません。担当者が他の業務を兼任していることが多い中小企業では、公開作業のためだけに時間を確保するのは負担になります。予約投稿を使えば、早朝や深夜、外出中であっても指定した時間に自動で公開されるため、公開作業に縛られることがなくなります。
また、複数のページを同時期に公開したい場合にも予約投稿は有効です。手動で1ページずつ公開していくと、時間がずれたり順番を間違えたりするリスクがありますが、あらかじめ日時を設定しておけば、正確なタイミングで漏れなく公開できます。
定期的な更新を維持しやすくなりSEOに効果的
SEOで成果を出すためには、ユーザーにとって価値のあるページを定期的に公開し続けることが重要です。しかし、中小企業や個人商店では担当者が他の業務を兼任していることが多く、決まったペースで更新するのは簡単ではありません。
WordPressの予約投稿を使えば、時間に余裕のあるときにまとめてコンテンツを作成し、公開日をずらして予約することで、定期的な更新を無理なく続けられます。たとえば、週に1回更新したいけれど毎週書く時間が取れない場合でも、まとまった時間に数本書き溜めて予約しておけば、更新が途切れません。特にゴールデンウィークや年末年始などの長期休暇中も、事前に予約しておけばホームページの更新を止めずに済みます。
定期的にコンテンツが追加されているホームページは、検索エンジンのクローラーが巡回する頻度が高まる傾向があります。クローラーの巡回が増えれば新しいページがインデックスされるまでの時間も短くなるため、予約投稿で更新頻度を安定させることはSEOの面でもプラスに働きます。
WordPressの予約投稿のやり方
WordPressの予約投稿は、投稿でも固定ページでも設定できます。特別なプラグインは必要なく、標準機能だけで対応可能です。
まず、投稿画面の右サイドバーにある「公開」の項目をクリックします。

初期状態では「今すぐ」と表示されている箇所があるので、ここをクリックすると日時を指定するカレンダーが表示されます。公開したい未来の日付と時間を設定してください。

日時を未来に変更すると、画面右上のボタンが「公開」から「予約投稿」に切り替わります。

このボタンをクリックすれば予約投稿の設定は完了です。指定した日時になると、自動的にページが公開されます。
設定後は、投稿一覧画面でステータスが「予約済み」になっていることを確認しておくと安心です。
予約した日時を変更したい場合は、編集画面で公開日時を別の日時に設定し直して更新すれば反映されます。予約自体を取り消したい場合は、ステータスを「下書き」に変更して更新すれば、予約が解除されて公開されません。
WordPressの予約投稿に失敗する原因と対処法

予約投稿を設定したにもかかわらず、指定した日時にページが公開されないことがまれにあります。投稿一覧画面に「予約投稿の失敗」と表示されている場合は、以下の原因と対処法を順番に確認してください。
タイムゾーンの設定が正しくない
WordPressのタイムゾーンが日本時間以外に設定されていると、予約した時間とは異なるタイミングで公開されたり、予約投稿自体が失敗することがあります。初期状態ではUTC(協定世界時)に設定されていることがあり、日本時間とは9時間のずれが生じます。
対処法としては、管理画面の「設定」→「一般」を開き、タイムゾーンの項目が「東京」になっているか確認してください。「東京」以外が設定されている場合は変更して保存します。
キャッシュ系プラグインが影響している
WP Super CacheやW3 Total Cacheなどのキャッシュ系プラグインを使用している場合、予約投稿が正常に動作しないことがあります。これはキャッシュプラグインがWordPress内部のCron処理に影響を与えるケースがあるためです。
対処法としては、まずキャッシュプラグインを一時的に無効化して予約投稿が正常に動くか確認します。無効化した状態で問題なく公開されるようであれば、そのプラグインが原因です。キャッシュを手動でクリアするか、プラグインを見直すことで解消できます。
WP-Cronが正常に動作していない
WordPressの予約投稿は、WP-Cronという仕組みで動いています。WP-Cronは、ホームページにアクセスがあったタイミングで予約されたタスクを実行する疑似的なCronです。そのため、ホームページへのアクセスが極端に少ない場合、予約した時間を過ぎてもWP-Cronが実行されず、ページが公開されないことがあります。
この問題への対処法は2つあります。
1つ目は、wp-config.phpに代替Cronの設定を追加する方法です。wp-config.phpの末尾に以下の一行を追記すると、通常のWP-Cronとは異なる方式でスケジュール処理が実行されるようになります。
define('ALTERNATE_WP_CRON', true);
2つ目は、サーバー側でCronジョブを設定する方法です。サーバーのCronジョブでwp-cron.phpを定期的に実行するよう設定すれば、ホームページへのアクセスに依存せず予約投稿が処理されます。レンタルサーバーの場合は、コントロールパネルからCronジョブを設定できることが多いので、利用しているサーバーのマニュアルを確認してください。
ベーシック認証が予約投稿をブロックしている
不正ログイン対策としてWordPressの管理画面にベーシック認証をかけている場合、予約投稿が失敗することがあります。WP-Cronはサイト内部からwp-cron.phpにアクセスして予約処理を実行しますが、ベーシック認証がかかっていると、このアクセス自体がブロックされてしまうためです。
対処法は、.htaccessのベーシック認証の記述の前に、サーバー自身のIPアドレスからのアクセスを許可する記述を追加します。
Satisfy Any
order deny,allow
deny from all
allow from (サーバーのIPアドレス)
サーバーのIPアドレスは、利用しているレンタルサーバーのコントロールパネルやサーバー情報ページから確認できます。この設定を行えば、ベーシック認証を維持したまま予約投稿を正常に動作させることが可能です。
キャッシュ系以外のプラグインやテーマと競合している
上記のいずれにも該当しない場合は、インストールしているキャッシュ系以外のプラグインやテーマがWordPressの予約投稿機能と競合している可能性があります。
確認方法としては、プラグインをすべて無効化した状態で予約投稿をテストします。正常に動作するようであれば、プラグインを一つずつ有効化していき、どのプラグインが原因かを特定してください。プラグインが原因でなければ、テーマを一時的にWordPressのデフォルトテーマに切り替えてテストすることで、テーマとの競合を確認できます。
原因の特定が難しい場合は、Scheduled Post Triggerというプラグインを導入する方法もあります。このプラグインは、予約投稿の失敗を自動で検知して再実行してくれるため、有効化するだけで予約投稿の失敗を防止できます。
既存記事の更新を予約する方法
WordPressの予約投稿は新規ページの公開日時を指定する機能であり、公開済みのページの更新を日時指定で予約する機能は標準では用意されていません。たとえば、公開中の記事をリライトして来週の月曜に反映させたいと思っても、WordPress単体ではその操作はできません。
この場合は、PublishPress Revisionsというプラグインを使うことで対応できます。このプラグインをインストールすると、公開済みのページに対してリビジョン(編集用の下書き)を作成できるようになります。リビジョン上で編集を進めれば、公開中のページには影響を与えずに修正作業を行えます。
編集が完了したら、公開日時を指定してリビジョンを承認することで、指定した日時に編集内容が自動的に本番ページへ反映されます。公開中のページを一時的に非公開にする必要がないため、ユーザーや検索エンジンへの影響を気にせずリライト作業を進められます。
SEOに取り組んでいるホームページでは、過去に公開した記事のリライトは日常的に発生する作業です。更新のタイミングをコントロールしたい場合は、このプラグインの導入を検討してください。
まとめ
WordPressの予約投稿は、指定した日時にページを自動で公開できる標準機能です。商品リリースやキャンペーンに合わせた公開はもちろん、記事を書き溜めて定期的に更新を続けたい場合にも活用できます。
設定方法は、投稿や固定ページの編集画面で公開日時を未来の日付に変更し、予約ボタンをクリックするだけです。ただし、タイムゾーンの設定ミスやキャッシュ系プラグイン、WP-Cronの問題、ベーシック認証などが原因で予約投稿が失敗するケースもあるため、うまくいかない場合は当ページで紹介した対処法を順番に確認してください。
また、公開済みページの更新を予約したい場合は、PublishPress Revisionsを導入すれば対応できます。
