Fix GitHub SEO from Claude Code
Claude Code reads your real Google Search Console data through SEOmatic, finds what is holding your GitHub pages back, and stages the fix. Nothing goes live on GitHub until you approve it, and any edit to an existing page can be rolled back.
- Your real Search Console data
- Fixes staged in GitHub
- Nothing goes live until you approve

About GitHub in SEOmatic
SEOmatic connects to one repository through the SEOmatic GitHub App. Agents read your site's files to understand your pages, and deliver every edit as a pull request for you to review and merge. The default branch is off limits by design.
Last Updated
October 2026
Requirements
A site whose pages live in a GitHub repository as HTML or Markdown files, and permission to install a GitHub App on that repository. The app asks for access to contents and pull requests on the one repository you choose.
How to Fix GitHub SEO from Claude Code
Step 1: Connect GitHub to SEOmatic
Connecting means installing the SEOmatic GitHub App on the repository your site is built from.
Step 1: In SEOmatic, go to Connections, select GitHub, and click Continue with GitHub.
Step 2: On GitHub, install the app on the one repository your site lives in. GitHub sends you back to SEOmatic.
Step 3: Pick the repository and confirm your live site URL, then click Connect repository.
Step 4: Agents read your Search Console data, find the pages losing clicks they should be winning, and open a pull request for each fix you approve. You review the diff and merge it, or close it to say no.
Step 2: Connect SEOmatic to Claude Code
Run this in your terminal. Then start Claude Code, type /mcp, pick seomatic and choose Authenticate. Sign in to SEOmatic in the browser and pick your site.
claude mcp add --transport http seomatic https://app.seomatic.ai/api/mcpOther ways to connect are on the Claude Code page.
Step 3: Ask Claude Code, Then Approve
Paste any of these. Claude Code answers from your data and stages the fix; you approve it before it reaches GitHub.
- “Which of my GitHub pages lost the most clicks this month, and why?”
- “Stage new titles for my GitHub pages with high impressions and low CTR.”
- “Find GitHub pages Google has not indexed and tell me what is blocking them.”
- “Audit my GitHub homepage and rank the fixes by impact.”
What Claude Code Can Change on GitHub
On plain HTML files, agents set the title, meta description, canonical tag and structured data, and rewrite content inside your page's existing main element. Structured data sits in a clearly marked block, so your own markup is never touched.
On Markdown and MDX files, agents update the title and description in the front matter. The body is left alone, because converting it through HTML and back breaks its formatting and can break an MDX build, and a lossy edit is worse than none.
On a Markdown blog, programmatic pages arrive as one pull request per batch, all in a single commit with a manifest. The next batch is queued only once you merge the last one, and undoing a batch is reverting one commit.
React page files are read so agents understand your site and can diagnose what is holding a page back, but they are never edited. Having an AI rewrite JSX is a risk we decline, and the fix comes to you as a written change instead.
The connector refuses to commit to your default branch. Every change is a branch and a pull request, so it goes through the same review, checks and preview builds as your team's own code.
A merged pull request still has to build and deploy. The change counts as applied only once your live page shows it. If bot protection blocks that check, it confirms the change in the merged files instead and labels it that way. An open pull request never counts, and if the deploy never lands, it says so rather than reporting a success.
Every edit keeps the previous values it replaced. Rolling a change back opens a pull request that restores them and removes any field the agent added, reviewed and merged like any other.
The app is installed on the single repository you pick. Uninstall it on GitHub at any time: open pull requests stay yours, and everything already merged lives in your own git history.
A repository has no fields and no API for SEO, only files. So the agent has to earn the right to edit one: it maps each live URL to the file that produces it, checks that the file's title matches the page, and opens a pull request only when the match holds up (a page with no title to compare is matched on its path alone). When it is not, you get a note instead of a guess.
Full details on the GitHub integration page.
Requirements
GitHub
A site whose pages live in a GitHub repository as HTML or Markdown files, and permission to install a GitHub App on that repository. The app asks for access to contents and pull requests on the one repository you choose.
Claude Code
Claude Code and a free SEOmatic account. No API key and no Google Cloud project: the connection signs in through your browser.
Fix GitHub SEO from Another Agent
- Fix GitHub SEO from Claude
- Fix GitHub SEO from Claude Cowork
- Fix GitHub SEO from ChatGPT
- Fix GitHub SEO from Codex
- Fix GitHub SEO from Gemini
- Fix GitHub SEO from Grok Bot
- Fix GitHub SEO from Perplexity Computer
- Fix GitHub SEO from OpenClaw
- Fix GitHub SEO from Hermes Agent
- Fix GitHub SEO from Manus
- Fix GitHub SEO from Cursor
Use Claude Code on Another Platform
- Fix WordPress SEO from Claude Code
- Fix Webflow SEO from Claude Code
- Fix Shopify SEO from Claude Code
- Fix Ghost SEO from Claude Code
- Fix Blogger SEO from Claude Code
- Fix Wix SEO from Claude Code
- Fix Squarespace SEO from Claude Code
- Fix Framer SEO from Claude Code
- Fix Drupal SEO from Claude Code
- Fix BigCommerce SEO from Claude Code
- Fix HubSpot CMS SEO from Claude Code
- Fix Contentful SEO from Claude Code
- Fix Strapi SEO from Claude Code
- Fix Sanity SEO from Claude Code
- Fix Next.js SEO from Claude Code
- Fix Lovable SEO from Claude Code
- Fix Craft CMS SEO from Claude Code
Frequently Asked Questions
Can Claude Code fix SEO on my GitHub site?
Yes, through SEOmatic. Claude Code reads your Google Search Console data, finds what is holding your GitHub pages back and stages the fix. SEOmatic connects to one repository through the SEOmatic GitHub App. Agents read your site's files to understand your pages, and deliver every edit as a pull request for you to review and merge. The default branch is off limits by design.
What can Claude Code change on GitHub?
HTML Pages, Fully: On plain HTML files, agents set the title, meta description, canonical tag and structured data, and rewrite content inside your page's existing main element. Structured data sits in a clearly marked block, so your own markup is never touched. Markdown and MDX Front Matter: On Markdown and MDX files, agents update the title and description in the front matter. The body is left alone, because converting it through HTML and back breaks its formatting and can break an MDX build, and a lossy edit is worse than none. New Blog Posts in Batches: On a Markdown blog, programmatic pages arrive as one pull request per batch, all in a single commit with a manifest. The next batch is queued only once you merge the last one, and undoing a batch is reverting one commit. Next.js Pages Are Read, Not Rewritten: React page files are read so agents understand your site and can diagnose what is holding a page back, but they are never edited. Having an AI rewrite JSX is a risk we decline, and the fix comes to you as a written change instead. Your Main Branch Is Off Limits: The connector refuses to commit to your default branch. Every change is a branch and a pull request, so it goes through the same review, checks and preview builds as your team's own code. Applied Means Live: A merged pull request still has to build and deploy. The change counts as applied only once your live page shows it. If bot protection blocks that check, it confirms the change in the merged files instead and labels it that way. An open pull request never counts, and if the deploy never lands, it says so rather than reporting a success.
What do I need to connect GitHub?
A site whose pages live in a GitHub repository as HTML or Markdown files, and permission to install a GitHub App on that repository. The app asks for access to contents and pull requests on the one repository you choose.
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 GitHub 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: 5 questions a month from your own data, plus 10 once you connect Search Console, and site audits of up to 30 pages. Staging and publishing fixes is part of paid plans, which start with a 14-day free trial.


