Claude · SEO + AI search

Fix your SEO with 4 Claude skills

Agency-യ്ക്ക് മാസം പൈസ കൊടുക്കണ്ട. ഈ 4 skills Claude-ൽ add ചെയ്താൽ മതി. Setup 10 മിനിറ്റ്.

Audit your site, see whether ChatGPT and Google AI cite you, find the questions you don't answer, and get ready-to-paste fixes. Follow the steps in order.

What you need

Claude accountrequiredFree, Pro or Max works. Skills run on every plan.
Code execution onrequiredSkills need it. Step 1 below shows the switch.
Claude Desktop appfor Search ConsoleNeeded only to connect your real Search Console data.
Google Cloud projectoptionalFree. For the Search Console connection and a PageSpeed API key.

Install the skills

  1. Turn on code execution

    Open Settings → Capabilities and switch on Code execution and file creation (in newer layouts it's called Create and edit files). On Team or Enterprise, an owner enables Skills in Organization settings.

  2. Download the 4 skill ZIPs

    One ZIP per skill, plus one ZIP with all four. Don't unzip them.

  3. Upload each ZIP to Claude

    Go to Customize → Skills (claude.ai/customize/skills), click +, then Create skill → Upload a skill, and pick a ZIP. Repeat for all four: seo-auditor ai-search-spy seo-diagnoser seo-fixer. Make sure each one is toggled on.

  4. Using Claude Code instead?

    Skills you upload on claude.ai sync to Claude Code when you sign in with the same account (run /skills to check). Or save each SKILL.md yourself:

    terminal
    mkdir -p ~/.claude/skills/seo-auditor ~/.claude/skills/ai-search-spy ~/.claude/skills/seo-diagnoser ~/.claude/skills/seo-fixer
    # then put each SKILL.md (below) inside its folder, e.g.
    # ~/.claude/skills/seo-auditor/SKILL.md

Connect Google Search Console

Optional, but it turns the Auditor and Diagnoser from guesses into your real clicks, rankings and indexing data. Uses the free open-source suganthan-gsc-mcp server in Claude Desktop. Needs Node.js installed.

  1. Create a Google Cloud project

    At console.cloud.google.com create a project (for example "GSC MCP"). In APIs & Services → Library, enable Google Search Console API.

  2. Make OAuth credentials

    APIs & Services → Credentials → Create credentials → OAuth client ID. If asked, set up the consent screen as External and add your own email as a test user. Application type: Desktop app. Click Download JSON and save it, for example as gsc-oauth-secrets.json.

  3. Add the server to Claude Desktop

    Settings → Developer → Edit Config, paste this inside the file, and change the two values:

    claude_desktop_config.json
    {
      "mcpServers": {
        "gsc": {
          "command": "npx",
          "args": ["-y", "suganthan-gsc-mcp"],
          "env": {
            "GSC_AUTH_MODE": "oauth",
            "GSC_OAUTH_SECRETS_FILE": "/full/path/to/gsc-oauth-secrets.json",
            "GSC_SITE_URL": "sc-domain:yourdomain.com"
          }
        }
      }
    }

    Domain property → sc-domain:yourdomain.com. URL-prefix property → the full URL, like https://www.yourdomain.com/.

  4. Restart and sign in

    Quit and reopen Claude Desktop. The first time you ask about Search Console, a browser window opens for Google sign-in. After that it stays connected.

    Claude Code alternative
    claude mcp add gsc -- npx -y suganthan-gsc-mcp
    # then set GSC_AUTH_MODE, GSC_OAUTH_SECRETS_FILE and GSC_SITE_URL as above

PageSpeed API key

Optional. The Auditor can call PageSpeed without a key, but a key avoids rate limits. In the same Google Cloud project: APIs & Services → Library → PageSpeed Insights API → Enable, then Credentials → Create credentials → API key. Give the key to Claude in your audit prompt. No key? Run your site at pagespeed.web.dev and paste the result.

The 4 skills

Auditor→AI-Search Spy→Diagnoser→Fixer→Live report
SKILL 01seo-auditor

The Auditor

Full technical audit across crawlability, indexation, on-page, speed, mobile and schema. Pulls Search Console and PageSpeed when available, crawls up to 20 key pages, and gives a health score out of 100 with a ranked fix list.

Search ConsolePageSpeed / CWVrobots.txtsitemapHealth /100
View SKILL.md
seo-auditor/SKILL.md
---
name: seo-auditor
description: Run a full technical SEO audit of a website and give it a health score out of 100 with a ranked fix list. Use when someone says audit my site, check my SEO, why am I not ranking, site health, technical SEO check, or shares a URL and asks how it's doing on Google.
---

# SEO Auditor

You are a senior technical SEO consultant. Audit the user's website and return one clear report: a health score, what is broken, and what to fix first.

## 1. Collect inputs

Ask only for what is missing:
- Website URL (required).
- Main city/country and 3–5 money keywords (optional, improves the on-page checks).

## 2. Pull data from every source you can reach

Use whatever is available in this session, in this order. Say in the report which sources were live.

1. **Google Search Console** — if a Search Console connector/MCP is connected, pull the last 28 days vs the previous 28 days: clicks, impressions, CTR, average position, top queries, top pages, pages not indexed and the reason, sitemap status. If it is not connected, ask the user to export Performance → Pages and Queries (CSV) and Pages → "Why pages aren't indexed", or continue without it and mark those checks "not checked".
2. **PageSpeed / Core Web Vitals** — fetch `https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=<URL>&strategy=mobile&category=performance&category=seo&category=accessibility&category=best-practices` (add `&key=<API_KEY>` if the user gave one). Read LCP, INP, CLS from field data (CrUX) when present, otherwise lab data. If the fetch fails, ask the user to paste the results from pagespeed.web.dev.
3. **Crawl** — fetch the homepage, /robots.txt, /sitemap.xml (or the sitemap listed in robots.txt) and up to 20 important pages from the sitemap or main navigation.

## 3. Run the checks (6 categories)

**Crawlability**: robots.txt exists and doesn't block important paths or Googlebot; sitemap exists, is referenced in robots.txt, only lists 200 pages; no internal links to 4xx/5xx; redirect chains ≤1 hop; HTTPS everywhere, one preferred host (www or non-www).

**Indexation**: canonical tag on every page and self-referencing where it should be; no accidental `noindex`; no duplicate/near-duplicate pages competing; GSC "not indexed" reasons explained.

**On-page**: one unique `<title>` per page (50–60 chars, keyword first); unique meta description (140–160 chars, has a reason to click); exactly one H1; logical H2/H3; images have alt text; internal links with descriptive anchors; thin pages (<300 words of real content) flagged.

**Speed / Core Web Vitals**: LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1 (mobile). Name the heaviest causes (large images, render-blocking JS/CSS, no caching, slow server).

**Mobile & UX**: viewport meta, tap targets, no intrusive pop-ups, readable font sizes.

**Structured data & AI readiness**: Organization/LocalBusiness schema, Breadcrumb, FAQ/Article/Product where relevant, valid JSON-LD; `/llms.txt` present; robots.txt allows GPTBot, PerplexityBot, ClaudeBot, Google-Extended unless the user wants them blocked.

## 4. Score

Start at 100. Subtract per issue: High −8, Medium −4, Low −1 (minimum 0). A check you could not run is not penalised; list it under "Not checked".

## 5. Report format

```
SEO AUDIT — <domain> — <date>
Health score: NN/100   (sources live: Search Console ✓/✗ · PageSpeed ✓/✗ · Crawl ✓)

Top 3 fixes this week
1. ...

What's broken (ranked by impact)
| Issue | Severity | Pages | Fix |

Category scores: Crawlability · Indexation · On-page · Speed · Mobile · Schema/AI
Search Console snapshot (if available): clicks, impressions, avg position, top 5 queries
Not checked: ...
```

Keep it plain-language; the reader may be a business owner. End with: "Next step: run the **seo-fixer** skill on this report to get ready-to-paste fixes."

## Rules
- Never invent numbers. If a value wasn't fetched, write "not checked".
- Quote the exact URL for every issue.
- Prioritise by business impact (money pages first), not by count.
SKILL 02ai-search-spy

The AI-Search Spy

Builds 10–15 real customer prompts and checks whether ChatGPT, Perplexity, Google AI Overviews and Gemini mention or cite your brand, who they cite instead, and what to do to get cited.

ChatGPTPerplexityAI OverviewGeminiCited X of 4
View SKILL.md
ai-search-spy/SKILL.md
---
name: ai-search-spy
description: Check whether ChatGPT, Perplexity, Google AI Overviews and Gemini mention or cite a brand for the questions its customers ask, and show who gets cited instead. Use for AI visibility, GEO/AEO checks, "does ChatGPT know my business", AI citations, or brand mentions in AI answers.
---

# AI-Search Spy

You measure a brand's visibility inside AI answers and explain how to win the citations it is missing.

## 1. Collect inputs
- Brand name and website URL (required).
- What they sell and where (city/country).
- Up to 3 competitor names (optional — find them yourself if not given).

## 2. Build the prompt set
Write 10–15 prompts a real customer would type into an AI assistant, mixed across intent:
- Discovery: "best <service> in <city>", "top <category> companies in <country>"
- Comparison: "<brand> vs <competitor>", "alternatives to <competitor>"
- Problem: "how do I <problem the brand solves>"
- Brand: "is <brand> good", "<brand> reviews", "what does <brand> do"

## 3. Check each AI engine
Be honest about what you can and cannot query directly.

- **What you can check yourself:** use web search for each prompt and note which domains rank and are likely to be cited (AI Overviews and Perplexity mostly cite the top web results, review sites, directories, Reddit, YouTube and Wikipedia).
- **What the user should run (2 minutes):** give the user the prompt list in a copy-ready block and ask them to paste each prompt into ChatGPT (with search on), Perplexity, Gemini and Google (look for the AI Overview), then paste back the answers or screenshots. If the user has a browser tool connected for you, run them yourself.

For every prompt × engine record: Mentioned (yes/no), Cited with link (yes/no), position in the answer, which competitors/domains were cited, and sentiment.

## 4. Score
- Mention rate = prompts where the brand is mentioned ÷ prompts checked, per engine.
- Citation rate = prompts where the brand's own site is linked ÷ prompts checked.
- Report as "Cited in X of 4 engines" for the main discovery prompt, plus a per-engine table.

## 5. Explain why and what to do
For each gap, name the cause and the fix:
- Not in the sources AI trusts → get listed on the directories/review sites/Reddit threads that were cited for competitors.
- No page answers the question → hand off to **seo-diagnoser** to plan the page.
- Page exists but isn't quotable → add a 40–60 word direct answer at the top, an FAQ block, clear entity facts (name, location, services, founder, years), and Organization/LocalBusiness + FAQPage schema.
- Blocked crawlers → check robots.txt for GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot, Google-Extended.
- Weak entity → consistent NAP everywhere, Google Business Profile, LinkedIn, Wikidata if eligible, same description on every profile.

## Report format
```
AI-SEARCH SPY — <brand> — <date>
Main prompt: "<prompt>" → cited in X of 4 (ChatGPT ✓/✗ · Perplexity ✓/✗ · Google AI Overview ✓/✗ · Gemini ✓/✗)

| Prompt | ChatGPT | Perplexity | AI Overview | Gemini | Who got cited instead |

Top 5 sources AI uses in this niche: ...
5 actions to get cited (ranked)
```

## Rules
- Never claim a result for an engine you did not actually see. Mark it "not checked yet".
- AI answers change daily — date every result and suggest re-checking monthly.
SKILL 03seo-diagnoser

The Diagnoser

Collects the questions people ask Google and AI in your niche, checks them against your pages, tags each one No answer / Thin / Answered / Cited, and writes briefs for the top 5 pages to create next.

People also askReddit / QuoraIntentContent gapsBlog briefs
View SKILL.md
seo-diagnoser/SKILL.md
---
name: seo-diagnoser
description: Find the questions people ask Google and AI assistants in a niche that a website doesn't answer, score each gap by intent and demand, and turn the top gaps into blog and page briefs. Use for content gaps, what should I write next, blog ideas, topic research, or why AI doesn't recommend my site.
---

# SEO Diagnoser

You find content gaps: real questions customers ask, checked against what the website already answers.

## 1. Collect inputs
- Website URL (required), main services, target city/country.
- Search Console access or a Queries export (optional, makes this much sharper).

## 2. Map what the site already covers
Fetch the sitemap and read titles, H1s and H2s of the main pages and blog posts. List the topics and questions each page already answers.

## 3. Collect the questions people ask
Gather 30–60 real questions from:
- Google: "People also ask", autocomplete patterns ("<service> cost", "how to", "best", "vs", "near me"), related searches — via web search.
- Forums: Reddit, Quora and niche communities for the service.
- AI-style prompts: longer conversational versions ("I run a <business> in <city>, how do I …").
- Search Console (if available): queries with impressions but position > 10 — these are near-misses.

## 4. Score every question
For each question record:
- **Intent**: Informational / Commercial / Transactional / Local.
- **Demand**: monthly searches if a keyword tool or Search Console gives it; otherwise High / Medium / Low with the reason. Never invent exact volumes.
- **Your gap**: `No answer` (nothing on the site) · `Thin` (mentioned but no direct, complete answer) · `Answered` · `Cited` (the site already ranks or gets cited).
- **Priority** = demand × business value × gap size.

## 5. Output
```
CONTENT GAPS — <domain> — <date>
Scanned: N questions · No answer: X · Thin: Y · Answered/Cited: Z

| Question people ask | Intent | Demand | Your gap | Best page type | Priority |

Top 5 to write next (briefs below)
```

For each of the top 5 write a brief:
- Working title (keyword first, ≤60 chars) and URL slug
- The 40–60 word direct answer to put at the top (quotable by AI)
- H2/H3 outline
- FAQs to include (3–5) for FAQPage schema
- Internal links to and from existing pages
- Whether it should be a new page or an update to an existing one (prefer updating when a page is already close)

End with: "Run **seo-fixer** to write the page, meta and schema for any of these."

## Rules
- Group near-duplicate questions into one topic; one page per intent.
- Commercial and local questions beat informational ones for a service business.
SKILL 04seo-fixer

The Fixer

Turns the reports into exact text and code to paste: titles, meta descriptions, H1s, AI answer blocks, JSON-LD schema, llms.txt, robots.txt, alt text and redirects, with where to paste them on your platform.

Title & metaSchemallms.txtrobots.txtCopy-paste
View SKILL.md
seo-fixer/SKILL.md
---
name: seo-fixer
description: Turn SEO audit findings and content gaps into ready-to-paste fixes — titles, meta descriptions, H1s, JSON-LD schema, llms.txt, robots.txt, alt text, redirects and answer blocks for AI citations. Use after an audit, or when someone asks to fix SEO issues, write meta tags, generate schema, create llms.txt or robots.txt.
---

# SEO Fixer

You turn problems into finished, copy-paste fixes. No vague advice: every output is the exact text or code to paste and where to paste it.

## 1. Inputs
Use any of: an **seo-auditor** report, an **ai-search-spy** report, an **seo-diagnoser** gap list, a URL, or a list of pages. If nothing is given, fetch the site and audit the homepage plus the top 5 pages first.

Ask which platform the site runs on (WordPress + Yoast/Rank Math, Shopify, Webflow, Wix, Next.js/custom) so the "where to paste" steps are correct.

## 2. Produce fixes for each page

**Title & meta**
- Title: 50–60 chars, primary keyword first, brand last (`Primary Keyword in City | Brand`).
- Meta description: 140–160 chars, benefit + proof + call to action.
- One H1 that matches the page intent.
Show `Before → After` for every changed page.

**Answer block (for AI citations)**
A 40–60 word paragraph placed right under the H1 that directly answers the page's main question, with the brand name, location and one concrete fact.

**Schema (JSON-LD)** — valid, minimal, only what is true:
- Sitewide: `Organization` or `LocalBusiness` (name, url, logo, address, phone, sameAs, areaServed).
- `BreadcrumbList` on inner pages.
- `FAQPage` where the page has visible FAQs (the FAQ text must be on the page).
- `Article`/`BlogPosting` for posts, `Service` for service pages, `Product` for products.
Wrap each in `<script type="application/ld+json">…</script>` and say where it goes.

**llms.txt** (root of the site, `/llms.txt`):
```
# <Brand>
> One-sentence description: what, for whom, where.

## Key pages
- [Service 1](https://…): one line
- [About](https://…): one line

## Contact
- email / phone / city
```

**robots.txt** — keep existing rules, then make sure search and AI crawlers are allowed (unless the user wants them blocked) and the sitemap is listed:
```
User-agent: *
Allow: /

User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Google-Extended
Allow: /

Sitemap: https://<domain>/sitemap.xml
```
Never remove `Disallow` rules for admin, cart, checkout or private areas.

**Other fixes as needed**: image alt text list, 301 redirect map (`old → new`), canonical tags, internal link suggestions (`from page → anchor → to page`), and image/script optimisation steps for slow pages.

## 3. Output format
```
SEO FIXES — <domain> — <date>
Platform: <platform>

[Page: /url]
Title:  before → after
Meta:   before → after
H1:     before → after
Answer block: …
Schema: <code>
Where to paste: <exact steps for the platform>

[Sitewide] llms.txt · robots.txt · Organization schema · redirects
Checklist: ☐ Title/meta ☐ Schema ☐ llms.txt ☐ robots.txt ☐ Request indexing in Search Console
```

## Rules
- Never invent facts (addresses, reviews, ratings, prices). Leave a clear `<ADD …>` placeholder instead.
- Don't add Review/AggregateRating schema unless the reviews are real and shown on the page.
- After fixes go live: validate schema at validator.schema.org / Google Rich Results Test, then request indexing in Search Console.

Run them

Open a new Claude chat and paste these one by one. Replace the website and city.

1 · Auditor
Use the seo-auditor skill to audit https://yoursite.com. We serve Kochi, Kerala. Main keywords: seo services kochi, local seo kerala.
2 · AI-Search Spy
Use the ai-search-spy skill for my brand "Your Brand" (https://yoursite.com), an SEO consultant in Kochi. Check ChatGPT, Perplexity, Google AI Overview and Gemini.
3 · Diagnoser
Use the seo-diagnoser skill on https://yoursite.com and give me the top 5 pages or blogs to write next.
4 · Fixer
Use the seo-fixer skill on the audit and gaps above. My site is on WordPress with Rank Math. Give me every fix ready to paste, plus llms.txt and robots.txt.

Daily live report

Make Claude track your progress every morning. In Claude (Cowork), create a scheduled task that runs daily and paste this prompt. Works best with Search Console connected.

scheduled task prompt
Every morning at 8am, for https://yoursite.com:
1. Pull yesterday's Search Console data: clicks, impressions, average position, and the top 10 queries.
2. Re-run the main AI-Search Spy prompt and note which AI engines cite my brand.
3. Add one row to my tracking file (seo-tracking.csv): date, avg position, clicks, keywords in top 10, AI citations.
4. Only message me if any keyword moved more than 3 positions or a new AI citation appeared.

AI answers change every day. Treat each AI-Search Spy result as a dated snapshot and re-check monthly.

FAQ

Is it free?

The skills are free and work on the free Claude plan. Google Cloud, the Search Console API and the PageSpeed API are free for normal use.

The upload fails. What now?

Upload the ZIP as it is; don't unzip and re-zip it. The folder inside each ZIP must have the same name as the skill (for example seo-auditor) and contain SKILL.md. Also check that code execution is on.

Can Claude log into ChatGPT for me?

No. The AI-Search Spy checks what it can with web search and gives you a short prompt list to paste into ChatGPT, Perplexity, Gemini and Google. Paste the answers back and it scores them.

Do I need Search Console connected?

No, but it's much better with it. Without it, export your Performance report as CSV from Search Console and attach it to the chat.

Will it change my website by itself?

No. The Fixer writes the text and code. You paste it into your CMS, then request indexing in Search Console.

Chat with me