キャッシュのウォームアップを設定する
まず測る: 自己呼び出しはできるか?
事前ウォームアップとは、ウェブサーバーが自分自身のページを呼び出すことです。それが手元の環境でうまくいくかどうかは、「自己呼び出しをテスト」ボタンが答えます。ボタンはトップページをそのまま取得し、ステータスコード、転送されたサイズ、応答時間を報告します。HTTP 401 や 403 が返ってくる場合は、たいてい手前にアクセス制限があります。ステージングサイトの前の Basic 認証やファイアウォールなどです。テストが 10 秒の制限時間に達する場合は、空いている PHP のワーカーが 1 つしかなく、それがすでにクリックで塞がっているために、サーバーが自分自身を止めていることがよくあります。さらに 2 つの前提条件も一緒にチェックされます。ページキャッシュが有効であること、そしてキャッシュディレクトリーにウェブサーバーが書き込めることです。どちらか一方でも欠けているかぎり、プレビューと開始は無効のままで、その理由がそのまま文章で下に表示されます。
アドレスの出どころ
出どころは 2 つあります。「サイトマップ」はサイト全体をカバーします。何も入力しなければ /wp-sitemap.xml が使われます。Yoast と Rank Math は自分のサイトマップを /sitemap_index.xml に置きます。サイトマップインデックスは 1 階層だけ、最大 25 個の個別サイトマップまでたどられます。入力できるのはこのサイトのアドレスだけで、他のホストはエラーメッセージとともに拒否されます。アドレスが 1 件も返ってこない場合、メッセージがその理由を示します。いちばん多いのは次の理由です。設定 › 表示設定で「検索エンジンがサイトをインデックスしないようにする」が有効になっていると、WordPress はサイトマップを止め、代わりに 404 ページを、しかもステータスコード 200 で返します。コードだけを見ている人は、これを成功だと思ってしまいます。「最近更新されたコンテンツ」はサイトマップを必要としません。トップページ、投稿ページ、そして最後に編集された投稿とページで、初期値は 50、5 から 500 の間で設定できます。日々の運用ではこちらのほうが適した出どころであることが多いものです。いま編集したものはキャッシュから外れており、次に呼び出されるからです。
プレビューを読む
「キューを確認」は数えるだけで、その時点では何も変更されません。内訳はきちんと分かれています。見つかったアドレス、重複しているもの、他のホストにあるもの、決してキャッシュされないもの(理由を添えて最大 8 件の例つき)、すでにキャッシュに新しい状態で置かれているもの、です。いちばん下には、実際に取得される件数と、確認用に最初の 12 件のアドレスが並びます。「上限を超えている」という行が現れた場合、残りは 1 回の実行に収まりません。初期値は 300 アドレスで、10 から 5000 まで指定できます。「範囲」では、「不足しているページのみ」と「すべて作り直す」のどちらかを選びます。作り直しても失われるものはありません。キャッシュファイルは呼び出しのたびにひとりでに再び作られるからです。なお開始時にはキューが新しく組み立て直され、プレビューの一覧がそのまま使われるわけではありません。確認からクリックまでに何分も空くことがあるためです。
小分けの処理、制限時間、そして実行を進めるのは誰か
1 ステップで取得するのは初期値で 5 アドレス(1 から 20 まで設定可能)で、どの呼び出しもサーバーの制限時間に達しないよう、遅くとも 20 秒で処理を手放します。アドレスごとにも独自の制限時間があり、初期値は 10 秒、3 から 30 の間で設定できます。それを過ぎるとそのアドレスは失敗として数えられ、実行は先へ進みます。非力なハードウェアでは、小分けの大きさを上げるのではなく下げます。実行に時間はかかりますが、その間もサイトは操作できるままです。ステップを進めるのは、管理画面が開いているあいだはブラウザーで、そのあとは WP-Cron です。どの訪問者も待っていない別の呼び出しの中で動きます。DISABLE_WP_CRON が設定されている場合、タブを閉じたあとに続きが進むのは、サーバー上の本物の Cron が wp-cron.php を呼び出しているときだけです。同時に動くステップは常に 1 つだけです。120 秒のロックによって、開いた 2 つのタブ、あるいはブラウザーと Cron が同じアドレスを二重に取得し、数値を重複して数えることを防ぎます。「中止」は小分けの終わりを待たず、アドレスとアドレスの間で効きます。すでに作られたキャッシュファイルは有効なままです。
結果を読み、実行を自動で始める
どの取得も、必ず 3 つの行のうちの 1 つで終わります。「キャッシュに保存された」とは、取得のあとにファイルが実際にそこにあった、という意味です。確認するのはファイルシステムであって、ステータスコードではありません。「配信されたが、キャッシュされなかった」とは、ページは返ってきたものの保存されなかった、という意味です。この場合はたいていページキャッシュの除外ルールが働いており、確認すべき場所はここではなくそちらです。「失敗」はタイムアウト、エラーコード、リダイレクトです。リダイレクトは意図的にたどりません。サイトマップに載せるべきなのは移動先のアドレスだからです。ログには直近 40 件の取得が残り、表にはそのうち 25 件がアドレス、ステータスコード、期間、結果とともに表示されます。自分自身による取得には印が付いており、そのためキャッシュのヒット率には算入されません。そうしないと、訪問者が何の得もしないのに統計だけが上がってしまいます。2 つのスイッチは、手を動かさなくても実行を始めます。キャッシュのクリア後と、スケジュールに従って、1 時間ごと、1 日 2 回、または 1 日 1 回です(初期値は 1 日 1 回)。どちらも前提条件が一つも欠けていない場合にのみ始まります。