pstコマンド(2.2.0)

はじめに

※注意事項※

  1. Page Speed Technologyのコマンド pst は、KUSANAGIのプロファイルディレクトリ内で実行する必要があります。
    例)/home/kusanagi/{プロファイルディレクトリ}/
  2. 表記について
    1. a | b
      a または b のどちらかを指定する。省略できない。
    2. [ a ]
      a を指定する。省略した場合はデフォルトで動作する。

init [--http] [--rebuildconf] [--keepdb] [--reverseproxy origin]

Page Speed Technologyの初期設定
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyの初期設定を行います。
これにより、設定ファイルなどが配置されます。
Page Speed Technologyのアップデートの際にも実施します。

使用例

pst init --rebuildconf

パラメータ

[--http]
httpプロファイルに対して初期設定を行います。
オプション--http の指定がない場合は、sslプロファイルに対して初期設定を行います。

[--rebuildconf]
Webサーバの設定ファイルを再生成します。
基本的には必要はありませんが、バージョンが大きく異なるPage Speed Technologyからアップデートする際に指定してください。

[--keepdb]
バージョンアップ時にsqlite3のスキーマが変わることがあるため、pst init時に既存のsqlite3を自動削除します。削除したくない場合には、このオプションを指定してください。

[--plugin]
廃止されました。

passwd [--user] [--pass] [--delete]

Page Speed Technology管理画面のユーザー名とパスワード設定
WEXAL® PST Managerにアクセス用のユーザー名とパスワードを設定します。
詳細は設定ファイルの説明を参照してください。

使用例

pst passwd

パラメータ

[--user]
ユーザー名の指定
[--pass]
パスワードの指定
[--delete]
ユーザーを削除

make_config | make

Page Speed Technologyの設定ファイルの作成
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyの設定をプロダクション環境に適用します。

使用例

pst make_config

パラメータ

なし

edit_config | edit [--production]

Page Speed Technologyの設定ファイルの編集
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyの設定を編集します。編集した設定はステージング環境で有効となります。プロダクション環境で有効にするためには、pst make_configコマンド、または、後述の--productionパラメータを指定してください。
デフォルトはエディタにvim、設定ファイルの形式にyamlです。
エディタはカスタマイズ可能です。
また、設定ファイルの形式にphpを選択することもできます。
詳細は設定ファイルの説明を参照してください。

使用例

pst edit_config

パラメータ

[--production]
編集後にPage Speed Technologyの設定をステージング環境に加えて、即座にプロダクション環境に適用します。

on

Page Speed Technologyの有効化
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyの設定を有効化します。

使用例

pst on

パラメータ

なし

off

Page Speed Technologyの無効化
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyの設定を無効化します。

使用例

pst off

パラメータ

なし

watch on | off | restart

Page Speed Technologyのプロファイル監視プロセスの制御
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyのプロファイル監視プロセスを制御します。
プロファイル監視プロセスは、コマンドを実行したKUSANAGIのプロファイルをリアルタイムに監視し、コンテンツの変更に応じてコンテンツ最適化プロセスに実行を指示します。そのため、コンテンツ最適化プロセスが起動されていない場合、コンテンツ最適化プロセスが起動されるまで実行は保留されます。
プロファイル監視プロセスが起動されていない場合、コンテンツ最適化がリアルタイムに実行されません。必要に応じて後述のコンテンツ最適化を実行するコマンドを実行してください。
プロファイル監視プロセスは、コンテンツ最適化プロセスへ最優先の実行で指示します。そのため、後述のコンテンツ最適化を実行するコマンドで最適化の処理中であっても、変更があったコンテンツの最適化を優先的に実行するように指示します。

使用例

pst watch on

パラメータ

on
プロファイル監視プロセスを起動します。
off
プロファイル監視プロセスを終了します。
restart
プロファイル監視プロセスを再起動します。

opt [dir | file] [--force] [--priority]

Page Speed Technologyのコンテンツ最適化を実行
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyのコンテンツ最適化を実行します。
このコマンドはコンテンツ最適化プロセスに実行を指示します。そのため、コンテンツ最適化プロセスが起動されていない場合、コンテンツ最適化プロセスが起動されるまで実行は保留されます。
このコマンドでは後述の opt_image, opt_js, opt_css を一度に実行できます。

使用例

pst opt /wp-content/uploads

パラメータ

[dir | file]
コンテンツ最適化を行う対象のディレクトリ、または、ファイルを指定します。
パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
省略した場合には、DocumentRoot配下のコンテンツ最適化が行える全てのファイルが対象となります。

[--force]
強制的にコンテンツ最適化を行います。
デフォルトでは、既にコンテンツ最適化済のファイルが存在し、コンテンツに変更がない場合は再度実行しません。
[--priority]
最優先でコンテンツ最適化を行います。既に他のコンテンツ最適化が実行中であったとしても、このコマンドで指定したコンテンツの最適化を優先的に実行します。
デフォルトでは、コンテンツ最適化のコマンドを実行した順番で処理されます。また、プロファイル監視プロセスによるリアルタイムのコンテンツ最適化が実行中の場合、一連の最適化が完了した後に実行されます。

opt_image [dir | file] [--force] [--priority]

Page Speed Technologyの画像最適化を実行
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyの画像最適化を実行します。
このコマンドはコンテンツ最適化プロセスに実行を指示します。そのため、コンテンツ最適化プロセスが起動されていない場合、コンテンツ最適化プロセスが起動されるまで実行は保留されます。

使用例

pst opt_image /wp-content/uploads

パラメータ

[dir | file]
画像最適化を行う対象のディレクトリ、または、ファイルを指定します。
パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
省略した場合には、DocumentRoot配下の画像最適化が行える全てのファイルが対象となります。

[--force]
強制的に画像最適化を行います。
デフォルトでは、既に画像最適化済のファイルが存在し、画像に変更がない場合は再度実行しません。
[--priority]
最優先でコンテンツ最適化を行います。既に他のコンテンツ最適化が実行中であったとしても、このコマンドで指定したコンテンツの最適化を優先的に実行します。
デフォルトでは、コンテンツ最適化のコマンドを実行した順番で処理されます。また、プロファイル監視プロセスによるリアルタイムのコンテンツ最適化が実行中の場合、一連の最適化が完了した後に実行されます。

opt_js [dir | file] [--force] [--priority]

Page Speed TechnologyのJavaScript最適化を実行
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed TechnologyのJavaScript最適化を実行します。
このコマンドはコンテンツ最適化プロセスに実行を指示します。そのため、コンテンツ最適化プロセスが起動されていない場合、コンテンツ最適化プロセスが起動されるまで実行は保留されます。

使用例

pst opt_js /wp-content/uploads

パラメータ

[dir | file]
JavaScript最適化を行う対象のディレクトリ、または、ファイルを指定します。
パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
省略した場合には、DocumentRoot配下のJavaScript最適化が行える全てのファイルが対象となります。

[--force]
強制的にJavaScript最適化を行います。
デフォルトでは、既にJavaScript最適化済のファイルが存在し、JavaScriptに変更がない場合は再度実行しません。
[--priority]
最優先でコンテンツ最適化を行います。既に他のコンテンツ最適化が実行中であったとしても、このコマンドで指定したコンテンツの最適化を優先的に実行します。
デフォルトでは、コンテンツ最適化のコマンドを実行した順番で処理されます。また、プロファイル監視プロセスによるリアルタイムのコンテンツ最適化が実行中の場合、一連の最適化が完了した後に実行されます。

opt_css [dir | file] [--force] [--priority]

Page Speed Technologyのスタイルシート最適化を実行
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyのスタイルシート最適化を実行します。
このコマンドはコンテンツ最適化プロセスに実行を指示します。そのため、コンテンツ最適化プロセスが起動されていない場合、コンテンツ最適化プロセスが起動されるまで実行は保留されます。

使用例

pst opt_css /wp-content/uploads

パラメータ

[dir | file]
スタイルシート最適化を行う対象のディレクトリ、または、ファイルを指定します。
パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
省略した場合には、DocumentRoot配下のスタイルシート最適化が行える全てのファイルが対象となります。

[--force]
強制的にスタイルシート最適化を行います。
デフォルトでは、既にスタイルシート最適化済のファイルが存在し、スタイルシートに変更がない場合は再度実行しません。
[--priority]
最優先でコンテンツ最適化を行います。既に他のコンテンツ最適化が実行中であったとしても、このコマンドで指定したコンテンツの最適化を優先的に実行します。
デフォルトでは、コンテンツ最適化のコマンドを実行した順番で処理されます。また、プロファイル監視プロセスによるリアルタイムのコンテンツ最適化が実行中の場合、一連の最適化が完了した後に実行されます。

uncss [dir | file] [--force] [--priority]

Page Speed Technologyのスタイルシート最適化を実行
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyのスタイルシート最適化を実行します。
このコマンドはコンテンツ最適化プロセスに実行を指示します。そのため、コンテンツ最適化プロセスが起動されていない場合、コンテンツ最適化プロセスが起動されるまで実行は保留されます。

※注意※
空白・改行などを取り除くopt_cssに対して、uncssコマンドでは使用されていないセレクタを取り除くより強い最適化を行います。
JavaScriptなどで動的にセレクタを変更しているWebサイトでは、最適化後に正しく動作しないことがあります。
使用されているセレクタが取り除かれないように、Webサイトに合わせてuncss/postcss.config.jsを
用意し、コマンドを実行してください。
uncss/postcss.config.jsについては、後述のRPAコマンドを参照してください。

使用例

pst uncss /wp-content/uploads

パラメータ

[dir | file]
スタイルシート最適化を行う対象のディレクトリ、または、ファイルを指定します。
パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
省略した場合には、DocumentRoot配下のスタイルシート最適化が行える全てのファイルが対象となります。

[--force]
強制的にスタイルシート最適化を行います。
デフォルトでは、既にスタイルシート最適化済のファイルが存在し、スタイルシートに変更がない場合は再度実行しません。
[--priority]
最優先でコンテンツ最適化を行います。既に他のコンテンツ最適化が実行中であったとしても、このコマンドで指定したコンテンツの最適化を優先的に実行します。
デフォルトでは、コンテンツ最適化のコマンドを実行した順番で処理されます。また、プロファイル監視プロセスによるリアルタイムのコンテンツ最適化が実行中の場合、一連の最適化が完了した後に実行されます。

-V | -version | version

Page Speed Technologyのバージョンを表示
コマンドを実行したKUSANAGIのプロファイルにおけるPage Speed Technologyのバージョン (Profile) とインストールされているサーバのPage Speed Technologyのバージョン (Global) を表示します。

yumコマンドなどでアップデートした場合、インストールされているサーバのPage Speed Technologyのバージョン (Global) はアップデートされます。
しかし、KUSANAGIのプロファイルにおけるPage Speed Technologyのバージョン (Profile) は
アップデートされず、pst initコマンドでPage Speed Technologyの初期設定を行った時のバージョンのままとなります。
KUSANAGIのプロファイルのPage Speed Technologyをアップデートするためには、インストールされているサーバのPage Speed Technologyをアップデートした後に、再度pst initコマンドを実行してください。

使用例

pst version

パラメータ

なし

-h | --help | help

Page Speed Technologyのヘルプを表示
コマンドを実行したKUSANAGIのプロファイルにおけるPage Speed Technologyのヘルプを表示します。

使用例

pst help

パラメータ

なし

out on | off

Page Speed Technologyの出力パスへのリンクを作成/削除
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyが出力するファイルをプロファイルのWebサイトから直接参照できるようにするリンクの作成/削除を行います。

使用例

pst out on

パラメータ

on
リンクを作成します。
リンクを作成すると、出力されたファイルを以下のURLから参照できます。

例:プロファイルのURL/out/出力されたファイル
https://www.wexal.jp/out/screenshot.jpg

off
リンクを削除します。
リンクを削除した後は、URLで出力されたファイルを参照することができなくなります。

lighthouse url

Lighthouseによるウェブページのパフォーマンス監査を実行
Lighthouseによるウェブページのパフォーマンス監査を実行を行います。
実行結果は、wexal/userdir/out配下に出力されます。
pst outコマンドにより、プロファイルのWebサイトから直接参照することもできます。

使用例

pst lighthouse https://www.wexal.jp/

パラメータ

なし

RPA screenshot | linklist url

Chromiumによるウェブページ操作の自動化
Chromiumによるウェブページ操作の自動化を行います。
実行結果は、wexal/userdir/out配下に出力されます。
pst outコマンドにより、プロファイルのWebサイトから直接参照することもできます。

使用例

pst RPA screenshot https://www.wexal.jp/

パラメータ

screenshot
Webサイトのスクリーンショットを作成します。

linklist
Webサイトのリンク一覧を作成します。

RPA yamldiff

pst.config.yamlファイルの差分をとる
pst.name.config.yamlの差分を見ることができます。

使用例

pst RPA yamldiff pst.stg.config.yaml pst.name.config.yaml

パラメータ

なし

RPA console

pst=on/offのエラーコンソールを比較する
デバイス別に、pst=onとpst=offにおけるJavaScriptのエラーコンソールを比較します。

使用例

pst RPA console https://www.prime-strategy.co.jp

パラメータ

なし

AI config [--diagnosis] [--benchmark] [--url url] [--depth n] [--list filename] [--no-redirect] [--voyage] [--voyage-on-error] [--voyage-on-redirect] [--timeout n] [--lua] [--wp] [--classify] [--configname name] [--no-lighthouseLcp] [--no-ignoreAnalytics]

Page Speed TechnologyのAI処理を制御
コマンドを実行したKUSANAGIのプロファイルにおいて、自動的にWebサイトを解析して最適なPage Speed Technologyの制御をします。

使用例

pst AI config

パラメータ

[--diagnosis]
詳細な分析情報を出力します。
[--benchmark]
Nautilus、Logbook使用時の実行時間を表示します。
[--url url]
解析するWebサイトのトップURLを指定します。省略した場合は、KUSANAGIのプロファイルのトップURLとなります。
[--depth n]
Webサイトを解析する際に、トップURLから辿るリンクの階層数を指定します。デフォルトは2階層です。つまり、トップページからリンクされている次のページまで分析します。
[--list filename]
Nautilusで出航する先のURLを指定できます。1行1URLでリストを書いたテキストファイルを指定します。--list指定時はdepthが自動的に1になります。
[--no-redirect]
リダイレクト先のクロールをしないようになります。ただし、その結果クロールするHTMLがなくなった場合はconfig生成がエラーになります。
[--voyage]
Webサイトの解析を行う際にキャッシュを利用せずに、必ずサイトにアクセスして情報を取得します。省略した場合は、キャッシュを優先的に使用して解析します。
[--voyage-on-error]
Webサイトの解析を行う際にキャッシュにエラーがあった場合のみ、キャッシュを利用せずに、サイトにアクセスして情報を取得します。
[--voyage-on-redirect]
Webサイトの解析を行う際にキャッシュにリダイレクトがあった場合のみ、キャッシュを利用せずに、サイトにアクセスして情報を取得します。
[--timeout n]
Webサイトの解析を行う際に、Webページを取得するタイムアウト時間を秒で設定します。0を指定した場合はWebページからレスポンスがあるまで待ち続けます。デフォルトは30です。
[--lua]
Page Speed Technologyの設定をluaディレクティブで生成します。Page Speed Technologyの設定のデフォルトの動作は、luaディレクティブとなります。[--lua] および [--wp] を両方とも省略した場合は、luaディレクティブで生成します。
[--wp]
Page Speed Technologyの設定をwpディレクティブで生成します。[--lua] および [--wp] を両方とも指定した場合は、wpディレクティブで生成します。
[--classify]
JavaScriptの解析を行います。解析結果は、Logbookに保存します。
[--configname name]
Page Speed Technologyの設定を指定した名前で生成します。
[--no-lighthouseLcp]
link lcp preloadディレクティブのための、Lighthouseを用いたLCP(Largest Contentfut Paint)の解析を止めます。デフォルトでは解析を行います。
[--no-ignoreAnalytics]
AI configによるサイトの解析時に、www.google-analytics.comへのリクエストを許可します。デフォルトではGoogle Analyticsでカウントされないように、www.google-analytics.comへのリクエストをブロックします。
[--tidy]
デフォルトで実行されるようになりました。
[--console n]
デフォルトで実行されるようになりました。
[--discard]
このオプションは、[--voyage-on-error]に引き継がれました。
[--file filename]
廃止されました。
[--outfile filename]
廃止されました。
[--std]
廃止されました。
[--device name]
廃止されました。
[--v1_2_1]
廃止されました。

bcache clear

KUSANAGIのbcacheの操作
コマンドを実行したKUSANAGIのプロファイルにおいて、KUSANAGIのbcacheを操作します。
KUSANAGIコマンドと異なり、KUSANAGIコマンドのカレントプロファイルに関わらずコマンドを実行したKUSANAGIのプロファイルが対象となります。そのため、bcacheの操作のためにKUSANAGIコマンドのカレントプロファイルを変更する必要がありません。

使用例

pst bcache clear

パラメータ

clear
KUSANAGIのbcacheを削除します。

fcache clear

KUSANAGIのfcacheの操作
コマンドを実行したKUSANAGIのプロファイルにおいて、KUSANAGIのfcacheを操作します。
KUSANAGIコマンドと異なり、KUSANAGIコマンドのカレントプロファイルに関わらずコマンドを実行したKUSANAGIのプロファイルが対象となります。そのため、fcacheの操作のためにKUSANAGIコマンドのカレントプロファイルを変更する必要がありません。

使用例

pst fcache clear

パラメータ

clear
KUSANAGIのfcacheを削除します。

cron on | off

Page Speed Technologyのスケジュール実行
コマンドを実行したKUSANAGIのプロファイルにおいて、pstコマンドのスケジュール実行を制御します。

使用例

pst cron on

パラメータ

on
スケジュール実行を有効化します。
off
スケジュール実行を無効化します。

purge --all | --excluded [-y] [dir]

Page Speed Technologyの不要な最適化コンテンツのパージ
コマンドを実行したKUSANAGIのプロファイルにおいて、不要になった最適化コンテンツのパージを実行します。

使用例

pst purge --all --reverseproxy /wp-content/themes
pst purge --excluded /wp-content/themes

パラメータ

--all
すべての最適化コンテンツのパージを実行します。
また、proxyディレクティブによりローカルにプロキシした外部リソース(img, css, js)のパージも合わせて実行します。

--excluded
何らかの理由によって最適化対象から除外された、最適化済のファイルが元のファイルよりも古いなどの不要となった最適化コンテンツのパージを実行します。最新の最適化済のファイルに対しては何もしません。

[-y]
[--all] が指定され -y を指定しない場合、最適化コンテンツのパージする際にy/nを入力します。
-y を指定する場合、y/n を入力することなくパージを実行します。

[dir]
パージを行う対象のディレクトリを指定します。
パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
省略した場合には、DocumentRoot配下の最適化が行える全てのファイルが対象となります。

runner on | off | restart

Page Speed Technologyの最適化プロセスの制御
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyの最適化プロセスを制御します。
コンテンツ最適化は多重で実行されます。多重度はPage Speed Technologyがインストールされたサーバのコア数となります。
コンテンツ最適化プロセスが起動されていない場合、コンテンツ最適化プロセスが起動されるまでコンテンツ最適化の実行は保留されます。

使用例

pst runner on

パラメータ

on
最適化プロセスを起動します。
off
最適化プロセスを終了します。
restart
最適化プロセスを再起動します

remove [-y]

プロファイルからPage Speed Technologyを削除
コマンドを実行したKUSANAGIのプロファイルにおいて、Page Speed Technologyの削除します。
これにより、Page Speed Technologyを適用する以前のKUSANAGIプロファイル環境に戻すことができます。

使用例

pst remove

パラメータ

[-y]
-y を指定しない場合、Page Speed Technologyを削除する際にy/nを入力します。
-y を指定する場合、y/n を入力することなくすべて削除します。