# Getting cited by AI answer engines without spamming: an SEO and GEO audit workflow

> A step-by-step audit for in-house marketers and founders: fix technical SEO, check which AI crawlers you let in, test whether ChatGPT, Perplexity and Google cite you, pick pages with Search Console, refresh and edit them, and earn honest third-party mentions. Tools, setup, prompts and limits.

- Page: https://hebbmind.com/ko/blog/seo-geo-ai-answer-engines
- Published: 2026-10-12
- Updated: 2026-10-12

If you run marketing in-house, or you are the founder who also does the marketing, AI search probably reached you as a vague worry: a prospect mentioned that ChatGPT suggested a competitor, or clicks fell while impressions held. Here is an audit you can repeat each quarter with a coding agent such as Claude Code or Codex:

1. Fix technical problems that stop any search engine from reading your pages.
2. Check which AI crawlers your site lets in.
3. Find out whether AI answers cite you today.
4. Pull Search Console queries to pick the pages worth improving.
5. Refresh those pages before writing new ones.
6. Edit them for the people who click through.
7. Earn honest mentions on the sites AI answers already cite.

GEO (generative engine optimization) and AEO (answer engine optimization) are two names for one goal: being the source an AI-generated answer quotes, links to or recommends. Below, a *skill* is a folder of instructions the agent loads for a task, and an *MCP server* connects the agent to an outside service such as Search Console. The `npx` and `npm` installs need Node.js.

The skills are free; the agent is not. Claude Code needs a Claude subscription or an Anthropic Console (API) account ([Claude Code docs](https://code.claude.com/docs/en/overview)). Codex is included in ChatGPT plans, Free among them, or runs on an OpenAI API key billed at API prices ([Codex pricing](https://learn.chatgpt.com/docs/pricing)). Every step below draws on that plan's allowance or your API credits.

## Why it is on the list this year

In HubSpot's 2026 State of Marketing report (1,500+ marketers, updated April 10, 2026), 40.6% of marketers cite updating SEO for search changes as one of the top trends they are tackling ([HubSpot](https://blog.hubspot.com/marketing/hubspot-blog-marketing-industry-trends-report)). Most of the groundwork is ordinary SEO: Google's guide to its generative AI features (updated July 10, 2026) says you don't need new machine-readable files, AI text files, markup or Markdown to appear in them, that Google Search doesn't use llms.txt, and that a page must be indexed and eligible to show with a snippet ([Google Search Central](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide)). ChatGPT, Perplexity, Claude and Gemini have their own crawlers or crawler settings, which is why step 2 exists.

## Where to start

| Your situation | Start with | What it costs |
| --- | --- | --- |
| One afternoon, no extra spend | SEO Audit, then AI SEO | Free skills; runs on your agent plan |
| You can sign in to Search Console | SEO Skill or Google Search Console MCP Server | Free tools; Node 22+ for SEO Skill, or uv and your own Google Cloud project |
| You owe someone a written audit | Claude SEO or GEO-SEO Claude | Free code plus Claude Code usage (Claude SEO's Opus agents use more); needs Python |
| You need keyword, rank or backlink data | OpenSEO or DataForSEO MCP Server | OpenSEO: trial credit, then a monthly plan plus usage. DataForSEO: pay-as-you-go, USD 50 minimum top-up |

## Step 1: Fix the technical basics

**Hand the agent:** your domain, the 5 to 10 pages that matter most (pricing, product pages, best posts) and any recent migration.

SEO Audit checks crawlability and indexation first, then speed, on-page elements and content, and returns prioritized fixes. It is instructions only, so it judges only what the agent fetches. Its README warns that agent fetch tools can strip the JSON-LD script tags that carry structured data and miss schema added by JavaScript, so confirm in Google's Rich Results Test before reporting missing schema.

- [SEO Audit](https://hebbmind.com/ko/skill/seo-audit.md): [Skill] Prioritized technical and on-page audit; free, instructions only.

```bash
# Claude Code
npx skills add coreyhaines31/marketingskills --skill seo-audit -a claude-code -y
# Codex
npx skills add coreyhaines31/marketingskills --skill seo-audit -a codex -y
```

For measured numbers, add Lighthouse, the Chrome team's auditing tool, which any agent that runs terminal commands can use. It needs Node 22+ and Chrome, runs locally, and its README says results are never sent to a remote server. Scores are lab measurements, not real-visitor data.

- [Lighthouse](https://hebbmind.com/ko/cli/lighthouse.md): [CLI] Local performance and SEO scores per page; needs Node 22+ and Chrome.

```bash
npm install -g lighthouse
```

For one large report, Claude SEO (Claude Code only) runs parallel subagents across technical SEO, E-E-A-T (the experience, expertise, authoritativeness and trust signals Google's quality raters look for), schema, Core Web Vitals (Google's loading, responsiveness and visual-stability metrics) and GEO. Run `/seo setup` after installing. It needs Python 3.10 or newer, and its README recommends 3.11 or newer for new installs because 3.10 reaches end of life this month. Without Google API credentials, Core Web Vitals are lab estimates and indexation is inferred. Its README also notes that five agents now run on Opus, so a full `/seo audit` costs more than it did before version 2.3.1.

- [Claude SEO](https://hebbmind.com/ko/plugin/claude-seo.md): [Plugin] Full-site audit with parallel subagents; Claude Code only, Python 3.11+ advised.

```bash
claude plugin marketplace add AgriciDaniel/claude-seo && claude plugin install claude-seo@agricidaniel-claude-seo
```

```text
Use the seo-audit skill on https://example.com: /pricing, /product and /blog/top-post.
Check robots.txt, the sitemap, canonicals, noindex tags and redirects first. Then run
lighthouse on each page with --only-categories=performance,seo --output=json.
Don't report missing schema unless you checked a rendered page.
Return a table: issue, page, evidence, fix, effort. Don't edit files.
```

## Step 2: Check what AI crawlers can read

**Hand the agent:** your robots.txt, plus a note from whoever runs your CDN or firewall on bot-blocking rules. Crawler names do different jobs:

| User agent | Documented purpose | If you block it |
| --- | --- | --- |
| OAI-SearchBot | Surfaces sites in ChatGPT search | Not shown in ChatGPT search answers, though navigational links can appear ([OpenAI](https://developers.openai.com/api/docs/bots)) |
| GPTBot | Crawls content that may be used to train OpenAI's models | Signals your content should not be used for training; ChatGPT search is unaffected |
| PerplexityBot | Surfaces and links sites in Perplexity search; not used to crawl content for AI foundation models ([Perplexity](https://docs.perplexity.ai/docs/resources/perplexity-crawlers)) | May not appear in Perplexity search results |
| Claude-SearchBot | Improves Claude's search results | May reduce visibility there ([Anthropic](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler)) |
| Claude-User | Fetches pages when a Claude user asks a question | Claude can't retrieve your page for that user, which may reduce visibility |
| ClaudeBot | Collects content that could be used for training | Signals that future content should be excluded from Anthropic's training data |
| Google-Extended | Gemini model training, and grounding in Gemini Apps and Vertex AI | No effect on Google Search inclusion or ranking; signals your content should not ground Gemini app answers ([Google](https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers)) |

ChatGPT-User and Perplexity-User fetch a page because a person asked for it, and OpenAI and Perplexity say robots.txt rules may not apply to them. Anthropic says its bots, Claude-User included, honor robots.txt. Google's AI Overviews and AI Mode have their own switch, the Search generative AI control in Search Console: inclusion is the default, and excluding removes your links and content from those features ([Search Console Help](https://support.google.com/webmasters/answer/16908024)). Check nobody changed it.

GEO-SEO Claude checks robots.txt for 14+ AI crawlers with allow or block advice, analyzes or generates llms.txt, and scores passages for how easily AI can cite them. It is built for Claude Code: its README lists the Claude Code CLI as a requirement, and the `/geo` commands, citability scoring scripts, subagents and PDF reports come from the README's install script, which needs Python 3.8+ and Git. That script is piped from the repository straight into your shell, so open install.sh and read it (or have your agent summarize it) before running it. The `npx` lines below copy only the instruction files; in Codex that is all you get, so use the prompt below instead of its commands. Its README opens with unsourced market statistics; don't repeat them.

Google Search doesn't use llms.txt (see above), so treat generating one as optional and do it after the crawler and indexing fixes.

- [GEO-SEO Claude](https://hebbmind.com/ko/skill/geo-seo-claude.md): [Skill] AI crawler, llms.txt and citability checks; Claude Code; scoring and PDFs need Python.

```bash
# Claude Code
npx skills add zubair-trabzada/geo-seo-claude --skill '*' -a claude-code -y
# Codex
npx skills add zubair-trabzada/geo-seo-claude --skill '*' -a codex -y
```

With the full install in Claude Code, `/geo crawlers https://example.com` runs the skill's own crawler check. In any agent, this prompt checks the file against your policy:

```text
Read https://example.com/robots.txt and check OAI-SearchBot, GPTBot, ChatGPT-User,
PerplexityBot, Perplexity-User, Claude-SearchBot, Claude-User, ClaudeBot and Google-Extended.
Our policy (replace with yours): allow search crawlers, block training crawlers.
Google-Extended covers Gemini grounding as well as training; flag it for a separate decision.
For each bot, say allowed or blocked and quote the responsible line, then propose
exact robots.txt edits. Don't change anything; I will review and deploy.
```

## Step 3: Check whether you are cited today

**Hand the agent:** 10 to 20 prompts a buyer would type, such as `best scheduling software for dental clinics` or `YourBrand vs CompetitorBrand`, with the answers and cited links you collected. AI SEO's README says to keep to prompts that would change revenue and to run each 3 to 5 times per platform, because answers vary: one run is an anecdote. Record "cited 3 of 5", not yes or no.

Start small: 10 prompts, 3 runs each, on the two assistants your buyers use most is 60 runs, which you can do by hand. Paid tools can run prompts for you; OpenSEO's hosted plan, for example, bills AI prompt checks per use (see the last section).

The skill does not query ChatGPT or Perplexity itself. You, or a paid tracker, run the prompts; the skill compares who gets cited and why their pages are easier to quote (direct answers, tables, sourced numbers, dates) and suggests rewrites, structured data and missing third-party mentions.

- [AI SEO](https://hebbmind.com/ko/skill/ai-seo.md): [Skill] Structures the citation check and suggests quotable rewrites; free.

```bash
# Claude Code
npx skills add coreyhaines31/marketingskills --skill ai-seo -a claude-code -y
# Codex
npx skills add coreyhaines31/marketingskills --skill ai-seo -a codex -y
```

```text
Use the ai-seo skill. citations.csv has 10 prompts, each run 3 times in ChatGPT and
Perplexity, with the URLs each answer cited. Calculate our citation rate per prompt and
platform, list competitor pages cited where we are not, and for our 3 weakest prompts
compare our page with the cited one on structure, sourcing and freshness. Suggest edits
to existing pages only. Save the third-party pages that were cited (review sites,
comparison articles, forums, Wikipedia) to cited-sources.csv for step 7.
```

## Step 4: Pull your Search Console queries

**Hand the agent:** access to your Search Console property. Two tools do this; pick by how much setup you can face.

SEO Skill is a command-line tool with its own MCP server, which works with any agent that can start a local MCP server. It needs Node 22+. `seo start` walks you through Google sign-in and your Search Console property, and offers to add its skill and MCP server to your agent (later: `seo mcp install --claude-code` or `--codex`). Its README says public releases can include a shared Google app; if yours does not, setup guides you through adding your own desktop OAuth client. `seo report --url https://example.com` gives a technical report with no sign-in, and `seo quick-wins` finds pages ranking 4 to 10 with low click-through. Google tokens, project profiles and crawl reports are stored on your machine. Keyword and competitor research needs a paid provider (DataForSEO, Semrush or Ahrefs); connecting one is optional.

- [SEO Skill](https://hebbmind.com/ko/cli/seo.md): [CLI] Crawl plus Search Console data, ranked into fixes; Node 22+, Google sign-in.

```bash
npm i -g seo && seo start
```

Google Search Console MCP Server lets the agent pull queries and pages with clicks, impressions, CTR and position, compare periods, check indexing for up to 10 URLs at once and list sitemaps. It is not a Google project. You need uv, a small tool that downloads and runs Python programs (its README gives the three Terminal commands to install it), a Google Cloud project with the Search Console API turned on, and an OAuth client of type Desktop app saved as a JSON file (the README walks through creating it). The first run opens a browser sign-in. The add-site, delete-site and delete-sitemap tools stay off unless you set `GSC_ALLOW_DESTRUCTIVE`; leave it unset. Submitting a sitemap works by default, so tell the agent to read only. Each request returns at most 500 rows, so on a large site ask for one folder or page group at a time.

- [Google Search Console MCP Server](https://hebbmind.com/ko/mcp/mcp-gsc.md): [MCP] Search Console queries, pages and indexing checks; needs your own OAuth file.

```bash
# Claude Code
claude mcp add -e GSC_OAUTH_CLIENT_SECRETS_FILE=/path/to/client_secrets.json gsc -- uvx mcp-search-console
# Codex
codex mcp add gsc --env GSC_OAUTH_CLIENT_SECRETS_FILE=/path/to/client_secrets.json -- uvx mcp-search-console
```

One gap: Search Console now has a Generative AI performance report for AI Overviews and AI Mode, showing impressions by page, country, device and date, with no queries ([Search Console Help](https://support.google.com/webmasters/answer/16984139)). Neither tool's README lists it, and AI SEO's README still says there is no AI-specific reporting, so open it in the browser.

```text
Using the Search Console tools for sc-domain:example.com, compare the last 90 days with the
previous 90. Read only: don't submit, add or delete anything. List pages with steady
impressions but falling clicks, and the question-style queries (how, what, best, vs) each
gets. Check indexing for the top 10. Output a refresh shortlist: page, queries to answer,
current position.
```

## Step 5: Refresh existing pages before writing new ones

**Hand the agent:** the shortlist, each page's current text and a file of facts that changed. Google's guide says you needn't break content into tiny pieces for AI, and that producing many variations mainly to manipulate rankings or AI responses violates its scaled content abuse policy. Improving a page that already earns impressions is safer than publishing ten new ones.

Copy Editing works through existing copy in seven sweeps (clarity, voice, so-what, proof, specificity, emotion, risk), runs a check for AI-writing tells on every edit, and includes a refresh framework for stale pages. Its specificity sweep pushes for concrete numbers; when a fact is missing it marks `[NEED: ...]` instead of inventing one, so supply real numbers or fill those gaps yourself.

- [Copy Editing](https://hebbmind.com/ko/skill/copy-editing.md): [Skill] Seven-sweep edit and refresh of existing pages; free.

```bash
# Claude Code
npx skills add coreyhaines31/marketingskills --skill copy-editing -a claude-code -y
# Codex
npx skills add coreyhaines31/marketingskills --skill copy-editing -a codex -y
```

```text
Refresh /blog/top-post with the copy-editing skill, using the queries in shortlist.md.
Keep the URL, search intent and author voice. Answer each listed question in the first two
sentences of its section. Use only facts from facts.md and add a last-updated date. Where
a claim needs a number or source we lack, mark it [NEED: ...]. Show changes as a diff.
```

## Step 6: Edit for the people who click through

**Hand the agent:** the refreshed draft and two or three paragraphs you wrote yourself. Orbit Media's 2026 survey of 1,042 content marketers found 92.4% use AI for blogging and 13.9% say their blog delivers strong results, an all-time low; Orbit reports that AI use "correlates with nothing" in those results ([Orbit Media, September 8, 2026](https://www.orbitmedia.com/blog/blogging-statistics/)). A citation can earn the visit; the page still has to persuade a person.

Copy Editing has already checked for AI tells, so this step is an optional second pass. Humanizer's main extra is matching your voice from a writing sample. It flags and rewrites AI-writing patterns from Wikipedia's Signs of AI writing guide, and its README says it asks for missing details rather than inventing them, and that beating AI detectors is not a goal: detectors still flag most of its output. Read the result yourself before it goes live.

- [Humanizer](https://hebbmind.com/ko/skill/humanizer.md): [Skill] Second pass that matches your voice and removes AI-writing tells; adds no facts.

```bash
# Claude Code
npx skills add blader/humanizer --skill humanizer -a claude-code -y
# Codex
npx skills add blader/humanizer --skill humanizer -a codex -y
```

```text
/humanizer
Here is a sample of my writing for voice matching: [paste 2-3 paragraphs]
Now humanize the prose in drafts/top-post.md. Keep headings, links, numbers and quotes.
```

## Step 7: Earn mentions on the sites AI already cites

**Hand the agent:** cited-sources.csv from step 3 and links to your listings on review sites, directories and marketplaces.

The worry from the opening, ChatGPT suggesting a competitor, is often not about your pages at all. AI SEO's README separates the two: being cited means your content was useful to consult, while being recommended "is governed by web-wide consensus (reviews, forums, analysts, press) and is largely independent of your own content". It also says ChatGPT, Claude, Perplexity and Copilot cite third-party sources such as Reddit, Wikipedia and review sites more heavily than top-ranked pages.

The honest moves, most of them from that README:

- **Make your profiles agree.** Your listings on review and directory sites (it names G2, Capterra, Crunchbase and LinkedIn) should describe you with the same segment and positioning as your About page; the README says models look for consensus.
- **Fix outdated facts.** Correct the listings you control. If Wikipedia has an article about you, its conflict-of-interest guideline strongly discourages editing it yourself: disclose your interest and propose changes on the article's talk page ([Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Conflict_of_interest)).
- **Ask real customers for reviews** on the sites that get cited. Don't pay for positive reviews, write them for customers or post them yourself.
- **Offer something worth citing.** Pitch original data or expert quotes to the roundups and comparison articles that are already cited.
- **Join communities as yourself.** Post under your own name with your affiliation stated. The README treats Reddit as one surface in a portfolio, because citation mixes shift when retrieval changes.

With the full install in Claude Code, GEO-SEO Claude's `/geo brands` scans YouTube, Reddit, Wikipedia, LinkedIn and other platforms for brand mentions, according to its README, which shows where you are already discussed.

```text
Use the ai-seo skill. From cited-sources.csv, group the third-party pages cited where we
are absent: review site, comparison article, forum thread, Wikipedia, directory. For each,
say what it says about us, if anything, and quote any fact that is wrong or out of date.
Draft short, factual correction requests or pitches for the ones we can honestly approach.
Don't draft reviews, forum posts or anything published under someone else's name.
```

The list under "What not to do" below is the boundary for this step.

## Measure and repeat

Next quarter, rerun the same prompt set and the same Search Console comparison for the pages you changed, and compare rates, not single answers. Free tools show what Google and your own analytics record about your site. Competitor rankings, keyword volumes, backlinks and cross-engine AI visibility come from paid data.

### Visits from AI answers

AI SEO's README suggests tracking referral traffic from AI sources to see which of your pages get cited. Google Analytics MCP Server, official from Google Analytics and marked experimental, lets the agent run Google Analytics 4 reports. It needs pipx, a Google Cloud project with the Google Analytics Admin API and Data API enabled, and Application Default Credentials with the read-only Analytics scope, which its README sets up with the `gcloud` command from the Google Cloud CLI. If you connected Google Analytics during SEO Skill's setup, `seo analytics google report` can pull GA4 reports too.

- [Google Analytics MCP Server](https://hebbmind.com/ko/mcp/google-analytics-mcp.md): [MCP] Official but experimental GA4 reports; read-only scope; needs Google Cloud credentials.

```bash
# Claude Code
claude mcp add analytics-mcp --scope user -e "GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_CREDENTIALS_JSON" -e "GOOGLE_PROJECT_ID=YOUR_PROJECT_ID" -- pipx run analytics-mcp
# Codex
codex mcp add analytics-mcp --env GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_CREDENTIALS_JSON --env GOOGLE_PROJECT_ID=YOUR_PROJECT_ID -- pipx run analytics-mcp
```

```text
Using the Google Analytics tools, run a report for the last 90 days: sessions by session
source and landing page, where the source contains chatgpt, perplexity, claude, gemini or
copilot. Compare with the previous 90 days and list the landing pages that gained.
```

This counts only visits that arrive with a referrer from those services. Visits that arrive without one are counted as direct traffic, so treat the number as a floor.

### Paid keyword, rank and backlink data

OpenSEO is an open-source Semrush and Ahrefs alternative whose MCP server covers keyword research, rank tracking, competitor insights, backlinks, site audits and AI visibility. The hosted version (the commands below) starts with a small trial credit, then a monthly plan that includes a usage allowance, with paid top-up credits for heavier use ([OpenSEO pricing](https://openseo.so/pricing), checked October 2026). Its README says the hosted service adds 28% to the cost of each DataForSEO request it makes. Self-hosting with Docker or Cloudflare means paying DataForSEO directly with your own key. Either way, have the agent list planned lookups before running them.

- [OpenSEO](https://hebbmind.com/ko/mcp/open-seo.md): [MCP] Keywords, rankings, backlinks and AI visibility; trial credit, then paid.

```bash
# Claude Code
claude mcp add --transport http --scope user openseo https://app.openseo.so/mcp
# Codex
codex mcp add openseo --url https://app.openseo.so/mcp
```

DataForSEO MCP Server, maintained by DataForSEO, lets the agent read the API docs and make authenticated requests for keyword, SERP, backlink and site audit data. It needs a pay-as-you-go account: new accounts get a small trial credit for the API Playground, and the minimum top-up was USD 50 when checked in October 2026 ([DataForSEO pricing](https://dataforseo.com/pricing)). The hosted server signs in with OAuth. Have the agent list planned requests before running them, since each is billed.

- [DataForSEO MCP Server](https://hebbmind.com/ko/mcp/mcp-server-typescript.md): [MCP] Raw keyword, SERP and backlink data; pay-as-you-go account.

```bash
# Claude Code
claude mcp add --transport http dataforseo https://mcp.dataforseo.com/v3/mcp
# Codex
codex mcp add dataforseo --url https://mcp.dataforseo.com/v3/mcp
```

## What not to do

- **Mass-produce pages.** Google's spam policies define scaled content abuse as many pages generated mainly to manipulate rankings rather than help users, citing "using generative AI tools or other similar tools to generate many pages without adding value for users" ([Google spam policies](https://developers.google.com/search/docs/essentials/spam-policies)). Near-identical pages for each city that funnel visitors to one page fall under a separate policy, doorway abuse.
- **Fake reviews or testimonials.** The US Federal Trade Commission's final rule, announced August 14, 2024, bans fake reviews including AI-generated ones, company-controlled sites posing as independent reviewers and bought fake social media indicators, and lets the FTC seek civil penalties from knowing violators ([FTC](https://www.ftc.gov/news-events/news/press-releases/2024/08/federal-trade-commission-announces-final-rule-banning-fake-reviews-testimonials)). Check your other markets' rules too.
- **Manufacture mentions.** AI SEO's README rules out fabricated citations, invented awards, "independent" review sites you own and bulk posting on Reddit or Wikipedia.
- **Block crawlers by name without checking their purpose.** Use the table in step 2.

## Limits and risks

- **Citation checks are samples.** Answers change between runs, places and accounts. Track rates over months, not screenshots.
- **Scores belong to the tool.** A GEO score from GEO-SEO Claude or Claude SEO is that tool's weighting, not a Google or OpenAI metric. Report the findings underneath.
- **Agents misread pages.** JavaScript-injected schema and client-rendered pages cause false findings. The SEO Audit README also treats fetched pages as untrusted data, since page text can carry instructions aimed at agents.
- **Install scripts run code on your machine.** Read a piped install script, such as GEO-SEO Claude's, before running it, or stay with the instruction-only install.
- **Credentials and client data.** Your Search Console OAuth file, Google Analytics credentials and DataForSEO login open real accounts; keep them out of shared folders and repositories. Get a client's permission before connecting their Search Console or Analytics to any hosted service.
- **A person ships the change.** Have the agent propose robots.txt, schema and copy changes as diffs, and review them before anything goes live.

- [SEO and AI search visibility](https://hebbmind.com/ko/collections/seo-ai-search-visibility.md): For in-house marketers, content leads and solo founders: connect Search Console, audit, check AI crawlers and citations, research keywords, refresh posts, edit. Most run in Claude Code. Search-volume data costs money; AI-citation tracking is immature. Improve your pages; don't mass-produce. (13 resources)
