Prime Cache マニュアル(Pro版)
バージョン 1.7.30 | PHP 7.4+ | WordPress 5.8+ | 要 Prime Cache Free 版 (1.10.20 以上を推奨)
Pro 版は Free 版の全機能に加え、AVIF 変換・Critical CSS /未使用 CSS 削除・Delay JS・Cloudflare / Sucuri / Varnish 連携・Persistent Object Cache(APCu / Redis / Memcached)・データベース最適化・YouTube サムネイル置換などの高度な最適化機能を提供します。Free 版の機能や設定についてはFree 版マニュアルをご覧ください。WebP 変換は 1.10.0 から Free に降ろされており、Pro 版を入れると AVIF が上乗せされます。
RPLS-XXXX-XXXX-XXXX-XXXX 形式)を入力して有効化します。有効化後は AVIF 変換・高度な CSS 配信・Delay JS・CDN / Cloudflare / Sucuri / Varnish 連携・Persistent Object Cache・データベース最適化などの Pro 機能が解放されます。Free 側の Prime Cache > Pro Features ページ(1.10.14 で新設)にも、Pro で追加される機能の一覧と推奨サイト像が掲載されています。
はじめに
ライセンス有効化
Prime Cache > ライセンス タブで設定します。
Pro版を使用するにはライセンスキーの有効化が必要です。ライセンスキーは購入後に発行されます。
| 項目 | 説明 |
|---|---|
| ライセンスキー入力 | RPLS-XXXX-XXXX-XXXX-XXXX 形式のキーを入力します。キーはライセンスサーバー(raplsworks.com)に対して検証されます |
| 有効化 | 「有効化」をクリックしてこのサイトにライセンスを登録します。1ライセンスは同時に1サイトで有効化できます |
| 無効化 | 別のサイトに移行する場合に使用します。ライセンスを解放して別のサイトで有効化可能な状態にします |
| ステータス表示 | 有効(有効期限付き)・無効・期限切れ・無効のいずれかを表示します |
| 自動アップデート | 有効なライセンスがある場合、WordPress 管理画面からプラグインの自動アップデートを受け取れます |
有効化手順:
- Prime Cache > ライセンス タブを開きます
- ライセンスキー入力欄に
RPLS-XXXX-XXXX-XXXX-XXXXを貼り付けます - 「有効化」ボタンをクリックします
- 「有効」ステータスが表示されたら完了です
- ページをリロードすると Pro 専用の設定項目が管理画面に表示されます
動作要件
| 項目 | 最低要件 | 推奨 |
|---|---|---|
| PHP | 7.4 以上 | 8.2 以上 |
| WordPress | 5.8 以上 | 最新安定版 |
| WebP / AVIF 変換 | GD または Imagick PHP 拡張 | Imagick(変換品質が高い) |
| Object Cache (APCu) | APCu PHP 拡張 | APCu 5.x 以上 |
| Object Cache (Redis) | phpredis または Predis | phpredis + Redis 6.x 以上 |
| Object Cache (Memcached) | Memcached または Memcache PHP 拡張 | Memcached 3.x 以上 |
| Web サーバー | Apache または Nginx | Apache(.htaccess 最適化フル対応) |
| HTTPS | 推奨(HSTS 等に必要) | Let’s Encrypt などの有効な SSL 証明書 |
クイックスタート(推奨設定順序)
- ライセンス有効化 — ライセンスタブでキーを入力
- ページキャッシュ — ページキャッシュタブで有効化し、.htaccess 最適化を有効にする
- ファイル最適化 — HTML・CSS・JS の Minify を有効化、サイトを確認しながら Combine/Defer を段階的に有効化
- メディア最適化 — Lazy Load を有効化し、WebP 変換と一括最適化を実行
- プリロード — キャッシュプリロードとリンクプリフェッチを有効化
- データベース最適化 — クリーンアップを実行し、自動スケジュールを設定
- Heartbeat 制御 — フロントエンドの Heartbeat を無効化
- セキュリティヘッダー — HSTS・X-Frame-Options などを有効化
ファイル最適化(Pro)
Prime Cache > ファイル最適化 タブで設定します。
HTML・CSS・JavaScript ファイルを最適化し、ページのレンダリングブロックを削減してページ読み込み速度を向上させます。
CSS 結合
複数の CSS ファイルを1つにまとめて HTTP リクエスト数を削減します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| CSS 結合を有効化 | 無効 | 複数の CSS ファイルを1つにまとめます |
| 結合を除外する CSS | 空 | 結合対象から除外するファイルの URL またはパターン(1行に1つ)。テーマ固有の CSS などを除外できます |
JavaScript 結合
複数の JavaScript ファイルを1つにまとめて HTTP リクエスト数を削減します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| JS 結合を有効化 | 無効 | 複数の JS ファイルを1つにまとめます |
| 結合を除外する JS | 空 | 結合対象から除外するファイルの URL またはパターン(1行に1つ) |
Defer JavaScript
JavaScript ファイルに defer 属性を付与し、HTML のパースをブロックしないようにします。
| 設定 | デフォルト | 説明 |
|---|---|---|
| JS の Defer を有効化 | 無効 | すべての <script> タグに defer 属性を付与します |
| Defer を除外する JS | 空 | Defer を適用しないスクリプトの URL またはパターン |
Defer の動作:
- スクリプトのダウンロードは並行して行われますが、HTML のパース完了後に実行されます
- jQuery に依存するインライン
<script>は、自動的にDOMContentLoadedでラップされます - GTM(Google Tag Manager)や分析スクリプトを Defer することで Core Web Vitals スコアが向上します
defer は jQuery 本体にも適用されます。jQuery に依存するインラインスクリプトが表示崩れを起こす場合は、該当スクリプトを除外リストに追加するか、Defer を無効にしてください。Prime Cache は jQuery 依存のインラインスクリプトを自動検出して DOMContentLoaded でラップする仕組みを持っていますが、すべてのケースを網羅できるわけではありません。
Delay JavaScript
ページ読み込み時に JavaScript の実行を遅延させ、ユーザーの最初のインタラクション(スクロール・クリック・タッチ)が発生したときに初めて実行します。特にモバイルでの TTI(Time to Interactive)を大幅に改善します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| Delay JS を有効化 | 無効 | JS の実行をユーザーインタラクションまで遅延します。モバイル端末向けに別キャッシュが必要です |
| Delay JS セーフモード | 無効 | セーフモードを有効にすると、サードパーティ(外部ドメイン)のスクリプトのみ遅延します。自サイトのスクリプトは通常通り実行されます |
| 遅延対象外の JS | 空 | 遅延させないスクリプトの URL またはパターン(1行に1つ) |
Delay JS の仕組み:
- ページ HTML 内の
<script>タグのtype属性をtext/rocketscriptに変換します(ブラウザがスクリプトを実行しない) - ページが表示された後、ユーザーが最初にスクロール・クリック・タッチを行うと全スクリプトを復元して実行します
- セーフモードでは
srcに外部ドメインを持つスクリプトのみが遅延対象となります
Delay JS セーフモードの用途:
- Google Analytics、Facebook Pixel、広告スクリプトなど外部のマーケティングタグを遅延
- 自サイトの機能スクリプト(決済、フォーム、スライダーなど)は通常通り実行
- フル Delay で問題が発生するサイトでも安全に PageSpeed スコアを改善できます
Critical CSS
ページの「above-the-fold」(初期表示領域)に必要な CSS のみをインラインで埋め込み、残りの CSS を非同期で読み込みます。最初の描画(FCP: First Contentful Paint)を大幅に高速化します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| Critical CSS を有効化 | 無効 | Critical CSS の生成と適用を有効にします |
| 自動生成 | 有効(Critical CSS 有効時) | 各ページの Critical CSS を自動生成します。ページへの初回アクセス時にバックグラウンドで生成されます |
| 手動 Critical CSS | 空 | 自動生成の代わりに手動で Critical CSS を入力できます。サイト全体に適用されます |
| Critical CSS 除外 URL | 空 | Critical CSS を適用しない URL パターン |
Critical CSS の生成プロセス:
- Critical CSS が有効な状態で対象ページに初めてアクセスがあると、バックグラウンドで CSS 解析が実行されます
- 解析結果の Critical CSS がデータベースに保存されます
- 次回以降のアクセスから、Critical CSS がインライン
<style>として<head>に埋め込まれます - 残りの CSS は
media="print"とonloadパターンで非同期読み込みされます
Remove Unused CSS
各ページの HTML を解析し、そのページで実際に使用されていない CSS ルールを除去します。CSS ファイルサイズを大幅に削減し、FCP および LCP スコアを改善します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| Remove Unused CSS を有効化 | 無効 | 未使用 CSS の自動除去を有効にします |
| 除外するセレクター | 空 | 削除対象から除外する CSS セレクター(1行に1つ)。JavaScript で動的に追加されるクラスなどを除外できます |
CSS 配信最適化
CSS の配信方式を選択します。
| モード | 説明 | 推奨シーン |
|---|---|---|
| Remove Unused CSS | 未使用 CSS を解析・除去してからインライン/ファイルとして配信 | CSS ファイルサイズが大きいサイト |
| Async CSS | CSS ファイルを非同期(media="print" onload パターン)で読み込む | Critical CSS と組み合わせたい場合 |
Local Google Analytics
Google Analytics の JavaScript ファイル(gtag.js / analytics.js)を自分のサーバーにダウンロードしてローカルから配信します。外部ドメインへの DNS ルックアップと接続を削減し、PageSpeed スコアを改善します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| Local Analytics を有効化 | 無効 | Google Analytics スクリプトをローカルにキャッシュして配信します |
| Tracking ID | 空 | Google Analytics のトラッキング ID(例: G-XXXXXXXXXX) |
| 更新間隔 | 24 時間 | ローカルキャッシュを更新する間隔。Google Analytics スクリプトは頻繁に更新されるため、定期更新が必要です |
設定手順:
- Prime Cache > ファイル最適化 > Local Analytics セクションを開きます
- 「Local Analytics を有効化」をオンにします
- Google Analytics のトラッキング ID を入力します
- 「設定を保存」をクリックすると、自動的にスクリプトがダウンロードされます
- サイトのソースで
analytics.jsが自サイトのドメインから読み込まれていることを確認します
Google Fonts 最適化
Prime Cache > ファイル最適化 > Google Fonts セクションで設定します。
Google Fonts の読み込みを最適化し、レンダリングブロックを削減します。
| モード | 説明 | 効果 |
|---|---|---|
| Combine | 複数の Google Fonts API リクエストを1つにまとめます | HTTP リクエスト削減 |
| Self-host | Google Fonts のフォントファイルをサーバーにダウンロードしてローカルから配信します | 外部リクエスト削減・プライバシー向上 |
| Display Swap | フォント読み込み中に代替フォントを表示するため display=swap を追加します | FOIT(Flash of Invisible Text)防止 |
| Disable | Google Fonts をすべて無効化します | 外部リクエストを完全に排除 |
Self-host の動作:
- Google Fonts API URL を解析してフォントファイル(.woff2)を取得します
- フォントファイルを
wp-content/cache/prime-cache/fonts/に保存します - HTML 内の Google Fonts リンクをローカルの CSS に置き換えます
- GDPR 観点からも外部 Google サーバーへのリクエストがなくなります
display=swap を組み合わせると効果的です。
メディア最適化(Pro)
Prime Cache > メディア タブで設定します。
画像を自動的に次世代フォーマットに変換し、ファイルサイズを削減します。変換後の画像は元ファイルと並存し、ブラウザのサポート状況に応じて最適なフォーマットが配信されます。
WebP / AVIF 変換
WebP 変換そのものは Free 版に含まれています(1.10.0 から)。Pro 版を有効化すると、同じ Prime Cache > メディア タブに AVIF 変換のトグルと、AVIF 専用の品質コントロールが追加されます。配信時はブラウザの対応状況に応じて AVIF / WebP /元画像が自動で選択され、Safari など AVIF 非対応のブラウザでも Free 側の WebP にフォールバックします。
| 設定 | 提供 | デフォルト | 説明 |
|---|---|---|---|
| WebP 変換を有効化 | Free | 無効 | アップロード時に WebP バリアントを自動生成します(Free 1.10.0 以降) |
| AVIF 変換を有効化 | Pro | 無効 | アップロード時に AVIF バリアントを自動生成します。WebP よりさらに小さいファイルサイズを実現しますが、変換に時間がかかります |
対応変換エンジン:
| エンジン | WebP 対応 | AVIF 対応 | 備考 |
|---|---|---|---|
| GD | PHP 5.4+ | PHP 8.1+ | ほとんどのホスティングで利用可能 |
| Imagick | ImageMagick 6.5+ | ImageMagick 7.0.25+ | GD より変換品質が高い |
品質・EXIF・リサイズ設定
| 設定 | デフォルト | 説明 |
|---|---|---|
| 圧縮モード | なし | lossy(非可逆)/ lossless(可逆)/ custom(品質指定)から選択 |
| WebP 品質 | 85 | カスタムモード時の WebP 変換品質(0-100)。80-90 が品質とファイルサイズのバランスが良い |
| AVIF 品質 | 75 | カスタムモード時の AVIF 変換品質(0-100)。AVIF は低い値でも高い品質を維持します |
| 元ファイルの品質 | 変更なし | 元の JPG/PNG ファイルを再圧縮する場合の品質(0-100) |
| EXIF データを削除 | 無効 | GPS 情報・撮影日時・カメラ情報などのメタデータを削除します。プライバシー保護とファイルサイズ削減に効果的です |
| アップロード時にリサイズ | 無効 | 設定したサイズを超える画像を自動的にリサイズします |
| 最大幅 | 2560(px) | リサイズ時の最大横幅。これを超える画像はアップロード時に自動縮小されます |
| 最大高さ | 2560(px) | リサイズ時の最大高さ |
一括最適化
既存のメディアライブラリの画像を WebP・AVIF に一括変換します。
一括最適化の実行手順:
- Prime Cache > メディア > 一括最適化 セクションを開きます
- 変換対象のフォーマット(WebP / AVIF)を選択します
- 「一括最適化を開始」をクリックします
- AJAX によるプログレスバーが表示され、変換の進行状況をリアルタイムで確認できます
- 変換完了後、メディアライブラリの各画像の圧縮率がメディアライブラリ列に表示されます
配信方式
変換後の WebP・AVIF ファイルをブラウザに配信する方式を選択します。
| 方式 | 説明 | 推奨シーン |
|---|---|---|
| .htaccess リライト | Apache の mod_rewrite を使って、ブラウザが WebP/AVIF をサポートしている場合に自動的に変換ファイルを配信。PHP を経由しないため最速 | Apache サーバー |
| picture タグ | HTML の <img> タグを <picture><source><img> 構造に書き換えて、ブラウザが最適なフォーマットを選択 | Nginx / CDN 使用時 |
| URL リライト | HTML 内の画像 URL を WebP/AVIF の URL に書き換え。ブラウザが非対応の場合は元ファイルへ自動フォールバック | シンプルな構成 |
Accept ヘッダーを使った条件分岐が .htaccess に自動追記されます。
フォルダー対象設定
画像変換の対象フォルダーを詳細に設定します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| 対象フォルダー | uploads | 変換対象に含めるフォルダー(uploads / themes / plugins / カスタムパス) |
| 除外フォルダー | 空 | 変換対象から除外するフォルダーの相対パス(1行に1つ) |
| 除外ファイル | 空 | 変換対象から除外する特定のファイル URL(1行に1つ) |
メディアライブラリ圧縮列
WordPress のメディアライブラリに「Prime Cache」列が追加され、各画像の変換状況と圧縮率が表示されます。
| 表示内容 | 説明 |
|---|---|
| 圧縮率 | 元ファイルと比較した WebP/AVIF の削減率(例: -65%) |
| 変換済みフォーマット | WebP / AVIF の変換状況(済み / 未変換 / 非対応) |
| 再変換ボタン | 個別の画像を手動で再変換するボタン |
YouTube サムネイル置換
YouTube の <iframe> 埋め込みを軽量なサムネイル画像に置き換えます。訪問者がサムネイルをクリックしたときに初めて YouTube iframe を読み込むため、YouTube 関連のリソース(約 500 KB)を初期読み込みから排除できます。
| 設定 | デフォルト | 説明 |
|---|---|---|
| YouTube サムネイル置換を有効化 | 無効 | YouTube iframe をサムネイル画像に置き換えます |
CDN 連携
Prime Cache > CDN タブで設定します。
CDN(コンテンツデリバリーネットワーク)を活用して静的アセットの配信を高速化します。
CDN URL 書き換え
静的ファイル(CSS、JS、画像、フォントなど)の URL を CDN の URL に書き換えます。CDN プルゾーンと組み合わせて使用します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| CDN URL 書き換えを有効化 | 無効 | 静的アセットの URL を CDN URL に書き換えます |
| CDN URL | 空 | CDN のプルゾーン URL(例: https://cdn.example.com) |
| 対象ファイルタイプ | css, js, png, jpg, webp, avif, gif, svg, woff2 | CDN から配信するファイルタイプ |
| 除外パス | 空 | CDN URL 書き換えから除外するパス(1行に1つ) |
設定手順:
- CDN サービス(BunnyCDN、Cloudflare R2、KeyCDN など)でプルゾーンを作成します
- プルゾーンのオリジンに自サイトの URL を設定します
- Prime Cache の「CDN URL」にプルゾーンの URL を入力します
- 「CDN URL 書き換えを有効化」をオンにします
- サイトのソースで静的アセットが CDN URL から配信されていることを確認します
ドメインシャーディング
複数の CDN ドメインを設定し、静的アセットの配信を分散させます。HTTP/1.1 環境でブラウザの同時接続数制限を回避するのに効果的です。
| 設定 | デフォルト | 説明 |
|---|---|---|
| 追加 CDN URL | 空 | CDN の追加ドメイン(例: https://cdn2.example.com)。CDN URL と合わせて最大4ドメインまで設定可能 |
Cloudflare 連携
Cloudflare のキャッシュを Prime Cache と同期します。コンテンツを更新したときに Cloudflare のキャッシュも自動的にパージされます。
| 設定 | デフォルト | 説明 |
|---|---|---|
| Cloudflare 連携を有効化 | 無効 | Cloudflare API 連携を有効にします |
| API トークン | 空 | Cloudflare API トークン。「Cache Purge」権限が必要です |
| Zone ID | 空 | Cloudflare ダッシュボードの右側に表示される Zone ID |
| ゾーン全体パージ | 有効 | キャッシュ全削除時に Cloudflare ゾーン全体をパージします |
| URL 別パージ | 有効 | 特定の投稿・固定ページ更新時にその URL のキャッシュのみをパージします |
Cloudflare API トークンの作成手順:
- Cloudflare API トークンページにアクセスします
- 「トークンを作成」をクリックします
- 「カスタムトークン」を選択します
- 権限に「ゾーン – キャッシュのパージ – 編集」を追加します
- ゾーンリソースに対象のドメインを設定します
- 「概要を続ける」→「トークンを作成する」をクリックします
- 表示されたトークンをコピーして Prime Cache に貼り付けます
Sucuri 連携
Sucuri WAF(Web Application Firewall)のキャッシュを Prime Cache と同期します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| Sucuri 連携を有効化 | 無効 | Sucuri API 連携を有効にします |
| Sucuri API キー | 空 | Sucuri ダッシュボードから取得した API キー |
| Sucuri API シークレット | 空 | Sucuri ダッシュボードから取得した API シークレット |
Varnish 連携
Varnish Cache サーバーに HTTP PURGE リクエストを送信してキャッシュを削除します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| Varnish 連携を有効化 | 無効 | Varnish PURGE リクエストを有効にします |
| Varnish サーバー IP | 127.0.0.1 | Varnish サーバーの IP アドレス |
| Varnish ポート | 6081 | Varnish が待ち受けるポート番号 |
| 正規表現パージ | 無効 | 正規表現で複数 URL を一括パージします(Varnish の設定でサポートが必要) |
プリロード(Pro 全機能)
Prime Cache > プリロード タブで設定します。
キャッシュを事前に生成し、ユーザーが次に訪問するページをブラウザに先読みさせて、ナビゲーションを瞬時に体験させます。
キャッシュプリロード
バックグラウンドクローラーがサイトを巡回し、キャッシュファイルを事前に生成します。訪問者がページにアクセスしたとき、生成済みのキャッシュがすぐに配信されます。
| 設定 | デフォルト | 説明 |
|---|---|---|
| キャッシュプリロードを有効化 | 無効 | バックグラウンドクローラーを有効にします |
| モバイルキャッシュプリロード | 無効 | デスクトップに加えてモバイル向けのキャッシュも事前生成します。モバイル別キャッシュが有効な場合に有効化してください |
| プリロード間隔 | 500(ms) | クローラーが各ページを取得する間隔。値が小さいと高速ですが、サーバー負荷が増加します |
| 同時リクエスト数 | 3 | 同時に処理するプリロードリクエスト数 |
サイトマッププリロード
XML サイトマップに記載された URL をすべてプリロード対象として使用します。サイト全体のキャッシュを効率的に生成できます。
| 設定 | デフォルト | 説明 |
|---|---|---|
| サイトマッププリロードを有効化 | 無効 | サイトマップの URL をプリロード対象に含めます |
| サイトマップ URL | 空(自動検出) | 手動でサイトマップ URL を指定する場合に入力します。空の場合は WordPress の標準サイトマップを使用します |
リンクプリフェッチ
JavaScript を使用して、訪問者がホバーまたはビューポートに入ったリンクをプリフェッチ(先読み)します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| リンクプリフェッチを有効化 | 無効 | JavaScript ベースのリンクプリフェッチを有効にします |
| プリフェッチモード | hover | hover(ホバー時)/ viewport(画面内のリンク)から選択 |
| ホバー遅延 | 65(ms) | ホバーモード時にプリフェッチを開始するまでの遅延時間。誤ったプリフェッチを防ぎます |
| 除外セレクター | 空 | プリフェッチ対象から除外するリンクの CSS セレクター |
Speculation Rules API
Chrome 109+ で対応した新しいブラウザ API を使用して、訪問者が遷移しそうなページを事前にレンダリング(プリレンダリング)します。対応ブラウザでは遷移が仮想的に即座になります。非対応ブラウザはルールを無視します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| Speculation Rules を有効化 | 無効 | Speculation Rules API によるプリレンダリングを有効にします |
| モード | prerender | prefetch(先読みのみ)/ prerender(完全なプリレンダリング) |
| Eagerness | moderate | conservative(ホバー時)/ moderate(中間)/ eager(即時) |
フォントプリロード
サイトで使用されている Web フォントを自動検出し、<link rel="preload"> タグを追加します。フォントの読み込みを優先させることで、FOUT(Flash of Unstyled Text)を軽減します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| フォントプリロードを有効化 | 無効 | CSS から @font-face フォントを自動検出してプリロードします |
| 最大プリロード数 | 4 | プリロードするフォントファイルの最大数。多すぎると帯域幅を消費します |
LCP 最適化
ページの LCP(Largest Contentful Paint)要素を最適化して描画を高速化します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| LCP 最適化を有効化 | 無効 | LCP 画像の fetchpriority="high" 付与と <link rel="preload"> の自動追加を有効にします |
| LCP 画像を手動指定 | 空 | 自動検出に頼らず、LCP 画像の URL を手動で指定します |
| 最初の N 枚の画像を除外 | 3 | Lazy Load の対象から最初の N 枚を除外し、fetchpriority="high" を付与します。これにより LCP 画像が優先的に読み込まれます |
fetchpriority="high" を付与することが最も効果的です。LCP 最適化を有効にするだけで、自動検出された LCP 画像に適切な属性が付与されます。
DNS Prefetch / Preconnect
外部ドメインへの DNS ルックアップ・TCP 接続・TLS ハンドシェイクを事前に行い、外部リソースの読み込みを高速化します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| DNS Prefetch を有効化 | 無効 | 外部ドメインの DNS 解決を事前に行います。リソースの読み込み遅延を削減します |
| DNS Prefetch ドメイン | 空(自動検出) | 手動で DNS Prefetch を追加するドメイン(1行に1つ)。空の場合はページ内の外部リソースから自動検出します |
| Preconnect を有効化 | 無効 | 外部ドメインとの TCP 接続と TLS ハンドシェイクを事前に確立します。DNS Prefetch より効果的ですが、接続維持のコストがかかります |
| Preconnect ドメイン | 空(自動検出) | 手動で Preconnect を追加するドメイン(1行に1つ) |
| 最大 Preconnect 数 | 4 | 自動検出時の最大 Preconnect 数。セルフドメインは自動除外されます |
手動リソースプリロード
特定のリソース(画像、フォント、スクリプト、スタイルシートなど)を手動で <link rel="preload"> に追加します。
| 設定 | 説明 |
|---|---|
| リソース URL | プリロードするリソースのフルパスまたは URL |
| リソースタイプ | image / font / script / style / fetch。空の場合は拡張子から自動判定 |
設定例:
リソース URL: /wp-content/themes/my-theme/fonts/custom-font.woff2 リソースタイプ: font リソース URL: /wp-content/themes/my-theme/images/hero.jpg リソースタイプ: image
オブジェクトキャッシュ
Prime Cache > ページキャッシュ > オブジェクトキャッシュ セクションで設定します。
WordPress のデータベースクエリ結果をメモリに保持する永続的オブジェクトキャッシュを設定します。データベースへのクエリ数を削減し、特にクエリの多いサイト(WooCommerce、BuddyPress など)でページ生成時間を大幅に短縮します。
APCu / Redis / Memcached
| バックエンド | 特徴 | 必要な拡張 | 推奨シーン |
|---|---|---|---|
| APCu | PHP プロセスのメモリを共有。設定が最も簡単。サーバー再起動でキャッシュがクリア | apcu PHP 拡張 | 単一サーバー・小〜中規模サイト |
| Redis | 高速なインメモリデータストア。再起動でもキャッシュが持続。クラスター対応 | phpredis または predis | 大規模サイト・複数サーバー |
| Memcached | 分散メモリキャッシュ。複数サーバー間でのキャッシュ共有が可能 | memcached PHP 拡張 | 分散環境・レガシーシステム |
APCu の設定手順:
- 「バックエンド」で「APCu」を選択します
- 「接続テスト」をクリックして APCu が利用可能か確認します
- 「オブジェクトキャッシュを有効化」をオンにします
- 「設定を保存」をクリックすると
wp-content/object-cache.phpドロップインが設置されます
Redis の設定項目:
| 設定 | デフォルト | 説明 |
|---|---|---|
| Redis ホスト | 127.0.0.1 | Redis サーバーのホスト名または IP アドレス |
| Redis ポート | 6379 | Redis サーバーのポート番号 |
| Redis パスワード | 空 | Redis 認証パスワード(設定されている場合) |
| Redis データベース番号 | 0 | 使用する Redis データベース番号(0-15) |
| プレフィックス | prime_cache: | Redis キーのプレフィックス。同一サーバーに複数サイトを運用する場合に区別するために使用 |
Memcached の設定項目:
| 設定 | デフォルト | 説明 |
|---|---|---|
| Memcached ホスト | 127.0.0.1 | Memcached サーバーのホスト名または IP アドレス |
| Memcached ポート | 11211 | Memcached サーバーのポート番号 |
wp-content/object-cache.php が作成されます。他のキャッシュプラグインの object-cache.php と競合する場合があります。Prime Cache のオブジェクトキャッシュを無効にする前に、必ず既存の object-cache.php を削除してください。
データベース最適化
Prime Cache > データベース タブで設定します。
WordPress データベースの肥大化を防ぎ、クエリのパフォーマンスを維持するためのクリーンアップ機能です。クリーンアップ実行前に各項目の件数が表示されます。
クリーンアップ項目
| 項目 | 説明 | 推奨頻度 |
|---|---|---|
| 投稿リビジョン | 投稿・固定ページの編集履歴を削除します。wp_posts テーブルが肥大化している主要な原因です | 月次 |
| 自動下書き | WordPress が自動保存した未公開の下書きを削除します | 月次 |
| ゴミ箱内の投稿 | ゴミ箱に入れた投稿・固定ページを完全削除します | 月次 |
| スパムコメント | スパムとしてマークされたコメントを削除します | 週次 |
| ゴミ箱内のコメント | ゴミ箱に入れたコメントを完全削除します | 月次 |
| 期限切れトランジェント | wp_options テーブルの期限切れ一時データを削除します | 週次 |
| すべてのトランジェント | 期限内のものも含めてすべてのトランジェントを削除します。プラグインが多いサイトで肥大化していることが多いです | 月次(注意して使用) |
| テーブル最適化 | 断片化したデータベーステーブルに OPTIMIZE TABLE を実行します。削除後の断片化を解消してクエリを高速化します | 月次 |
一括クリーンアップの実行手順:
- Prime Cache > データベース タブを開きます
- 各項目のチェックボックスを選択します。件数が右側に表示されます
- 「クリーンアップを実行」をクリックします
- 確認ダイアログが表示されます。「OK」をクリックして実行します
- 完了後、削除された件数がレポートとして表示されます
自動スケジュール
WP-Cron を使ってデータベースクリーンアップを定期的に自動実行します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| 自動クリーンアップを有効化 | 無効 | スケジュールに従って自動クリーンアップを実行します |
| 実行頻度 | monthly | daily(毎日)/ weekly(週次)/ monthly(月次) |
| 自動クリーンアップ対象 | 投稿リビジョン、自動下書き、期限切れトランジェント | 自動実行する項目をチェックボックスで選択します |
Heartbeat API 制御
Prime Cache > パフォーマンスツール > Heartbeat API セクションで設定します。
WordPress の Heartbeat API は定期的に管理画面と通信し、自動保存、ログイン状態の確認、プラグイン更新通知などに使用されます。フロントエンドでの Heartbeat はサーバー負荷の原因となるため、適切に制御することを推奨します。
場所別・モード設定
| 場所 | 設定キー | デフォルト | 推奨設定 |
|---|---|---|---|
| フロントエンド | heartbeat_frontend | 有効 | 無効(フロントエンドでは Heartbeat は不要です) |
| 管理画面ダッシュボード | heartbeat_admin | 有効 | 頻度を下げる(15-60秒) |
| 投稿エディター | heartbeat_editor | 有効 | 有効または頻度を下げる(自動保存に必要) |
各場所で選択できるモード:
| モード | 説明 |
|---|---|
| Allow(有効) | WordPress のデフォルト設定で Heartbeat を動作させます |
| Reduce(頻度を下げる) | Heartbeat の実行間隔を指定した秒数に変更します(15-300秒)。標準は15秒です |
| Disable(無効) | Heartbeat を完全に無効化します。フロントエンドでの推奨設定です |
| 設定 | デフォルト | 説明 |
|---|---|---|
| カスタム間隔(秒) | 60 | 「Reduce」モード時の実行間隔。15-300秒の範囲で指定します |
セキュリティヘッダー
Prime Cache > ツール > セキュリティヘッダー セクションで設定します。
HTTP レスポンスヘッダーにセキュリティ関連のヘッダーを追加します。ブラウザに対してセキュリティポリシーを指示することで、さまざまな攻撃を防御します。
HSTS・各種セキュリティヘッダー
| ヘッダー | デフォルト | 説明 |
|---|---|---|
| HSTS(HTTP Strict Transport Security) | 無効 | ブラウザに HTTPS 接続のみを使用するよう指示します。max-age で有効期間(秒)を指定します。HTTPS サイトのみで有効化してください |
| HSTS max-age | 31536000(1年) | HSTS ポリシーの有効期間(秒)。includeSubDomains と preload オプションも設定できます |
| X-Content-Type-Options | 無効 | nosniff を設定して、ブラウザが MIME タイプを自動判定しないよう指示します。MIME スニッフィング攻撃を防ぎます |
| X-Frame-Options | 無効 | サイトを <iframe> に埋め込むことを制限します。クリックジャッキング攻撃を防ぎます。DENY(完全禁止)または SAMEORIGIN(同一オリジンのみ許可)を選択できます |
| X-XSS-Protection | 無効 | ブラウザの XSS フィルターを有効にします。1; mode=block を設定すると、XSS 攻撃が検出された場合にページの読み込みをブロックします |
| Referrer-Policy | 無効 | リンクをクリックしたときにリファラー情報をどの程度共有するかを制御します。strict-origin-when-cross-origin が一般的に推奨されます |
| Permissions-Policy | 無効 | カメラ・マイク・位置情報などのブラウザ機能へのアクセスを制限します。使用しない機能を明示的に無効化できます |
推奨設定例:
HSTS: 有効 max-age: 31536000 includeSubDomains: はい preload: いいえ(HSTS preload リストへの登録を別途申請した場合のみ「はい」) X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN (自サイト内で iframe を使用している場合は SAMEORIGIN、完全に禁止する場合は DENY) X-XSS-Protection: 1; mode=block Referrer-Policy: strict-origin-when-cross-origin Permissions-Policy: camera=(), microphone=(), geolocation=() (サイトで使用しない機能を空の許可リストで禁止)
max-age の期間中、サイトへの HTTP アクセスを自動的に HTTPS にリダイレクトします。SSL 証明書に問題が発生した場合でも訪問者がアクセスできなくなる可能性があります。本番環境で設定する前に、SSL 証明書が正常に機能していることを確認してください。
高度なキャッシュ設定
Vary Cookie キャッシュ
Prime Cache > ページキャッシュ > キャッシュ制御 セクションで設定します。
Cookie の値に応じて異なるキャッシュバリアントを生成します。ログイン状態や言語設定、会員グループなど、Cookie によってページの表示内容が変わる場合に使用します。
| 設定 | デフォルト | 説明 |
|---|---|---|
| Vary Cookie を有効化 | 無効 | 指定した Cookie の値別に異なるキャッシュを生成します |
| 対象 Cookie 名 | 空 | バリアント生成に使用する Cookie 名(1行に1つ) |
使用例:
例1: 言語切り替えに対応 対象 Cookie: lang → lang=ja のユーザーと lang=en のユーザーに別のキャッシュを配信 例2: 会員ランク別に表示内容を変える 対象 Cookie: membership_level → 一般会員と プレミアム会員に別のキャッシュを配信
クエリ文字列キャッシュ
Prime Cache > ページキャッシュ > キャッシュ制御 セクションで設定します。
通常、クエリ文字列(?key=value)が付いた URL はキャッシュ対象外となります。クエリ文字列キャッシュを有効にすることで、特定のクエリ文字列を含む URL もキャッシュ対象にできます。
| 設定 | デフォルト | 説明 |
|---|---|---|
| クエリ文字列をキャッシュ | 無効 | クエリ文字列付きの URL をキャッシュします |
| キャッシュ対象クエリ文字列 | 空 | キャッシュ対象とするクエリパラメーター名(1行に1つ)。指定した名前以外のクエリ文字列はキャッシュ対象外のまま |
404 ページキャッシュ
存在しない URL へのアクセスで表示される 404 ページをキャッシュします。大量の 404 リクエストがある場合のサーバー負荷を大幅に削減できます。
| 設定 | デフォルト | 説明 |
|---|---|---|
| 404 ページをキャッシュ | 無効 | 404 Not Found レスポンスをキャッシュします |
| 404 キャッシュの有効期間 | 3600(秒) | 404 キャッシュの TTL。通常のキャッシュと同じ期間に設定することを推奨します |
高度なパージトリガー
Prime Cache は以下のイベントで自動的にキャッシュをパージします。
| イベント | パージ範囲 |
|---|---|
| 投稿の公開・更新・削除・ゴミ箱移動 | 該当投稿ページ + アーカイブ・カテゴリーページ |
| コメントの投稿・承認・編集・削除 | コメントが付いた投稿ページ |
| タームの作成・編集・削除 | タームアーカイブページ |
| テーマ切り替え | 全キャッシュ |
| パーマリンク構造変更 | 全キャッシュ |
| プラグインの有効化・無効化 | 全キャッシュ |
| カスタマイザー保存 | 全キャッシュ |
| ウィジェット更新 | 全キャッシュ |
| ナビゲーションメニュー更新 | 全キャッシュ |
| WordPress コア更新 | 全キャッシュ |
| ユーザープロフィール更新 | 全キャッシュ |
常時パージ URL の設定:
投稿更新時に合わせて常にパージしたい URL(ホームページ、人気記事ページなど)を設定できます。
| 設定 | 説明 |
|---|---|
| 常時パージ URL | 投稿パージ時に合わせてキャッシュを削除する URL(1行に1つ)。サイト内の相対パスで指定します |
よくある質問
FAQ
Q: Pro版は Free版なしでインストールできますか?
A: いいえ。Prime Cache Pro は Free版のアドオンです。まず Free版(prime-cache)をインストール・有効化してから、Pro版をインストールしてください。Free版がない状態では Pro版は動作しません。
Q: ライセンスは複数のサイトで使用できますか?
A: 1ライセンスにつき1サイトで使用できます。複数サイトに導入する場合は、それぞれのサイト用にライセンスを購入してください。サイトを移行する場合は、旧サイトでライセンスを「無効化」してから新サイトで「有効化」してください。
Q: WebP 変換が機能しない場合はどうすればよいですか?
A: Prime Cache > ツール > システム情報 で GD または Imagick の PHP 拡張が有効になっているか確認してください。両方とも無効の場合は、ホスティング会社に PHP 拡張のインストールを依頼してください。共有ホスティングでは PHP 7.4 以上で GD が利用可能な場合がほとんどです。
Q: CSS/JS 結合後にサイトの表示が崩れた場合はどうすればよいですか?
A: まず管理画面の管理バーから「キャッシュを全削除」を実行してください。それでも問題が解決しない場合は、「除外する CSS/JS」に問題のファイルを追加してください。ブラウザの開発者ツール(F12)でコンソールエラーを確認すると、問題の原因を特定しやすくなります。
Q: Delay JS でページの一部が動作しなくなった場合は?
A: 問題のあるスクリプトを「遅延対象外の JS」に追加するか、「Delay JS セーフモード」を有効にしてください。セーフモードでは外部スクリプトのみを遅延するため、自サイトのスクリプトは即座に実行されます。
Q: Cloudflare と Prime Cache の両方を使用する場合の設定は?
A: Cloudflare の「キャッシュルール」でサイトの HTML をキャッシュする設定にし、Prime Cache の Cloudflare 連携を有効にします。投稿を更新すると、Prime Cache が WordPress のキャッシュと Cloudflare のキャッシュを両方パージします。Cloudflare の「開発モード」を使用してキャッシュを一時的に無効化しながら設定を確認することを推奨します。
Q: Redis を使用する場合、何か追加の設定が必要ですか?
A: サーバーに Redis がインストールされており、PHP の phpredis 拡張または predis ライブラリが利用可能であれば、Prime Cache の設定画面から接続設定を行うだけで使用できます。管理された Redis サービス(AWS ElastiCache、Upstash など)の場合は、ホスト名とポート、必要に応じて認証情報を設定してください。
Q: データベース最適化の「すべてのトランジェント削除」は安全ですか?
A: 一部のプラグインは API レスポンスや設定をトランジェントにキャッシュしています。「すべてのトランジェント削除」を実行すると、これらのキャッシュが削除され、次のアクセス時に再生成されます。通常は問題ありませんが、削除後に問題が発生した場合は、各プラグインのキャッシュを再生成してください。安全のため、初回は「期限切れトランジェント」のみ削除することを推奨します。
Q: Speculation Rules API はすべてのブラウザで動作しますか?
A: いいえ。Chrome 109+ と Edge 109+ でのみ対応しています。Safari や Firefox はルールを無視するだけで、副作用はありません。したがって、対応ブラウザのユーザーのみが恩恵を受けます。
Q: セキュリティヘッダーを設定すると既存の iframe 埋め込みに影響しますか?
A: X-Frame-Options を DENY に設定すると、自サイトのページが他サイトの iframe に埋め込まれなくなります。また、自サイト内の iframe 埋め込みも制限される場合があります。SAMEORIGIN を使用すると、同一オリジン(同じドメイン)からの埋め込みは許可されます。YouTube などの外部の iframe 埋め込みは、この設定の影響を受けません(X-Frame-Options はサイト自身を保護するためのヘッダーです)。
Q: AVIF 変換は WebP より優れていますか?
A: AVIF は WebP よりも圧縮率が高く、同じ品質でより小さいファイルサイズを実現できます。ただし、変換にかかる時間が WebP より長く、サーバーへの負荷も高くなります。また、AVIF の変換には ImageMagick 7.0.25+ または PHP 8.1+ の GD が必要です。ブラウザの対応状況は WebP よりやや劣りますが(Chrome、Firefox、Safari 16+ で対応)、将来的な標準フォーマットです。
