Repair

Ship the fix, verify it live, keep the receipt

By Benoit Maillary · Published 2026-09-14 · Updated 2026-09-15

FixFlow generates a CMS paste pack. You paste it. You mark it shipped. A live re-scan issues a receipt only when the page matches. Applied without proof stays Applied. You keep the CMS login.

Most SEO reports end where the work starts

A typical audit PDF names the gaps and stops. Someone still has to write the title, paste the JSON-LD, publish /llms.txt, and prove the live HTML changed. That last mile is where retainers leak: the strategist thinks it shipped, the developer thinks Yoast will handle it, the client asks for a screenshot. FixFlow stops at the spec and the proof. It does not log into WordPress, Shopify, Webflow, or GitHub for you.

The honest loop is short. You generate a paste pack for the CMS you actually use, or you copy it to the clipboard. You apply it in your own session. You mark the issue shipped. FixFlow stores a snapshot of what left the building. It fetches the live page. It issues a client receipt only when the issue is gone. Applied without proof stays Applied. Verified means the page matches.

That distinction matters in a QBR. “We sent the titles to the developer” is Applied. “The crawler now reads the titles we shipped” is Verified. Clients pay for the second sentence. Agencies lose Friday nights on the first. The receipt exists so you do not argue from Slack.

What “shipped” stores, and what “verified” checks

When you mark an issue shipped, FixFlow does not take your CMS password. It stores the pack you said you pasted: the title, the meta, the JSON-LD, the llms.txt body, or the brief you handed to a writer. That snapshot is the before-and-after contract. The next fetch compares the live HTML to that contract. If the title you shipped is not the title the crawler reads, the issue does not become Verified.

WordPress, Shopify, Webflow, GitHub, and a plain clipboard pack are the current export targets. The CMS login stays with the agency because giving another SaaS the keys creates a second incident path and a second place a junior can overwrite Yoast. We keep the evidence. You keep the login. Pricing is for the scan, the pack, and the receipt, not for a remote desktop into the site.

A paste pack is CMS-shaped on purpose. WordPress gets a block you can drop into the editor or a snippet for the head. Shopify gets theme-aware copy. Webflow gets the embed or the field path. GitHub gets a file diff you can open as a pull request. Clipboard is the fallback when the site is custom. None of those paths require FixFlow to hold a password. If a tool asks for your wp-admin, it is doing a different job.

When a plugin or a theme stomps the paste

A shipped title can disappear after a theme update, a Yoast sync, or a prerender layer. The next weekly re-scan can reopen the issue and name a likely cause. That is the repair loop, not a new audit from scratch: find the gap on the ordered list, paste the pack, prove it, notice when something overwrites it.

If you want the product names for that loop, they live on the features page. This page is the rule: Verified is a live match, not a checkbox a project manager ticked on Friday.

What you can put on an invoice

A Verified fix can become a journal line: site, work, receipt URL, suggested fee by severity. The receipt is a shareable page an account lead can drop into a QBR. The fee is a suggestion you can edit. FixFlow is not your invoicing tool and it does not collect the client’s money.

The receipt is more useful when it sits next to monthly cited / not cited. Shipping schema is a repair. Still being named in a ChatGPT-style answer a month later is the prove step. Both are citable. Neither is a 40-page crawl.

If you are starting from a CMS-shaped URL rather than a method page, use the WordPress audit or the audit hub, then come back here when you have a pack to paste. The scan finds the gap. This article is what “done” means.

What we refuse to automate

We will not click Publish for you. We will not store a theme password. We will not mark Verified because a webhook said the deploy finished. Deploys lie. HTML does not. The only proof that counts here is a fetch of the live URL after you said you pasted.

That is slower than a magic “apply all fixes” button. It is also the only loop a client will pay for twice. If you want the button, you want a different product. If you want a receipt you can forward, this is the loop.