Fix HubSpot CMS SEO from Claude
Claude SEO on your real Search Console data, with fixes you approve in the same chat.

Each local area page used to take us half a day to create and optimize.
With SEOmatic, we can create hundreds of pages in the same time, which helps our clients make the best use of their budget.
It's transformed how we deliver scalable SEO solutions.
Will Hawkins
Marketing Director, Digi-Business UK
Agents read your Search Console data, do the work, and prove what actually moved. You decide what ships.
14-Day Trial for $1, credited to your first payment.
Claude Code reads your real Google Search Console data through SEOmatic, finds what is holding your HubSpot CMS blog posts and site pages back, stages the fix, and tells you whether it worked. In Approval mode nothing goes live on HubSpot CMS until you approve it.

November 2026
One claude mcp add command, then claude mcp login seomatic to sign in. A plugin adds 21 SEO skills.
Free to connect and to read your Search Console. Staged fixes are part of paid plans, with a 14-Day Trial for $1, credited to your first payment. See pricing.
Your HubSpot CMS content lives in HubSpot CMS, not in a repo, so Claude Code cannot change it with a file edit. Through SEOmatic it reads your Search Console, picks the blog posts and site pages losing clicks and stages the change, which SEOmatic writes through the HubSpot connection once you approve. If you keep theme or template code in a repo, Claude Code can still fix that part directly.
You: Check /blog/water-softener-cost in Search Console and fix its title.
Claude Code: From Sep 13 to Oct 10 (28 days), /blog/water-softener-cost had 2,870 impressions and 24 clicks at position 8.9 for "water softener cost". That is a low click rate for page one, so the title is the first thing to test: it reads "Water Softeners". I staged a new title, "Water Softener Cost: Install and Running Prices", to be written to the post's page title in HubSpot. Approve it here or in SEOmatic and it goes live on HubSpot CMS.
An example on a demo site; your numbers come from your own Search Console.
In SEOmatic, go to Connections, select HubSpot and click Connect with HubSpot. Approve access on HubSpot's own consent page. SEOmatic loads your blogs and selects one for you if you only have one. (Already have a private app with the content scope? You can paste its token instead. HubSpot is switching off the creation of new legacy private apps.) The full walkthrough, with every screen, is on the HubSpot CMS integration page.
Run this in your terminal, then run claude mcp login seomatic. Sign in to SEOmatic in the browser and pick your site. Add --scope user to the command to use SEOmatic in every project, not just this one.
claude mcp add --transport http seomatic https://app.seomatic.ai/api/mcpOther ways to connect are on the Claude Code page.
Paste any of these into Claude Code. It answers from your data and stages the fix; you approve it before it reaches HubSpot CMS.
More that work well in Claude Code:
After you approve, SEOmatic writes the change through the HubSpot connection and checks that it is live. Then it measures the result against the page's own baseline and your site's trend: 14 days after a title change, 28 after a content refresh, 90 after a new page. Each change is marked verified, ineffective or regressed, and a low-risk change that loses traffic is rolled back on its own. Ask Claude Code "Did my HubSpot CMS title changes work?" and it answers from those verdicts.
Full blog posts with titles, HTML content, excerpts, featured images, tags and author, plus rewrites of what is already live.
On a landing or site page with unpublished edits from your team, the agent leaves the page alone rather than publishing their draft along with its change.
The agent arrives switched off. Once on, it ships undoable fixes by itself and waits for you on anything larger, unless you choose Approval mode, where every change waits.
Agents work through HubSpot's own content API. In Approval mode nothing is written until you approve it; in Assisted, the default, changes that can be undone ship on their own. Edits to a blog post update the live post directly; on landing and site pages the change goes through the page's draft and is pushed live, and a page with unpublished edits from your team is left alone.
Every field, limit and safeguard is on the HubSpot CMS integration page.
HubSpot CMS
A HubSpot account with Content Hub (formerly CMS Hub) and permission to approve apps for it. Connecting happens on HubSpot's own consent page; an existing private app with the content scope also works.
Claude Code
Claude Code and a free SEOmatic account. No API key and no Google Cloud project: the connection signs in through your browser.
Claude Code works the same way on WordPress, Webflow, Shopify, Ghost, Blogger, Wix, Squarespace, Framer, Drupal, BigCommerce, Contentful, Strapi, Sanity, Next.js, Lovable, GitHub, Craft CMS.
Can Claude Code fix SEO on my HubSpot CMS site?
Yes, through SEOmatic. Claude Code reads your Search Console data, finds the blog posts and site pages losing clicks and stages the fix, which SEOmatic writes to HubSpot CMS once you approve. The three setup steps are on this page.
What can Claude Code change on HubSpot CMS?
SEOmatic works on your blog posts and site pages through the HubSpot connection: titles, descriptions and content first, and more where HubSpot CMS allows it. Every field and limit is listed on the HubSpot CMS integration page.
How do I know if a HubSpot CMS fix worked?
SEOmatic measures every change it ships against the page's own baseline and your site's trend, 14 days after a title change, 28 after a content refresh and 90 after a new page, and marks it verified, ineffective or regressed. Claude Code can read those verdicts for you.
What do I need on the Claude Code side?
Claude Code and a free SEOmatic account. No API key and no Google Cloud project: the connection signs in through your browser.
Will Claude Code publish to HubSpot CMS without asking?
No. By default every change SEOmatic proposes waits for your approval before it touches your site, and your assistant is told never to approve on its own. Approved changes are stored with the page's previous state, so any edit to an existing page can be rolled back. If you later want low-risk fixes to go ahead on their own, you can turn that on in your autonomy settings; changes to your URLs or indexing, and new content, still wait for you.
Is it free?
Connecting is free with no card. Search Console reports, page checks and 30-page site audits are free, as often as you like; live market data uses free questions, 5 a month plus a one-time 10 when you connect Search Console. Staging and publishing fixes is part of paid plans, which start with a 14-Day Trial for $1, credited to your first payment.
The same SEOmatic server and approval rules, from the agent you prefer.
Claude SEO on your real Search Console data, with fixes you approve in the same chat.
Hand Claude Cowork the SEO grunt work: it pulls your real numbers, writes the report into your files, and stages fixes you approve.
ChatGPT SEO on your real Search Console data, with fixes you approve in the same chat.
Two commands give Codex your Search Console data, so it fixes SEO where the bug lives: in your code.
Your real Search Console data in the Gemini app and in Gemini CLI, with fixes you approve.
An always-on SEO teammate: routines that read your Search Console and speak up when something changes.