マニュアル目次 > 設定画面

基本・実行・全生成

メニュー:静的HTMLジェネレーター > 設定 > 基本/実行・キュー設定/全生成

基本

最初に設定するのはこのセクションです。ここが正しくないと何も動きません。

項目内容
静的生成の有効/無効初期値: 無効 ここがオフの間は、生成・公開に関わる処理が一切動きません。導入したら最初にオンにしてください。逆に、一時的に静的化を止めたいときはここをオフにします。
オフのときの動き対象
動きませんコンテンツ保存時の自動再生成/ダッシュボードのボタン(押せなくなります)/cron の処理/コンソールコマンド/他プラグインからの登録
動きますロックの強制解除・状態の確認・ログの削除(止めてしまうと、オフにしたあとの後片付けができなくなるため)
CMS基本URL 変更できません。サイト基本設定の「WebサイトURL」がそのまま使われます。
ここを自由に入力できるようにすると、サーバー内部の別のアドレスを読みに行かせる攻撃(SSRF)に使われる恐れがあるためです。
HTML内のCMS基本URLの扱い初期値: 相対パスに置き換える CMSが出力したHTMLに、CMS基本URLから始まる絶対URLが含まれていた場合の扱いです。本文に貼られたリンク・og:url・JSON-LD・インラインJavaScript・RSSのリンクが対象になります。
選択https://cms.example.jp/news/ がどうなるか
相対パスに置き換える/news/。公開サイト単体で完結する、普通の静的化はこれです
公開サイトURLで書き換えるhttps://www.example.com/news/。絶対URLのまま、公開サイトのURLに揃えます
何もしないそのまま残します
公開サイトURL 公開先を見るときのURL(例 https://www.example.com/)。
書き出したファイルの中に残っているCMSの絶対URLを、ここで指定したURLへ置き換えます。HTMLの og:url やJSON-LD、RSSのリンクなどが対象です。
CMSと公開サイトでドメインが違う場合は必ず入力してください。空のままだと、公開したHTMLにCMS側のURLが残り、CMSのアドレスが外部に知られてしまいます。
同じサーバー内で公開する場合は空で構いません(CMS基本URLがそのまま使われます)。
一時生成先パス 生成したHTMLを一旦ためておく場所です。公開ディレクトリ(webroot)の外を指定してください。内側を指定すると保存時に警告が出ます。作りかけのページが閲覧者に見えてしまうためです。
公開先パス 閲覧者が実際に見るディレクトリです。このプラグイン専用のディレクトリを指定してください。他の用途と共有すると、「公開先の余分なファイルを削除する」で他のファイルまで消える恐れがあります。
この項目を使うのは、公開方式が「ローカル」のときだけです。rsyncで別サーバーへ転送する場合は使いません(画面上も自動で隠れます)。
「何もしない」を選ぶのは、公開サイトからCMSのAPIを呼び出す場合です。 静的サイトの一部だけをJavaScriptでCMSから取ってくる、といった構成では、CMSのURLが書き換わると動かなくなります。 ただしページ内のリンクもCMS側を指したままになるので、閲覧者がCMSへ流れていく点に注意してください。 CMSにBasic認証をかけている場合はリンク切れになります。
どの選択でも変わらないこと。 もともと /news/ のように書かれている相対リンクは、従来どおり静的サイト用に整えます(.html の付与など)。 外部サイトのURLは触りません。書き換えの対象は「CMS基本URLと同じドメインの絶対URL」だけです。
公開先パスには、指定できない場所があります。 公開のたびに、そのディレクトリの中身が削除の対象になるためです。次のパスは保存しようとするとエラーになります。
  • CMSが入っているディレクトリそのもの、およびその親(公開した瞬間にCMSが動かなくなり、設定を戻すこともできなくなります)
  • / と、その直下(/var/home など)
  • 一時生成先パスと重なる場所
CMSの中に公開先を置くこと自体は保存できますが、注意が表示されます。可能であればCMSの外に専用のディレクトリを用意してください。
公開先に既にファイルがある場合、保存時に「既にファイルが◯件あります」と表示されます。 それらは「公開先の余分なファイルを削除する」が有効なとき、最初の公開で削除されます。中身を確認してから公開してください。

実行・キュー設定

1回の処理でどれだけ働くかの調整です。初期値のままで問題ないことがほとんどです。全ページ再生成が終わらない、サーバーが重い、といったときだけ触ってください。

項目内容
Cron実行1回あたりの最大処理件数初期値: 30 cron が1回動いたときに処理するページ数の上限です(1〜500)。全ページ再生成が終わらないときは、まずここを増やします。増やしすぎるとCMSへの負荷が上がるので、サーバーの様子を見ながら調整してください。
実行の最大秒数初期値: 120 1回の実行を打ち切るまでの秒数(1〜600)。件数の上限に届かなくても、この秒数を超えたら次回に持ち越します。cron の実行間隔より短くしてください。
ロック有効期限(分)初期値: 30 処理が二重に動かないよう、実行中は鍵をかけます(1〜240)。異常終了して鍵が残った場合も、この時間が過ぎれば自動的に解除されます。
再試行回数初期値: 3 ページの取得に失敗したとき、何回まで自動でやり直すか(0〜10)。この回数を使い切ると「失敗」になります。
HTTPタイムアウト(秒)初期値: 30 CMSからの応答を待つ秒数(1〜120)。重いページがタイムアウトで失敗する場合は延ばします。
ユーザーエージェント CMSへアクセスするときに名乗る名前です。アクセスログで静的化のアクセスを見分けるのに使えます。通常は変更不要です。
目安の計算
1000ページのサイトで、1ページ0.7秒かかるとします。1回30件なら約21秒で終わるので、5分おきのcronなら1時間で360件、約3時間で一巡します。夜間だけで終わらせたいなら件数を100前後まで増やしてください。実績値はダッシュボードの「生成のペース」で確認できます。

全生成

毎晩の全ページ再生成は、サーバーのcronで行います。この画面に実行時刻の設定はありません(cronの時刻がそのまま実行時刻です)。設定画面にcronの記述例を表示しているので、そのまま登録してください。

以前あった「夜間の全ページ再生成」「全ページ再生成の実行時刻」の項目は削除しました。切り替えても何も起きない項目だったためです(実際の制御はcron側にありました)。

項目内容
一覧のページ送りをどこまで作るか初期値: 全ページ作る ブログ一覧やカテゴリ別一覧の「2ページ目・3ページ目…」をどこまで静的化するかです。
記事が1万件あるような大規模サイトでは一覧が数百ページになり、めったに見られない古いページの生成に時間を取られます。そういう場合だけ「先頭の数ページだけ作る」に切り替えてください。
作らないことにしたページは、公開先にすでにある分も削除されます(リンク切れになります)。テーマ側のページャの表示範囲もあわせて調整してください。
全ページ再生成には、cron の設定が必要です。 cronの設定 を確認してください。full は予約するだけなので、work も必ず登録してください。