Fix the H1 tag — exactly one per page — Cursor
Multiple H1s confuse crawlers about what a page is about. Zero H1s leaves Google guessing from weaker signals. Both hurt ranking, and both are common in AI-generated apps.
Fixing this in Cursor
Agentic AI code editor built on VSCode
Grep for `<h1` across the app folder and ensure each page file has exactly one occurrence.
Using a different tool? Pick your stack:
The prompt for Cursor
Copy and paste this into your Cursor chat exactly as-is.
Apply these changes to my codebase. Edit the files directly and keep existing formatting: Fix the H1 tag 1. Make sure every page has exactly one <h1> tag. 2. Put the main keyword inside the H1. 3. Use <h2>/<h3> for subsections instead of multiple H1s.
Why this matters
The H1 is the structural title of the page as far as crawlers and screen readers are concerned. A clean heading hierarchy (one H1, nested H2s, H3s under those) is how Google understands what the page is about and how to match it to a query.
AI code generators frequently produce pages with a styled div that looks like a heading but is not, or a page with two H1s because both the hero and a section title were marked up the same way. Neither is a ranking disaster on its own, but they compound with other small issues to cap your ceiling.
Fixing the H1 is the single cheapest on-page SEO win. It takes under a minute per page and directly improves both ranking and accessibility.
How to use this prompt in Cursor
- 1. Open your Cursor project.
- 2. Copy the prompt above with the copy button.
- 3. Paste into the Cursor chat and send.
- 4. Review the diff, accept the changes, redeploy.
- 5. Verify the fix using the checklist below.
Common mistakes to avoid
- error_outlineHaving two H1s because the logo and the page title are both marked <h1>.
- error_outlineUsing H1 for styling (large text) instead of structure, then having no real H1.
- error_outlineLeaving the H1 generic like "Welcome" or "Home" instead of using a descriptive phrase.
- error_outlineSkipping from H1 to H3 without any H2s in between.
How to verify the fix worked
- check_circleRight-click → Inspect, run `document.querySelectorAll("h1").length` in the console — must be 1 on every page.
- check_circleView source and confirm the H1 contains your primary keyword.
- check_circleRun Lighthouse → Accessibility — "Heading order" should pass.
- check_circleScreaming Frog crawl → H1 tab → no missing, no duplicates, no multiples.
Frequently asked questions
Can I have multiple H1s on a modern HTML5 page?expand_more
Should the H1 match the title tag?expand_more
Can the logo be the H1?expand_more
Want all 34 prompts tailored to your Cursor site?
Pantra scans your site in 10 seconds, detects the stack, and generates the exact prompts that apply — only the ones you actually need.
Scan my siteRelated Cursor prompts
Add a unique <title> tag to every page — Cursor
Copy-paste prompt to add a unique, keyword-rich <title> tag to every page in Lovable, Cursor, Bolt, v0, Replit, Windsurf, Claude Code, or Base44.
SEOAdd unique meta descriptions to every page — Cursor
Prompt to add unique 50-160 character meta descriptions to every page — controls the grey snippet text in Google search results.
SEOGenerate a sitemap.xml covering every route — Cursor
Stack-specific prompt to create /public/sitemap.xml listing all public routes, for Lovable, Cursor, Bolt, v0, Replit, Windsurf, Claude Code, and Base44.
SEOAdd a robots.txt that allows search + AI crawlers — Cursor
Prompt to drop a correct /public/robots.txt for Google, Bing, and AI crawlers like GPTBot and PerplexityBot in Lovable, Cursor, Bolt, v0, Replit, Windsurf, Claude Code, Base44.