How I Built an SEO Skill for AI IDEs Because My Cursor Kept Getting It Wrong

Published: (March 3, 2026 at 10:38 AM EST)
5 min read
Source: Dev.to

Source: Dev.to

Optimizing for SEO in AI IDEs (and Why FID Is No Longer Relevant)

TL;DR – FID (First Input Delay) was deprecated by Google in March 2024 and has not been a ranking factor for almost two years.
Instead of chasing a dead metric, I built a reusable “SEO & GEO Optimizer” skill that injects up‑to‑date, officially‑sourced SEO rules into AI‑powered IDEs (Cursor, Windsurf, Copilot, Replit, Bolt).


A Bit of Context

  • Who am I?
    Final‑year ECE student, side‑project developer.

    • FitWardrobe – privacy‑first AI stylist app.
    • Mithivoices – open‑source TTS/STT platform.
  • My daily tools – Cursor and Windsurf (AI‑enhanced IDEs).

  • SEO background – Not an expert, but building discoverable products forces you to learn SEO fast.


The Actual Problem

Every new chat in an AI IDE starts from scratch:

  • No memory of previous sessions.
  • No awareness of the latest Google core update.
  • No knowledge that GEO (Generative Engine Optimization) now influences whether your content appears in ChatGPT or Perplexity results.

Example

I asked Windsurf to generate a BlogPosting schema for my landing page and got:

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "My Article Title",
  "author": {
    "@type": "Person",
    "name": "Author Name"
  },
  "datePublished": "2026-01-15"
}

The JSON‑LD passes schema validation, but it’s practically useless for ranking:

  • Missing dateModified (required by Google).
  • Image fields are wrong – Google expects 1:1, 4:3, and 16:9 ratios for full rich‑result eligibility.
  • No @id for entity disambiguation.

I discovered these gaps only by reading the official Google Search Central docs, not a summarizing blog post.


What I Tried First (and Why It Failed)

AttemptOutcome
Paste the entire SEO doc into the chat before each question.Worked for ~3 sessions, then became unsustainable (200+ pages).
Save a short cheat‑sheet (.txt) and reference it.AI treated it as optional reference; output quality was inconsistent.
Use IDE‑specific “rules” files (Cursor rules, Windsurf rules).Breakthrough – the AI now follows the instructions every time.

What I Built

A single‑command installer that creates a structured “skill” file containing only officially‑sourced SEO rules.

npx seo-geo-optimizer

The script auto‑detects your IDE and drops the file in the correct location:

IDEDestination
Cursor.cursor/rules/seo-geo-optimizer.mdc
Windsurf.windsurf/rules/seo-geo-optimizer.md
GitHub Copilot.github/copilot-instructions.md
Replit.replit/ai/seo-geo-optimizer.md
Bolt.bolt/prompt

IDE Detection Logic (bin/install.js)

function detectIDE() {
  const markers = {
    cursor:   ['.cursor', path.join(os.homedir(), '.cursor')],
    windsurf: ['.windsurf', path.join(os.homedir(), '.windsurf')],
    copilot:  ['.github'],
    replit:   ['.replit'],
    bolt:     ['.bolt'],
  };

  for (const [ide, paths] of Object.entries(markers)) {
    if (paths.some(p => fs.existsSync(p))) return ide;
  }
  return 'generic';
}

Using the Skill

  1. Activate with a single trigger phrase in any AI chat:

    “Read and activate the SEO & GEO Optimizer skill, then start the process.”

  2. The AI runs a 40‑question intake audit, identifies your site type, checks competitor gaps, and builds a structured execution plan—all based on current, sourced SEO knowledge.


What the Skill Actually Covers

The file (~1,400 lines) is built exclusively from official documentation and includes a source URL for every rule.

  • Core Web Vitals (2025) – LCP, INP, CLS (FID deprecated).
  • 14 schema types with complete JSON‑LD templates, e.g., BlogPosting & Article with required image ratios and dateModified.
  • E‑E‑A‑T implementation – author page requirements, Person schema.
  • Featured snippet patterns – paragraph, list, table formats.
  • Content clusters & pillar pages – internal linking rules.
  • GEO for AI search – structuring content so ChatGPT/Perplexity cite you.
  • Google vs. Bing differences – crawl behavior, E‑E‑A‑T weighting, IndexNow vs. sitemaps.

Every rule is backed by an official source. If I couldn’t find one, the rule was omitted.


What Surprised Me While Building This

  1. Sourcing is harder than writing. Summarizing popular SEO blogs often led to outdated or incorrect claims. Restricting myself to official docs made the file smaller but far more reliable.
  2. Google vs. Bing matters. Most SEO tools treat them as identical, yet they differ in JavaScript crawling, E‑E‑A‑T evaluation, and indexing mechanisms (IndexNow for Bing, sitemap‑only for Google).

Try It If You Use an AI IDE

The project is open source, MIT‑licensed, and free.

# Auto‑detect your IDE
npx seo-geo-optimizer

# Or specify directly
npx seo-geo-optimizer --cursor
npx seo-geo-optimizer --windsurf
npx seo-geo-optimizer --copilot

⭐️ Star the repo if it’s useful:


Feel free to open issues, suggest improvements, or contribute additional officially‑sourced rules!

[ar10005/seo-geo-optimizer](https://github.com/ar10005/seo-geo-optimizer)

Launching on Product Hunt on **March 10** if you want to follow along.

What SEO mistakes have you caught your AI IDE making? I'd genuinely like to know — it'll probably end up in the next version of the skill file.
0 views
Back to Blog

Related posts

Read more »

Google Gemini Writing Challenge

What I Built - Where Gemini fit in - Used Gemini’s multimodal capabilities to let users upload screenshots of notes, diagrams, or code snippets. - Gemini gener...