Cloudways WooCommerce:小さなオンラインショップの設置からカート・決済ページのキャッシュ除外まで

Cloudways WooCommerceは、CloudwaysサーバーのWordPressアプリケーションにWooCommerceプラグインをインストールして運営するオンラインショップです。小さなお店のネットショップを試すため、Vultrソウル1GBのテストサーバーのWordPressにWooCommerceをインストールし、テスト注文まで進めました。カートと決済、マイアカウントのページは自動でキャッシュから除外され、商品ページの最初のバイトはBreezeのキャッシュで532.4msから54.9msに短くなりました。
1️⃣ Cloudways WooCommerceのインストール
ネットショップには専用のアプリケーションを別に作る必要がありそうですが、既存のWordPressアプリケーションにWooCommerceプラグインを追加すればショップが開きます。テストサーバーでも新しいアプリケーションは作らず、既存のWordPressアプリケーションにプラグインとしてインストールしました。
インストールはアプリケーションに SSHで接続してwp-cliで行いました。WordPress管理画面のプラグイン追加メニューからもインストールできます。
wp plugin install woocommerce --activateInstalling the plugin...
Plugin installed successfully.
Activating 'woocommerce'...
Plugin 'woocommerce' activated.
Success: Installed 1 of 1 plugins.インストールと有効化に30秒かかり、プラグインフォルダーは72MBでした。
wp post list --post_type=page --fields=ID,post_title,post_name --format=csvID,post_title,post_name
7,Shop,shop
8,Cart,cart
9,Checkout,checkout
10,My account,my-account
11,Refund and Returns Policy,refund_returns
2,Sample Page,sample-page
3,Privacy Policy,privacy-policyWooCommerceは有効化と同時に、ショップ(Shop)とカート(Cart)、決済(Checkout)、マイアカウント(My account)、返金ポリシーの5つのページを作りました。
2️⃣ 基本設定:販売国・通貨・支払い方法
ページができても、インストール直後のショップはアメリカ・カリフォルニアの住所と米ドルに設定されているため、韓国のお店なら販売国と通貨から変えることになります。
| 設定 | インストール直後 | 変更した値 |
|---|---|---|
| 販売国(Country / State) | アメリカ・カリフォルニア | 韓国 |
| 通貨(Currency) | 米ドル(USD) | 韓国ウォン(KRW) |
| 銀行振込(Direct bank transfer) | オフ | オン |
| 小切手(Check payments) | オフ | オフ |
| 代金引換(Cash on delivery) | オフ | オフ |
ウォンには小数点がないため、[Number of decimals]を0に変えて[Save changes]で保存します。インストール直後の支払い方法は銀行振込と小切手、代金引換の3つで、テスト注文のために銀行振込だけを有効にしました。画面では[Payments]タブの[Take offline payments]で[Direct bank transfer]の[Enable]を押します。
カード決済はオフライン決済の一覧にありません。[Payments]画面には、販売国を韓国に変えた後、Visa Acceptance SolutionsとPayPal Paymentsが[Install]ボタンとともに表示され、カードで販売するにはこうした 決済代行プラグインをインストールすることになります。
3️⃣ 商品登録とテスト注文:カートから銀行振込の注文まで
注文が入っても支払いが終わったわけではありません。銀行振込の注文は、入金を確認するまで[On hold]の状態で保存されます。
テスト商品は価格15,000ウォン、在庫10個で登録し、訪問者と同じ方法でカートに入れて銀行振込で注文しました。
wp wc shop_order list --user=1 --fields=id,status,total,payment_method --format=csvid,status,total,payment_method
13,on-hold,15000,bacswp wc product get 12 --user=1 --fields=id,price,stock_quantity --format=csvField,Value
id,12
price,15000
stock_quantity,9注文状態はon-hold、支払い方法は銀行振込(bacs)として記録され、支払い前なのに在庫は注文時点で10個から9個に減りました。
4️⃣ WooCommerceのキャッシュ除外:カート・決済・マイアカウントのURL
ページキャッシュはショップと商品ページには向いていますが、訪問者ごとに内容が違うカートと決済、マイアカウントのページには向いていません。カートをキャッシュから外すのは、陳列棚の値札は前もって印刷しておいても、レジのレシートはお客さんごとに新しく出すのと同じです。キャッシュプラグインを有効にしていない状態でも、WooCommerceはこの3つのページにキャッシュしないよう指示する応答ヘッダーを送りました。
curl -sI https://example.com/cart/ | grep -i cache-controlcache-control: no-cache, must-revalidate, max-age=0, privateCloudwaysのアプリケーションに一緒にインストールされているキャッシュプラグインBreezeを既定値で有効にすると、設定画面の除外URL欄は空でしたが、Breezeの設定ファイルには3つのURLが除外リストとして記録されました。
grep -A4 exclude_url wp-content/breeze-config/breeze-config.php 'exclude_url' =>
array (
0 => '/cart/*',
1 => '/checkout/*',
2 => '/my-account/*',ソウルにある別のサーバーからURLごとに10回リクエストして最初のバイトまでの時間(TTFB)の中央値を測り、アプリケーションのVarnishはオフの状態でした。
| アドレス | キャッシュなし | Breeze有効 |
|---|---|---|
| ショップ /shop/ | 484.7ms | 55.2ms |
| 商品 /product/test-mug/ | 532.4ms | 54.9ms |
| カート /cart/ | 506.7ms | 496.9ms |
| マイアカウント /my-account/ | 507.4ms | 377.0ms |
Breezeを有効にすると、ショップと商品ページは55ms前後で応答し、カートとマイアカウントのページはキャッシュなしで毎回PHPが作るため377〜497msでした。
5️⃣ 1GBテストサーバーで確かめた範囲:小さなショップに合わない場合
商品ページをキャッシュで速くしても、カートと決済は注文が入るたびにPHPが処理します。今回のテストサーバーは商品1つとテスト注文1つでインストールと注文、キャッシュ除外まで確かめた範囲で、注文が増えてカートと決済のリクエストが多くなるショップは サーバーサイズ変更もあわせて検討することになります。
PHPのバージョンも確認すべき項目です。テストサーバーのPHP 8.2.34はWooCommerce公式ドキュメントの推奨(PHP 8.3以上)に届きませんが、インストールと注文は動作しました。
Vultrソウル1GBのテストサーバーでは、WooCommerceのインストールは30秒、テスト注文は[On hold]の状態で保存され、商品ページの最初のバイトはBreezeで54.9ms、カートは496.9msでした。次の段階は、決済代行プラグインをテストモードで接続し、同じ注文をカード決済でもう一度入れてみることです。
🔢 FAQ & おすすめコンテンツ














ℹ️ 提携について
当サイトのコンテンツにはアフィリエイトリンクが含まれています。訪問者がこのリンクを通じて商品やサービスを購入すると、当サイトは販売元から手数料を受け取ります。この過程において、購入者が支払う金額(イベント割引適用で金額が下がります↓)は上昇しません。掲載されている価格・割引・在庫情報は作成時点のものであり、実際とは異なる場合がありますので、ご購入前に販売元にて最終確認をお願いいたします。商品の選定および評価は独自の基準に基づいて行われており、手数料の支払いの有無は紹介順や評価内容に影響を与えません。

