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

About Next.js in SEOmatic
SEOmatic publishes into the Postgres database behind your Next.js site. You pick the table and map your columns, and SEOmatic writes the rows your existing routes render.
Last Updated
October 2026
Requirements
A Postgres database reachable from the public internet, with a table that has an id column, plus INSERT and UPDATE permissions. Works with Supabase, Neon, Railway, Render, RDS and Lightsail. SSL is used automatically.
How to Fix Next.js SEO from Cursor
Step 1: Connect Next.js to SEOmatic
SEOmatic writes directly into the Postgres database your Next.js site already reads from. Works with both App Router and Pages Router, because SEOmatic never touches your routing.
Step 1: In SEOmatic, go to Connections and select Next.js.
Step 2: Paste your Postgres connection string. SEOmatic validates it and confirms the database name.
Step 3: Pick the table to publish into, then map its columns to title, content, slug, excerpt, image and meta fields.
Step 4: Build your content template using variables, AI, or both, and publish. SEOmatic inserts new rows and updates ones it published before, so republishing never creates duplicates.
Because your pages are rendered by your own code, revalidate the route after publishing (revalidatePath) or render it dynamically, so new content is visible to search engines right away.
Step 2: Connect SEOmatic to Cursor
Add this to ~/.cursor/mcp.json for every project, or .cursor/mcp.json in one repo, or add the same URL in Settings, Tools & MCP. Approve the SEOmatic sign-in in your browser and pick your site. Or install SEOmatic from the Cursor Marketplace by typing /add-plugin seomatic in Agent chat.
{
"mcpServers": {
"seomatic": { "url": "https://app.seomatic.ai/api/mcp" }
}
}Other ways to connect are on the Cursor page.
Step 3: Ask Cursor, Then Approve
Paste any of these. Cursor answers from your data and stages the fix; you approve it before it reaches Next.js.
- “Which of my Next.js pages lost the most clicks this month, and why?”
- “Stage new titles for my Next.js pages with high impressions and low CTR.”
- “Find Next.js pages Google has not indexed and tell me what is blocking them.”
- “Audit my Next.js homepage and rank the fixes by impact.”
What Cursor Can Change on Next.js
Full articles and programmatic pages from research to finished draft, published as rows your routes already render.
The agent arrives switched off and starts in approval mode. It earns more rope only when you give it.
Agents remember the row they wrote and update it, so republishing does not leave you cleaning up copies.
Map your table's columns once to title, content, slug, excerpt, image and meta. Common names are matched for you.
After publishing, SEOmatic fetches the live URL and tells you if your route is still serving the old version.
Rows carry their status, so your app can hold work back until you are ready for it to appear.
App Router or Pages Router makes no difference, because agents never touch your routing layer.
Supabase, Neon, Railway, Render, RDS or Lightsail. SSL is used automatically and nothing is added to your schema.
Whole page sets generated from your data and real search demand, with sample pages shown before any of it lands.
Your app owns the rendering, so agents stay on their side of the line: they research, write and publish rows, and your code decides what happens to them.
Full details on the Next.js integration page.
Requirements
Next.js
A Postgres database reachable from the public internet, with a table that has an id column, plus INSERT and UPDATE permissions. Works with Supabase, Neon, Railway, Render, RDS and Lightsail. SSL is used automatically.
Cursor
Cursor and a free SEOmatic account, which you can create during sign-in. Use OAuth, not an API key: Cursor does not send a configured Authorization header.
Fix Next.js SEO from Another Agent
- Fix Next.js SEO from Claude
- Fix Next.js SEO from Claude Code
- Fix Next.js SEO from Claude Cowork
- Fix Next.js SEO from ChatGPT
- Fix Next.js SEO from Codex
- Fix Next.js SEO from Gemini
- Fix Next.js SEO from Grok Bot
- Fix Next.js SEO from Perplexity Computer
- Fix Next.js SEO from OpenClaw
- Fix Next.js SEO from Hermes Agent
- Fix Next.js SEO from Manus
Use Cursor on Another Platform
- Fix WordPress SEO from Cursor
- Fix Webflow SEO from Cursor
- Fix Shopify SEO from Cursor
- Fix Ghost SEO from Cursor
- Fix Blogger SEO from Cursor
- Fix Wix SEO from Cursor
- Fix Squarespace SEO from Cursor
- Fix Framer SEO from Cursor
- Fix Drupal SEO from Cursor
- Fix BigCommerce SEO from Cursor
- Fix HubSpot CMS SEO from Cursor
- Fix Contentful SEO from Cursor
- Fix Strapi SEO from Cursor
- Fix Sanity SEO from Cursor
- Fix Lovable SEO from Cursor
- Fix GitHub SEO from Cursor
- Fix Craft CMS SEO from Cursor
Frequently Asked Questions
Can Cursor fix SEO on my Next.js site?
Yes, through SEOmatic. Cursor reads your Google Search Console data, finds what is holding your Next.js pages back and stages the fix. SEOmatic publishes into the Postgres database behind your Next.js site. You pick the table and map your columns, and SEOmatic writes the rows your existing routes render.
What can Cursor change on Next.js?
Writes The Pages: Full articles and programmatic pages from research to finished draft, published as rows your routes already render. Nothing Applies Without You: The agent arrives switched off and starts in approval mode. It earns more rope only when you give it. Update, Never Duplicate: Agents remember the row they wrote and update it, so republishing does not leave you cleaning up copies. Column Field Mapping: Map your table's columns once to title, content, slug, excerpt, image and meta. Common names are matched for you. Publish Verification: After publishing, SEOmatic fetches the live URL and tells you if your route is still serving the old version. Draft And Published States: Rows carry their status, so your app can hold work back until you are ready for it to appear.
What do I need to connect Next.js?
A Postgres database reachable from the public internet, with a table that has an id column, plus INSERT and UPDATE permissions. Works with Supabase, Neon, Railway, Render, RDS and Lightsail. SSL is used automatically.
What do I need on the Cursor side?
Cursor and a free SEOmatic account, which you can create during sign-in. Use OAuth, not an API key: Cursor does not send a configured Authorization header.
Will Cursor publish to Next.js 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.


