If you own the HTML, you do not need a metaphor. You need the URL, the tag, and whether the template or the content is at fault.
Template versus content
A missing canonical on every URL is the layout. A missing title on three campaign pages is content. The list is boring on purpose so you can tell those apart before you open a pull request.
What we will not make you parse
There is no public SEO API to poll from CI. The guide on adding checks to a pipeline says what is worth asserting in your own tests: one title, a canonical, no accidental noindex. The product crawl is the wider net.
JavaScript sites
If the words are not in the first response, say so and fix the server HTML. We would rather flag that than applaud a client-rendered page that looks finished in a browser and empty to a crawler.
Not through an API. Assert the invariants in your own HTML tests, and use the product for the full site. The CI guide covers that split.
Do you render JavaScript?
The useful finding is whether the important content is in the response. Do not wait for a perfect headless render to fix a template that sends an empty shell.
Why is Fix SEO Today cheaper?
A developer seat on an extremely expensive SEO suite buys charts. The pull request needs the URL and the tag. Fix SEO Today is cheaper because you pay for the diagnosis. A free peek, then $19 a month for one project or $99 a month for unlimited projects. That covers the crawl and the plain-English fix list, including GEO. It leaves out the backlink index, the rank-tracker seats, and the ads module.