説明
このプラグインは、ブラウザでのページ読み込みとレンダリングのパフォーマンスを向上させるいくつかの機能をサポートしています:
- CSS 連結
- JavaScript 連結
- Execution timing of non-critical scripts
- Note: Changing script execution timing can be risky and will not work well for all sites.
テスト
サイト全体で機能を有効にせずにテストするには、WordPress の投稿やページの URL にクエリパラメータを追加します。たとえば、https://example.com/blog/ で JavaScript の連結を有効にするテストを行うには、https://example.com/blog/?concat-js=1 という URL を使用します。
サポートされるクエリパラメータ:
concat-cssは CSS 連結を制御します。値: ON の場合は1、OFF の場合は0。concat-jsは JavaScript 連結を制御します。値:1なら ON 、0なら OFF。load-mode-jsは、重要でないJavaScript のロード方法を制御します。値: 遅延の場合は「defer」、非同期ロードの場合は「async」、その他の値は機能を無効にする必要があることを示します。
PHPUnit (Docker)
You can run the PHPUnit tests locally using Docker (no local MySQL required).
First time (or after changing DB credentials):
docker compose down -v
Run tests:
docker compose up --build --abort-on-container-exit --exit-code-from tests
Optional overrides (examples):
WP_VERSION=6.5 docker compose up --build --abort-on-container-exit --exit-code-from testsPHP_VERSION=7.4 docker compose up --build --abort-on-container-exit --exit-code-from testsPHPUNIT_VERSION=9.6.20 docker compose up --build --abort-on-container-exit --exit-code-from tests
インストール
このプラグインは、設定なしで動作するように、賢明なデフォルトを使用していますが、カスタム設定に使用できる定数がいくつかあります。
PAGE_OPTIMIZE_CACHE_DIR
Page Optimize はデフォルトで連結されたスクリプトとスタイルをキャッシュし、この定数はキャッシュファイルの保存場所を制御します。デフォルトのディレクトリは、サイトの wp-content フォルダの下にある cache/page_optimize です。
キャッシュの場所を変更するには、この定数をその場所の絶対ファイルシステムパスに設定する。
キャッシュを無効にするには、この定数を false に設定します。Page Optimize のキャッシュを無効にすると、他の場所でキャッシュしていない限りパフォーマンスに悪影響を与える可能性があることに注意してください。
PAGE_OPTIMIZE_CSS_MINIFY
Page Optimize には CSS の最小化機能がありますが、デフォルトではオフになっています。
キャッシュを使用し、他の場所で CSS を最小化していない場合は、true に設定して有効にすることをお勧めします。
評価
貢献者と開発者
Page Optimize はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。
貢献者変更履歴
0.6.2
- Fix: Harden CSS concat
@importhoisting to preserve long Google Fonts-style URLs with semicolons and avoid false positives from@import-like substrings in rule bodies/URL paths.
0.6.1
- Fix: Skip JavaScript concatenation for scripts that request defer or async loading to preserve core loading behavior.
- Fix: Skip JavaScript concatenation for module scripts (type=”module”) and scripts whose tag is modified via the script_loader_tag filter (for example, plugins that add module attributes), improving compatibility.
0.6.0
- Fix: Preserve stylesheet enqueue/document order when concatenating CSS. Concat-eligible styles are now emitted as sequential runs and split around non-concatenated items (e.g. external/excluded/dynamic URLs), media changes, RTL handling, and other boundaries.
- Fix: Inline styles (wp_add_inline_style) now print immediately after their parent stylesheet, including when styles are concatenated.
- Fix: Apply core’s style_loader_tag filter when a concatenation run contains only a single stylesheet (matching core behavior and the JS-side fix from 0.5.0).
- Fix: The css_do_concat filter is now evaluated once per handle.
- Fix: The concat service no longer drops @import directives due to a closure scoping bug. (@charset/@import handling now runs against the intended pre-output buffer.)
- Fix: Stylesheets containing @import now start a new concat run so service-side @import hoisting cannot reorder imports ahead of earlier stylesheets.
- Fix: Treat @import and @charset as case‑insensitive when building concatenated CSS, preventing missed rules in some stylesheets.
0.5.8
- Update Tested Up To Version to 6.9.
0.5.7
- Update Tested Up To Version to 6.8.
0.5.6
- Update Tested Up To version to 6.7.
0.5.5
- Fix: Stop skipping inline scripts when src is empty.
0.5.4
- エディターでページや投稿を編集する際にベイルが発生する。連結ファイルの上限を増やしました。
0.5.1
- Brizy Editor でページを編集するとエラーになる(JavaScript のロードモードが
非同期だとエラーになる)。
0.5.0
- 連結可能だが連結する隣人がいないスクリプトに
script_loader_tagフィルタを適用する。これは、TwentyTwenty テーマがスクリプトにdefer属性を適用したくても機会が与えられなかったケースを修正します。
0.4.5, 0.4.6
- CSS 置換の絶対パスを強制する。
- 必要な PHP のバージョンを7.0に下げる。
0.4.4
- キャッシュしていない場合は、WP Cron のキャッシュクリーニングをキューに入れないでください。
- キャッシュをオフにした場合、またはディレクトリが変更された場合は、キャッシュをクリーンアップする。
0.4.3
- PHP の gzip は少し遅くなります。これはやめましょう。どんなウェブサーバーでも、もっとうまく処理できます。
- 出力バッファリングも削除します。その必要はもうありません
- CSS の極小化によって、動作が著しく遅くなることがあります。有効/無効にする定数を追加する。
0.4.2
- 初回リリース。まだ変更はありません。 :)