サイト当番 ホームページ保守運用

Notes

WordPress静的化|
プラグインでの進め方と向くサイト

静的ファイルを書き出している様子

静的化は、WordPressを消す魔法ではありません。公開面をHTMLとして書き出し、配信側へ載せる作業です。向くサイトかどうかを見分けてから、プラグインの手順、フォーム、書き出したあとの運用まで進めてください。説明だけで止めず、実際のやり方まで書きます。

WordPress静的化が向くサイト

向くのは、会社案内、店舗案内、実績紹介、採用の静的な説明、更新が週に数回以内のお知らせです。訪問者が見る画面に、ログイン後の内容や、在庫や、人ごとに変わる価格が無いサイトです。向かないのは、会員、会員だけが見る資料、カート、予約の空き状況、コメントの投稿、検索の絞り込みが本体のサイトです。向くかどうかを、トップの印象ではなく、画面の一覧で切ってください。

向くかを切る一覧

公開されているURLを書き出し、それぞれが「誰が見ても同じHTMLで足りるか」を印してください。足りる画面がほとんどなら、静的化の候補です。足りない画面が核なら、WordPressのまま保守する方が事故が少ないです。足りない画面がフォームだけなら、静的化と外部フォームの組み合わせが候補になります。足りない画面が会員と決済なら、候補から外してください。

更新の頻度も切ります。お知らせを毎日出す編集部があるサイトは、書き出しと配信を毎日回す運用になります。回せる人が名前で置けるなら向きます。回せないなら、静的化しても更新が止まり、古いHTMLが残り続けます。更新が月に数回で、担当が1人なら、向く側です。更新のたびに制作会社へ依頼しているサイトも、依頼の単位が「書き出しと配信」に変わるだけで回せます。

向かない理由を先に書く

向かない理由は、技術が古いからではありません。公開面が人ごとに変わるから、書き出したHTMLでは足りないからです。足りないまま静的化すると、ログイン画面が残ったり、カートが空のまま固まったりします。残った管理用URLが検索に出ることもあります。向かないサイトを静的化で速くしようとしないでください。速さは表示速度の記事の範囲で、WordPressのまま改善できます。

複数言語、地域で内容が変わる、Cookieで出し分ける、といった画面も向きません。書き出しの時点の1通りしか残りません。出し分けが営業の前提なら、配信側の仕組みを別に設計する必要があり、プラグインの書き出しだけでは終わりません。その設計が必要なら、自分でプラグインを回す段階ではありません。

採用だけ動的、案内は静的、という分け方も使えます。全部を一度に寄せない判断です。採用のフォームと、会員の資料室だけWordPressに残し、残りを書き出す。残す側のURLが検索に混ざらないよう、残す側はサブディレクトリかサブドメインへ先に移してから書き出してください。同じ根に混在したまま書き出すと、除外の指定が追いつかず、ログイン画面までHTMLになります。

WordPress静的化の前

書き出す前に、今のWordPressを止めてはいけません。止めると、書き出しのやり直しと、フォームの移行と、リダイレクトの確認が同時に倒れます。前にやることは、URLの一覧、404の確認、フォームの行き先、検索に出ているURL、バックアップ、書き出し先の決めです。この6つが無い書き出しは、あとで欠けたページを手で足す作業になります。

URLと欠けの洗い出し

サイト内のメニュー、フッター、サイトマップ、検索に出ているURLを1つの表にします。表に無いURLは、書き出されません。PDF、画像の直リンク、古いキャンペーンページ、パラメータ付きの案内も拾ってください。パラメータで中身が変わるページは、静的化の前に「固定のURLへ寄せる」か「対象外にする」かを決めてください。寄せないまま書き出すと、一部の案内だけ古い内容で固まります。

404になっているURLと、別ドメインへ出ているURLも表に残します。書き出したあとに、同じ欠けが静的側へコピーされます。欠けを直してから書き出す方が、配信後の修正が減ります。直す時間がない欠けは、対象外と書いて、書き出しの範囲から外してください。範囲を欲張ると、確認が終わりません。

書き出し先と残すWordPress

書き出したHTMLを置く場所を、先に決めてください。今のレンタルサーバーの別ディレクトリ、手元、配信側の領域。公開中のWordPressと同じディレクトリへ上書きしないでください。上書きすると、書き出しが途中で倒れたときに、元のサイトも途中になります。WordPressは、書き出しが安定するまで残します。残す場所は、公開しないサブドメインか、IP制限のかかった領域が扱いやすいです。

バックアップは、ファイルとデータベースの両方を、書き出し前に別領域へ取ってください。静的化の途中でテーマを変えたり、パーマリンクを変えたりすると、元へ戻したくなることがあります。戻せる世代が無い書き出しは、一方通行になります。取り方はバックアップの記事にあります。

静的化プラグインの選び方

選ぶ軸は、書き出せる範囲、除外の指定、書き出し先、更新のたびに再実行しやすいか、です。名前の新しさや、静的化という言葉の強さでは選びません。公式ディレクトリから入れられること、最終更新が近いこと、書き出したHTMLを手元で開けること。この3つが無い製品は、途中で止まります。有料の追加がある製品でも、この記事では価格を書きません。無料の範囲で一覧のURLが書き出せるかで判断してください。

範囲と除外

管理画面、ログイン、カート、検索結果、フィードを、書き出しから外せるかを見てください。外せない製品は、公開してほしくない画面までHTMLになります。除外は、パスの指定で足せる方が安全です。逆に、お知らせの個別ページが漏れる製品は、更新のたびに欠けます。試し書き出しで、メニューにあるURLが全部フォルダに入るかを見てください。

画像とCSSとスクリプトが、相対パスで残るかも見てください。書き出したHTMLを別の場所へ置くと、絶対パスのままでは画像が切れます。切れたまま配信すると、見た目が本番と違います。フォントや外部の埋め込みは、書き出し後にネットワークへ取りにいきます。取りにいけない環境へ置くなら、その埋め込みは静的化の前にやめるか、差し替える必要があります。

再実行と権限

更新のたびに、同じ設定で再実行できるかを見てください。毎回設定をやり直す製品は、運用が続きません。実行できる権限が管理者だけか、編集者でも押せるかも見てください。編集者が押せる方が楽でも、書き出し先を変えられると同じ事故になります。書き出しの実行と、書き出し先の変更は、権限を分けられる製品が扱いやすいです。

キャッシュプラグインと同時に使うと、古い画面を書き出すことがあります。静的化の試験中は、キャッシュを空にしてから実行してください。キャッシュの選び方はキャッシュプラグインの記事にあります。静的化が安定したあとは、公開面のキャッシュは配信側へ寄せ、WordPress側のキャッシュは役割を終えることがあります。

静的化プラグインの手順

手順の例として、Simply Staticの流れを使います。同じ系統の製品でも、画面の言葉は違います。共通しているのは、範囲を決め、除外を足し、一度書き出して欠けを直し、また書き出す、の繰り返しです。1回で完成させないでください。1回目は欠け探し、2回目はフォームとリダイレクト、3回目は配信先への載せ、が現実的です。

入れたあと最初の書き出し

公式ディレクトリから入れ、有効化したら、書き出し先を公開ディレクトリの外にします。同じ公開根へ出す設定は、試験では使わないでください。開始URLはサイトのホームにし、追加の開始URLが必要なら、メニューに無い入口ページを足します。除外に、wp-admin、ログイン、フィード、検索、カート、プレビューを入れます。入れ終わったら、短い範囲で1回実行してください。全ページを最初から狙うと、失敗の切り分けができません。

実行ログで、止まったURLと、スキップしたURLを残してください。止まったURLは、認証が必要な画面か、リダイレクトの輪か、時間切れです。認証が必要な画面は、静的化の対象かどうかを先に決め直します。対象なら、書き出し用の見られる状態を別途用意します。対象でないなら除外へ足します。時間切れは、一度に拾う量を減らすか、実行時刻をずらします。

欠けの直しと2回目

書き出したフォルダを手元で開き、メニューのリンクを上から踏んでください。切れている内部リンク、画像、CSS、古いドメインのままのURLを表にします。WordPress側で直せるものは、パーマリンクとメニューとメディアのURLを直してから、もう一度書き出します。書き出したHTMLを直接直すと、次の書き出しで上書きされます。直す場所は、原則としてWordPress側です。

2回目の書き出しで、表の欠けが消えたかを見てください。消えていない欠けは、プラグインが辿っていない入口です。サイトマップや、フッターのリンクや、本文中の直書きURLを開始条件へ足します。足しても出ないページは、対象外にして、必要なら手でHTMLを足す判断へ回します。手で足したHTMLは、次の自動書き出しで消えない場所へ置くか、書き出し後の手順に「このファイルは残す」と書いてください。

書き出しのたびにフォルダ名へ日付を付けてください。上書きだけの運用は、欠けが増えた週に前の世代へ戻れません。日付付きのフォルダを2つ残し、配信へ載せている世代がどれかを手順書に書いておきます。載せている世代と、手元の最新が違うまま更新すると、お知らせが公開側に出ません。出ない原因をプラグインの設定を増やす前に、載せている世代を見てください。

配信へ載せる前

欠けが減ったフォルダを、本番ではないURLへ載せて見てください。スマホと、別回線と、主要ページの表示、フォームの見た目、PDFの直リンク。ここまで通ってから、DNSや公開根を動かします。先に公開根を動かすと、欠けたHTMLが検索に入ります。載せ方は、今のサーバーの別領域でも、配信側でも構いません。配信をCloudflareへ寄せる作業は、既存の移管の範囲です。静的化そのものの定価は設けていません。

WordPress静的化のあと

書き出して載せたあと、WordPressをすぐ捨てないでください。更新の元が無くなると、次のお知らせが出せません。あとにやることは、公開側が静的だけを見ていることの確認、古いWordPressへの入口を閉じること、検索のURLが同じことの確認、更新手順の文書化です。この4つが終わるまで、移行は完了しません。

入口を閉じる

公開側から、wp-loginや管理画面のURLが開けないことを見てください。開けるままなら、静的化した意味の半分が残りません。閉じ方は、公開しない領域へWordPressを移す、ホストのアクセス制限、手前の配信で管理用パスを通さない、などです。閉じる前に、更新する人の入り方を決めてください。閉じたあとで入り方を探すと、更新が止まります。

古いサーバーの公開根にWordPressが残っていると、検索や直リンクで古い動的面が出ます。残すなら、公開されない場所へ移したことを、ホストの一覧で確認してください。残さないなら、ファイルを消す前にバックアップを別領域へ取ってください。消し方を誤ると、書き出し元まで消えます。

検索とリダイレクト

主要なURLが、静的側でも同じパスで開けるかを見てください。末尾のスラッシュ、index.htmlの有無、wwwの有無で、別ページに見えることがあります。配信側のリダイレクトで揃えてください。揃えないまま放置すると、同じ内容が二重にインデックスされます。Search Consoleのカバレッジを、載せた翌週に見てください。急に増えた404は、書き出し漏れです。漏れはWordPress側で直して再書き出しします。

静的化プラグインとフォーム

WordPressのフォームプラグインは、書き出したHTMLだけでは届きません。送信先がWordPress側の処理だからです。静的化の前に、問い合わせが営業の核かを切ってください。核なら、外部のフォーム、配信側のフォーム、メールクライアントへの誘導、のどれへ移すかを先に決めます。決める前に書き出すと、見た目だけの入力欄が残ります。見た目だけの入力欄は、苦情になります。

移す前に残すもの

今の項目、必須、送信先、自動返信の文、プライバシーの文、完了画面のURL。この6つを写してください。外部へ移すときに、項目が減ると比較できません。テスト送信の控えも、移行前に残します。移行後のテストは、本番の宛先へ1通、迷惑メール側も見て、自動返信が届くかまで見ます。見た目が同じでも、宛先が古い担当のままであることがあります。

ファイル添付があるフォームは、外部側の容量と、保存先の扱いを先に確認してください。確認できないまま静的化すると、採用や修理受付が止まります。日付指定や、店舗ごとの宛先分けも、外部で再現できるかを見てください。再現できない項目があるなら、そのページだけ動的のまま残す判断もあります。全部を一度に静的化しなくて構いません。

残した入力欄を出さない

書き出しがフォームのHTMLを拾うと、動かない入力欄が公開されます。除外にフォームのページを足すか、書き出し前に案内文だけへ差し替えてください。差し替えるなら、新しい送信先のURLを本文に置きます。除外するなら、そのページは手で静的HTMLを用意し、書き出し後の手順に含めます。どちらにするかを、試験の2回目までに決めてください。配信後に気づくと、問い合わせが途絶えた週が先に来ます。

WordPress静的化の運用

運用は、直す場所と出す場所を分けることです。直す場所は残したWordPress、出す場所は静的の配信です。この2つを同じ人が、同じ手順で回せるように書いてください。書いていない運用は、最初の担当が休んだ週に止まります。手順書の最低行は、直す画面、書き出しボタン、欠けの確認、配信への載せ、フォームのテストです。

更新のたびに回す順

お知らせをWordPressで書き、公開し、静的化プラグインを実行し、欠けを1画面見て、配信へ載せます。載せたあと、公開URLでそのお知らせを開きます。開かないまま完了にしないでください。画像の差し替えも同じ順です。メニューの変更は、書き出し漏れが起きやすいので、主要ページを2つ以上開いてください。

書き出しに失敗した週は、古いHTMLが残ります。失敗を通知する宛先を、普段見るメールにしてください。失敗したまま公開を続けてよいかは、内容によります。キャンペーンの日付が変わる更新は、古いHTMLを出し続けられません。その場合は、配信を前の世代へ戻すか、該当ページだけ手で差し替えます。差し替えの権限と、戻す世代の場所を、手順書に書いてください。

残したWordPressの守り

公開面が静的でも、元のWordPressは更新とバックアップが要ります。公開されていないからといって、古いプラグインのままにしないでください。管理画面へ入れる経路が残っているなら、その経路のパスワードと、入れる人の名前を四半期で見直します。バックアップは、静的の配信側だけでなく、元のWordPress側も別領域へ残してください。元が消えると、次の書き出しができません。

日常の文言と画像の差し替えだけなら、静的サイト保守の月額8,800円からで回せる場合があります。元のWordPressを残して更新も見るなら、WordPress保守のスタンダード月額17,800円が入口です。どちらに載せるかは、直す場所がHTMLか管理画面かで切れます。静的化作業そのものの定価は作っていません。載せたあとも、書き出しの失敗通知が届く宛先は社内に残してください。届き先がこちらだけになると、更新の失敗に気づくのが遅れます。

WordPress静的化が自分で難しいとき

向くか切れない、書き出しの欠けが減らない、フォームの移し先が決まらない、配信先の証明書とDNSが分からない。この段階では、プラグインの設定を増やさないでください。公開URL、更新の頻度、フォームの有無、今のサーバー名を書いてください。配信へ寄せる作業はCloudflare移管、寄せたあとの文言と監視は静的サイト保守へ戻します。

既存の料金へ戻す

静的サイトをCloudflareで配信する移管は税別24,800円からです。WordPressの手前に置く作業は税別14,800円からです。ファイルの引っ越しは税別19,800円からです。静的化プラグインの代行だけを切り出した定価は設けていません。向くサイトで、書き出しと配信を一連で見る場合も、上の既存枠と月額保守の組み合わせで出します。新しい静的化料金は作りません。

死活は全プランで24時間365日1秒単位です。マルウェア監視はスタンダード月額17,800円以上です。静的へ寄せたあとも、元のWordPressを残すなら、そちらの更新遅れが入口のままになります。残すなら、見る人を名前で置いてください。残せない、寄せられない、という判断も、公開URLが分かれば切り分けて返せます。比較は料金ページにあります。

自分で書き出したフォルダが手元にある場合は、そのフォルダを消さず、公開URLと一緒に渡してください。フォルダが無い場合も、今のWordPressを止めないでください。止めたあとに書き出し直す方が、止める前に渡すより時間がかかります。DNSを先に動かした途中でも、動かした時刻と、今見えている画面のURLを書けば切り分けられます。

相談

静的化の可否から切り分けます

公開URL、更新の頻度、フォームの有無を書いてください。向くかと、既存の移管と保守のどれへ載せるかを返します。

移管と静的化を相談する