Skip to main content
Jason Finance
AI Startup

Maintaining a WooCommerce Store with Claude Code: How SSH, WP-CLI and MCP Split the Work, No Coding Required (Jason Career Case Study)

On this page
  1. 1.What on an online store can go to Claude Code, and what needs human review
  2. 2.Case 1: A read-only inventory of plugins and payments with WP-CLI, without touching keys
  3. 3.Case 2: Don’t let the Cloudflare firewall block payment callbacks
  4. 4.Case 3: Bank transfer orders, and purchases GA4 missed
  5. 5.WordPress MCP, WooCommerce MCP, Cloudways MCP: what is officially available now
  6. 5.1Why Jason Career still uses SSH and WP-CLI
  7. 6.A safety checklist before letting AI change a store
  8. FAQ

Disclosure: this page links to Cloudways. If you sign up through it, Cloudways may pay Jason Finance a commission. It does not raise the price you pay.

Jason Career is my WordPress site where I sell ebooks, online courses and consulting services, and the store runs on WooCommerce. Since October 2026, day-to-day maintenance has been Claude Code’s job: it connects to the server over SSH and uses WP-CLI, the WordPress command-line tool, to look up data and change settings. How the first 10 days started and what got done is in Running WordPress Without Knowing SSH. This post covers only the store side: payments, checkout, caching, the firewall, and the WordPress MCP that many people have been asking about lately.

The short version: on an online store, I let Claude Code handle read-only checks, cache clearing and backed-up settings changes on its own, and I confirm everything involving payments, checkout, prices and customer data. As for tools, as of 29 October 2026 Jason Career uses only SSH and WP-CLI and has not installed any MCP. WordPress, WooCommerce and Cloudways all have official MCPs now, each suited to different jobs; the summary below follows their official documentation.

This is a maintenance record of my own website, plus the official Anthropic, WordPress, WooCommerce and Cloudways documentation I checked on 29 October 2026. Plugin versions, MCP features and each vendor’s interface will change, so check the official documentation before doing anything. This post is not security or legal advice.

3 categories
Sorted by whether a mistake touches money or customer data; payments, checkout, prices and customer data always need my review
About 13 → 0.5
Server load after Cloudflare firewall rules were added
SSH + WP-CLI
The tools used as of 29 October 2026; no MCP installed

What on an online store can go to Claude Code, and what needs human review

When an ordinary blog breaks, the worst case is usually a messed-up page layout. When a store breaks, a customer might pay and never receive the course, or the checkout page might not load at all. So I sort the work into three categories by one question: if this goes wrong, does it touch money or customer data?

Category Examples Who decides
Read-only checks Listing plugins and versions, checking whether payment plugins are active, counting orders by status (without viewing personal data), reading error logs Claude Code does it on its own and reports back
Reversible maintenance Clearing the WP Rocket and Varnish caches, adjusting firewall rules, backed-up changes to general settings Scope and risk explained once before work starts, then it proceeds
Touches money or personal data Payment plugin settings, turning payment methods on or off, checkout page fields, product prices and discounts, member and order data, exporting customer data Each item waits until I have reviewed it

Claude Code can technically do the third category too, but if it gets something wrong, the customers pay the price. Whether to switch off a payment method, for example, depends on customer habits and the payment provider contract, which AI cannot see.

Case 1: A read-only inventory of plugins and payments with WP-CLI, without touching keys

Timeline: 13 Oct, the server now sends the GA4 purchase event when an order changes to paid; 24 Oct, crawlers bring the server down, and after Cloudflare firewall rules are then added, load drops from about 13 to around 0.5, with payment callback URLs exempt from human verification; 24 and 26 Oct, a few unable to process callback log entries each, which turn out to be empty test requests; 29 Oct, a read-only WP-CLI inventory finds two PAYUNi credit card options at checkout
From Jason Career's maintenance log, October 2026

On 29 October, I asked Claude Code to put together Jason Career’s payment and server information. On the live site it used only read-only commands, such as listing active plugins (WP-CLI’s wp plugin list), and then checked which WooCommerce payment methods were switched on.

The inventory (29 October 2026):

Item Status
Environment WordPress 7.1.4, WooCommerce 11.2.1, PHP 8.4
Active plugins 62
Payment methods offered at checkout PAYUNi (credit card, Apple Pay, UnionPay card), LINE Pay, bank transfer (shown only for service products)
Switched off All ECPay payment methods, PAYUNi’s ATM, convenience store payment code and other methods, Stripe
E-invoices Not issued automatically by the site

The whole report contains no API keys, merchant IDs, HashKey, HashIV, passwords, customer personal data or order details. Payment plugin settings store exactly these values, so even “reading the settings” needs ground rules up front: look only at which payment methods are on, never read out the key fields, and never paste them into the chat or a document.

The inventory also turned up something I hadn’t noticed: the checkout page showed two PAYUNi credit card options at the same time, one from PAYUNi Pro for WooCommerce and one from Pay with PAYUNi, two separate plugins. Customers seeing two near-identical options may not know which one to pick.

This falls into the third category. Which one to switch off affects the checkout page and the existing payment flow, so Claude Code only reported it and left the decision to me.

Case 2: Don’t let the Cloudflare firewall block payment callbacks

On 24 October, a flood of crawlers brought Jason Career down: the server ran out of memory and crashed, and the checkout page went down with it. After Cloudflare firewall rules were added, server load dropped from about 13 to around 0.5.

The thing to watch most when adding the rules was payment callbacks. When a customer finishes paying with PAYUNi or LINE Pay, the payment provider’s server calls a URL on the site to report that the order has been paid. These requests don’t come from a person, so they can’t pass a human verification challenge; if they are blocked, the customer has paid but the order never changes to paid. That is why the rules specifically exempt these three URL patterns from human verification:

  • /wc-api/
  • ?wc-api=
  • /wp-json/

Afterwards, a few “unable to process callback” entries appeared in the payment provider’s dashboard logs, a few each on 24 and 26 October. On checking, they were empty requests we had sent to the callback URL while testing the firewall, not errors on real orders; the logs also showed no case of “payment completed but the order not updated”.

Caching has to be thought about in layers as well: Cloudways has Varnish at the server level, and clearing only WP Rocket may not clear it, so after changing settings both layers need clearing. Details in Cloudways Varnish and WP Rocket, Two Cache Layers.

For a comparison of the plugins, fees and payout times of PAYUNi, LINE Pay and ECPay, see Choosing WooCommerce Payment Gateways in Taiwan.

Case 3: Bank transfer orders, and purchases GA4 missed

Jason Career’s service products can be paid by bank transfer. A transfer is paid afterwards: the customer has long since left the thank-you page after ordering, so by the time we confirm the payment, the browser-side tracking code no longer has a chance to run, and GA4 misses the purchase.

On 13 October this was changed so that the server sends the purchase event when an order changes to “paid”. A change like this touches the order flow but doesn’t change prices or payment methods, so I put it in the second category: explain the scope before starting, verify after the change.

WordPress MCP, WooCommerce MCP, Cloudways MCP: what is officially available now

MCP (Model Context Protocol) is an open standard for connecting AI to external systems. In Claude Code, claude mcp add adds an MCP server, and /mcp shows its status and handles sign-in (Claude Code official documentation). These are the official options I found on 29 October 2026:

Name Made by Covers Status and limits
MCP Adapter WordPress.org (GitHub) Exposes the site’s abilities (Abilities API) to AI Version 0.7.1, requires WordPress 6.9 or later; abilities are not exposed by default and appear only once marked public; signs in as a WordPress user, and the usual permission checks still apply
WooCommerce MCP WooCommerce Products and orders Developer preview, needs the MCP Adapter installed separately; remote connections use a WordPress account plus an application password
WordPress.com MCP WordPress.com Site content on WordPress.com Self-hosted sites need a Jetpack connection (Jason Career does not have Jetpack installed); read-only or full access available
Cloudways MCP Cloudways Hosting level: servers, applications, deployment, backups, Cloudflare cache and more Free for Cloudways customers; access tokens can be set to full, read-only or specific functions, with an expiry time

The built-in abilities listed in WooCommerce’s official documentation are: listing, creating, updating and deleting products; listing orders, listing order notes, updating order status and adding order notes. The documentation also warns plainly that order and customer operations may expose personal data, and recommends a dedicated account with only the permissions it needs, keeping application passwords out of version control, and revoking ones no longer in use.

I could read Cloudways’ official MCP overview page, but its setup guide was blocked by the site’s bot verification when I checked, so I couldn’t read it in full. For the actual endpoint URL and token settings, go by what you see after signing in to the Cloudways dashboard.

Why Jason Career still uses SSH and WP-CLI

The upside of SSH plus WP-CLI is that it can do anything: check plugins, change settings, run database queries, clear caches, all with one set of tools. The downside is also that it can do anything, so safety depends entirely on rules and backups. I wrote about how I set those rules in the CLAUDE.md post.

MCP works the other way around: the site exposes only a few abilities, and AI can use only those. For a store, that scope is easier to control, for example exposing only product lookups and order status. But WooCommerce’s MCP is still a preview, and WooCommerce says the interface may change. Most of Jason Career’s work is also at the hosting and plugin settings level, such as Varnish, Cloudflare rules and the payment plugin inventory, none of which is among WooCommerce’s built-in abilities.

So for now I split the work like this:

  • Site content and plugin settings: keep using SSH and WP-CLI, limited by rules.
  • When I want AI to touch only products and order status: WooCommerce MCP is the cleaner approach; I’ll evaluate it once it leaves preview.
  • Hosting-level tasks: Cloudways MCP can use a read-only token, which suits checking status first.

One more point relates to the firewall: the MCP Adapter’s HTTP endpoint sits under /wp-json/, and Jason Career has already exempted /wp-json/ from human verification for the payment callbacks. If I install it later, the only thing keeping people out will be the WordPress account and application password, so that account’s permissions need to be kept to the bare minimum.

A safety checklist before letting AI change a store

Here is the checklist I put together. It applies whether you use SSH or MCP:

  1. Least privilege: read-only wherever possible. If you use MCP, create a dedicated account with only the permissions it needs; with a Cloudways token, start with read-only and an expiry time.
  2. Keep each site separate: one set of accounts, keys and settings per site, so trouble on one doesn’t spread to another. Jason Career’s server also hosts another WordPress site, so every command has to specify which one.
  3. Keys stay out of the chat: payment keys, application passwords and database passwords never get pasted into a conversation with Claude, and never go into Git. During the inventory, only on/off status is read, never the key fields.
  4. Back up before changing: back up before any settings change; if the backup fails, don’t make the change.
  5. A human approves payments and checkout: for payment method switches, payment plugin settings, checkout fields, prices and discounts, Claude Code can only propose changes and describe their impact.
  6. Verify all the way to the last step: after changing the firewall or caching, confirm the checkout page loads and the payment callback URLs aren’t blocked.
  7. Customer data stays on the server: when checking orders, look only at status and counts; never read names, email addresses or phone numbers into the chat.

If you’re new to Claude Code, start with Claude Code for Beginners for installation, permissions and basic MCP setup.

FAQ

Can Claude Code maintain a WooCommerce store?

Yes, but you need to be clear about what to hand over. At Jason Career, Claude Code uses SSH and WP-CLI for read-only checks, cache clearing, backed-up settings changes and firewall adjustments; payment settings, the checkout page, prices and any change that touches customer data wait until I have reviewed them.

Is there an official WordPress MCP?

Yes. WordPress.org has an official MCP Adapter plugin. The version I found on 29 October 2026 was 0.7.1, which requires WordPress 6.9 or later. Site abilities are not exposed by default; they only appear in MCP once they are explicitly marked public. WordPress.com has its own MCP server, which self-hosted sites can use only through a Jetpack connection.

What can WooCommerce MCP do?

According to WooCommerce's official documentation, it is currently a developer preview. Its built-in abilities are listing, creating, updating and deleting products, plus listing orders, listing order notes, updating order status and adding order notes. WooCommerce warns that order and customer operations may expose personal data and recommends connecting with a dedicated account that has only the permissions it needs.

Should I use MCP or SSH to change WordPress with Claude Code?

As of 29 October 2026, Jason Career uses SSH and WP-CLI and has not installed the MCP Adapter. SSH plus WP-CLI can do anything, so it has to be limited by rules; MCP can use only the abilities the site exposes, which makes the scope easier to control, but WooCommerce's MCP is still in preview.

When AI changes an online store, what must a human confirm?

My rule: payment plugin and payment method settings, the checkout flow, product prices and discounts, member and order data, and anything that would send customer data off the server all need my review first. Back up before changing settings, and never paste keys into the chat.

After adding a Cloudflare firewall, payments succeed but orders don't update. What should I do?

First check whether the firewall is blocking the payment callback URLs. When Jason Career added Cloudflare rules on 24 October 2026, it exempted /wc-api/, ?wc-api= and /wp-json/ from the human verification challenge, because after a payment PAYUNi and LINE Pay notify the site by calling these URLs from their own servers.

Related articles

About the author

Photo of Jason

Jason

Account Manager in Google Large Customer Sales and Columbia MBA admit, sharing the money tools and experience he actually uses.

Comments

Sign in with Google to comment. Your comment will not show your Google profile picture or name; it appears under a randomly generated nickname to protect your privacy.

By signing in you agree to this site's privacy policy.

  1. Loading comments…