Cloudways WooCommerce: từ cài đặt cửa hàng trực tuyến nhỏ đến loại trừ giỏ hàng và thanh toán khỏi cache

Cloudways WooCommerce là cửa hàng trực tuyến chạy bằng cách cài plugin WooCommerce vào ứng dụng WordPress trên máy chủ Cloudways. Để thử cửa hàng trực tuyến của một tiệm nhỏ, WooCommerce được cài vào WordPress của máy chủ thử nghiệm Vultr Seoul 1GB và chạy tới đơn hàng thử. Các trang giỏ hàng, thanh toán và tài khoản của tôi tự động được loại trừ khỏi cache, và byte đầu tiên của trang sản phẩm giảm từ 532.4ms xuống 54.9ms nhờ cache Breeze.
1️⃣ Cài WooCommerce trên Cloudways
Có vẻ cửa hàng trực tuyến cần một ứng dụng riêng, nhưng chỉ cần thêm plugin WooCommerce vào ứng dụng WordPress có sẵn là cửa hàng đã mở. Trên máy chủ thử nghiệm cũng không tạo ứng dụng mới mà cài plugin vào ứng dụng WordPress hiện có.
Việc cài đặt được thực hiện bằng cách kết nối SSH vào ứng dụng rồi chạy wp-cli, ngoài ra cũng có thể cài từ menu thêm plugin trong trang quản trị WordPress.
wp plugin install woocommerce --activateInstalling the plugin...
Plugin installed successfully.
Activating 'woocommerce'...
Plugin 'woocommerce' activated.
Success: Installed 1 of 1 plugins.Cài và kích hoạt mất 30 giây, thư mục plugin nặng 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-policyKhi kích hoạt, WooCommerce tạo năm trang: cửa hàng (Shop), giỏ hàng (Cart), thanh toán (Checkout), tài khoản của tôi (My account) và chính sách hoàn tiền.
2️⃣ Thiết lập cơ bản: quốc gia bán hàng, tiền tệ và phương thức thanh toán
Dù các trang đã được tạo, cửa hàng vừa cài vẫn đặt địa chỉ ở California, Hoa Kỳ và tiền đô la Mỹ, nên một cửa hàng ở Hàn Quốc sẽ bắt đầu bằng việc đổi quốc gia bán hàng và tiền tệ.
| Cài đặt | Ngay sau khi cài | Giá trị đã đổi |
|---|---|---|
| Quốc gia bán hàng (Country / State) | California, Hoa Kỳ | Hàn Quốc |
| Tiền tệ (Currency) | Đô la Mỹ (USD) | Won Hàn Quốc (KRW) |
| Chuyển khoản ngân hàng (Direct bank transfer) | Tắt | Bật |
| Séc (Check payments) | Tắt | Tắt |
| Thanh toán khi nhận hàng (Cash on delivery) | Tắt | Tắt |
Đồng won không có phần thập phân, nên đổi [Number of decimals] thành 0 rồi lưu bằng [Save changes]. Ngay sau khi cài có ba phương thức thanh toán là chuyển khoản ngân hàng, séc và thanh toán khi nhận hàng, và để làm đơn thử chỉ bật chuyển khoản ngân hàng. Trên màn hình, bạn bấm [Enable] của [Direct bank transfer] trong [Take offline payments] ở tab [Payments].
Thanh toán bằng thẻ không có trong danh sách thanh toán ngoại tuyến. Sau khi đổi quốc gia bán hàng sang Hàn Quốc, màn hình [Payments] hiển thị Visa Acceptance Solutions và PayPal Payments kèm nút [Install], và muốn bán bằng thẻ thì phải cài một trong các plugin cổng thanh toán như vậy.
3️⃣ Thêm sản phẩm và đơn hàng thử: từ giỏ hàng đến đơn chuyển khoản ngân hàng
Có đơn hàng không có nghĩa là đã thanh toán xong. Đơn chuyển khoản ngân hàng được lưu ở trạng thái [On hold] cho đến khi xác nhận tiền đã về.
Sản phẩm thử được thêm với giá 15.000 won và tồn kho 10, rồi được bỏ vào giỏ hàng và đặt bằng chuyển khoản ngân hàng giống như cách khách truy cập vẫn làm.
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Đơn hàng được ghi với trạng thái on-hold và phương thức thanh toán chuyển khoản ngân hàng (bacs), còn tồn kho bị trừ từ 10 xuống 9 ngay lúc đặt hàng dù chưa thanh toán.
4️⃣ Loại trừ cache cho WooCommerce: địa chỉ giỏ hàng, thanh toán và tài khoản của tôi
Cache trang hợp với trang cửa hàng và trang sản phẩm, nhưng không hợp với giỏ hàng, thanh toán và tài khoản của tôi vốn có nội dung khác nhau với từng khách. Đưa giỏ hàng ra khỏi cache giống như nhãn giá trên kệ có thể in sẵn, còn hóa đơn ở quầy tính tiền thì in mới cho từng khách. Ngay cả khi chưa bật plugin cache, WooCommerce đã gửi header phản hồi yêu cầu không cache cho ba trang này.
curl -sI https://example.com/cart/ | grep -i cache-controlcache-control: no-cache, must-revalidate, max-age=0, privateKhi bật plugin cache Breeze, vốn được cài cùng ứng dụng Cloudways, với thiết lập mặc định, ô địa chỉ loại trừ trên màn hình cài đặt vẫn trống, nhưng tệp cấu hình của Breeze đã ghi ba địa chỉ này vào danh sách loại trừ.
grep -A4 exclude_url wp-content/breeze-config/breeze-config.php 'exclude_url' =>
array (
0 => '/cart/*',
1 => '/checkout/*',
2 => '/my-account/*',Từ một máy chủ khác ở Seoul, mỗi địa chỉ được yêu cầu 10 lần để đo trung vị thời gian đến byte đầu tiên (TTFB), và Varnish của ứng dụng ở trạng thái tắt.
| Địa chỉ | Tắt cache | Bật Breeze |
|---|---|---|
| Cửa hàng /shop/ | 484.7ms | 55.2ms |
| Sản phẩm /product/test-mug/ | 532.4ms | 54.9ms |
| Giỏ hàng /cart/ | 506.7ms | 496.9ms |
| Tài khoản của tôi /my-account/ | 507.4ms | 377.0ms |
Khi bật Breeze, trang cửa hàng và trang sản phẩm phản hồi trong khoảng 55ms, còn trang giỏ hàng và tài khoản của tôi được PHP tạo mới mỗi lần mà không có cache và mất 377–497ms.
5️⃣ Phạm vi đã kiểm tra trên máy chủ thử nghiệm 1GB: khi nào không hợp với cửa hàng nhỏ
Dù trang sản phẩm được tăng tốc bằng cache, giỏ hàng và thanh toán vẫn do PHP xử lý mỗi khi có đơn hàng. Máy chủ thử nghiệm lần này chỉ kiểm tra việc cài đặt, đặt hàng và loại trừ cache với một sản phẩm và một đơn hàng thử, nên cửa hàng có lượng đơn tăng khiến yêu cầu giỏ hàng và thanh toán nhiều lên thì nên cân nhắc thêm tính năng Thay đổi kích thước server.
Phiên bản PHP cũng là mục cần kiểm tra. PHP 8.2.34 trên máy chủ thử nghiệm chưa đạt mức khuyến nghị của tài liệu chính thức WooCommerce (PHP 8.3 trở lên), nhưng việc cài đặt và đặt hàng vẫn hoạt động.
Trên máy chủ thử nghiệm Vultr Seoul 1GB, cài WooCommerce mất 30 giây, đơn hàng thử được lưu ở trạng thái [On hold], và byte đầu tiên của trang sản phẩm là 54.9ms với Breeze, so với 496.9ms của giỏ hàng. Bước tiếp theo là kết nối plugin cổng thanh toán ở chế độ thử rồi đặt lại cùng đơn hàng đó bằng thẻ.
🔢 FAQ & nội dung đề xuất
















ℹ️ Thông báo tiếp thị liên kết
Nội dung trên trang này có chứa liên kết affiliate (tiếp thị liên kết). Khi khách truy cập mua sản phẩm hoặc dịch vụ qua các liên kết này, trang sẽ nhận hoa hồng từ bên bán. Trong quá trình đó, số tiền người mua phải trả (sẽ giảm khi có chương trình khuyến mãi ↓) không hề tăng lên. Giá, khuyến mãi và tình trạng hàng được đăng theo thời điểm viết bài và có thể khác với thực tế, vì vậy hãy kiểm tra lại lần cuối với bên bán trước khi mua. Việc chọn và đánh giá sản phẩm dựa trên tiêu chí riêng của trang; việc có nhận hoa hồng hay không không ảnh hưởng đến thứ tự giới thiệu hay nội dung đánh giá.