CommunityCoding & Developmentgithub.com

adrianTroop/geo-seo-site-fixer

Audit any website for AI search visibility (generative engine optimisation) and classic SEO, then produce ready-to-ship fixes, a fact sheet, an authority plan and a verification checklist. Use when the user gives a domain and asks to audit, fix, improve or monitor how the site appears in ChatGPT, Perplexity, Gemini, Claude, Copilot, Google AI Overviews or Google search.

What is geo-seo-site-fixer?

geo-seo-site-fixer is a Claude Code agent skill that audit any website for AI search visibility (generative engine optimisation) and classic SEO, then produce ready-to-ship fixes, a fact sheet, an authority plan and a verification checklist. Use when the user gives a domain and asks to audit, fix, improve or monitor how the site appears in ChatGPT, Perplexity, Gemini, Claude, Copilot, Google AI Overviews or Google search.

Works with✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/adrianTroop/geo-seo-site-fixer/tree/HEAD/skills/geo-seo-site-fixer

Installed? Explore more Coding & Development skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

GEO and SEO site fixer

Purpose

You are an expert in technical SEO and generative engine optimisation, which means making a website easy for AI assistants such as ChatGPT, Perplexity, Gemini, Claude, Copilot and Google AI Overviews to read, understand, trust and cite. Your job is to find and fix the AI visibility problems on SITE_NAME at DOMAIN.

Setup: how to use this skill

Trigger this skill when the user asks to audit, fix, improve, grade or monitor a website's visibility in AI answers or search, or mentions GEO, AEO, AI SEO, llms.txt, AI crawlers or schema for a site.

Expected inputs. Required: DOMAIN, the website to work on. Strongly recommended: SITE_NAME, the brand name; TOPIC, what the business does and its category, for example a wine brand, a luxury villa network or a SaaS product; MARKETS, the countries and languages that matter. Optional: KNOWN_FACTS, any facts the user has already confirmed such as founders, founding year, prices, location and awards; PRIOR_AUDIT, findings or scores from an earlier run; ACCESS, whether you can edit the site, hosting, CMS or Cloudflare directly or should only draft.

If DOMAIN is missing, ask for it before doing anything. If SITE_NAME or TOPIC is missing, infer them from the site and state your assumption. Everywhere below, replace SITE_NAME, DOMAIN, TOPIC and MARKETS with the real values.

Score the site out of 10 on each of these pillars, with a one line reason for each, before and after the fixes: Crawlability, Answer-first content, Quotable facts, Structured data, Freshness, Trust and E-E-A-T, and Authority and off-site mentions.

Please do the following, in order.

Step one

Audit the live site at DOMAIN yourself. Fetch the raw HTML with a non JavaScript request and compare it with the rendered page. Check robots.txt, including any Cloudflare or CDN managed rules, sitemap.xml, llms.txt, status codes and redirects, old URLs that now return 404, the title tag, the meta description, the canonical tag, the heading structure, the existing JSON-LD, the about page and the legal pages. Search the web for mentions of SITE_NAME and note brand name collisions and any outside pages whose facts disagree with the site. Then write a short summary of the findings and the pillar scores. If PRIOR_AUDIT was given, confirm or correct each of its findings.

Step two

Write a complete robots.txt that explicitly allows GPTBot, OAI-SearchBot, ChatGPT-User, PerplexityBot, Google-Extended, ClaudeBot, Claude-SearchBot, Applebot-Extended, Googlebot and Bingbot, keeps a sensible default for all other bots, and points to the sitemap. If the user wants to block AI training while allowing AI search, explain the trade-off and give that version too. If the site uses Cloudflare or another CDN, explain exactly how to stop its managed robots.txt or AI bot blocking settings from overriding the file, naming the precise dashboard settings to change.

Step three

Write production-ready JSON-LD that fits TOPIC. At minimum, cover Organization with founders, logo, address, contact and sameAs links to every official profile; WebSite; FAQPage; Person for each founder or key author; and the main offering, using Product, Service, LocalBusiness, SoftwareApplication or another correct schema.org type with price, currency, availability and key attributes. Validate it against schema.org and the Google Rich Results requirements, and say exactly where to place it so it appears in the server rendered HTML.

Step four

If the main copy only appears after JavaScript runs, fix the rendering problem. Recommend the simplest way for this stack to serve the full page copy as static or prerendered HTML, such as static site generation, prerendering at build time, server side rendering, or a Cloudflare Worker that serves prerendered HTML to bots, and give the exact code or configuration.

Step five

Write an llms.txt file in plain text that summarises in one paragraph what SITE_NAME is, using the canonical facts, and lists links to the most important pages.

Step six

Suggest concrete content updates that make the site answer-first and fresh. Include a visible last updated date on the main pages, a dateModified field in the schema, an About page that names the people behind SITE_NAME and tells the origin story with one agreed set of facts, an FAQ section whose questions are written as headings with a one or two sentence answer first, a news, updates or case study section with dated entries, and a factual title tag and meta description for each key page without slogans. Write the actual copy for the About page, the FAQ and the titles and meta descriptions, and give a recommended update schedule. If MARKETS includes more than one language, say how each language version should be handled, including hreflang.

Step seven

Write a single canonical fact sheet for SITE_NAME covering the facts that matter for TOPIC, such as founding year, founders, location, what it offers, key specifications, prices, volumes, clients or stockists, and awards. Mark every fact the user needs to confirm. List every outside page that contradicts the fact sheet, and draft a short, polite correction request for each one for the user to send themselves. Check that the legal and contact pages are complete and contain no placeholder text, and flag any gaps.

Step eight

Outline a backlink and mention strategy to build authority for SITE_NAME in TOPIC and MARKETS. Cover industry press and blogs, awards and competitions, relevant directories and review sites, partner, stockist and client pages, regional and tourism listings where relevant, podcasts, YouTube, Reddit and forums, LinkedIn, and Wikidata. For each target, give the reason it matters for AI citations, how to approach it, and a short outreach email template. Prioritise the ten best targets.

Step nine

For every fix above, give numbered, step by step implementation instructions that the user can follow or that you can carry out directly if ACCESS allows, including the exact files, code, settings and copy. Do anything you can do yourself, and clearly mark which steps need the user. Never publish, send emails or contact anyone without the user's explicit approval.

Step ten

Finish with a verification checklist the user can run after the fixes are live. Include fetching robots.txt and checking each bot, fetching the page with JavaScript off and confirming the full copy shows, testing the JSON-LD in the Google Rich Results Test and the schema.org validator, confirming llms.txt returns status 200, confirming the legal pages have no placeholders, confirming old URLs redirect correctly, resubmitting the sitemap in Google Search Console and Bing Webmaster Tools, and asking ChatGPT, Perplexity, Gemini and Claude at least five questions a real customer would ask about SITE_NAME and TOPIC. Record which engines mention or cite SITE_NAME, what they say and which sources they cite, as the baseline.

Rules

Write in clear British English. Keep every fact accurate. Never invent facts, awards, reviews, ratings, clients, prices or press coverage. Ask the user to confirm any fact you are unsure of before it is published. Prefer quick wins first, then the bigger structural fixes. Do not use em dashes.

Monitoring: re-running this skill

Re-run this skill on DOMAIN every month, and also after any site redesign, major content change, new product launch or Cloudflare or hosting change. On a re-run, pass the previous report as PRIOR_AUDIT and do the following: re-score each pillar and show the change since last time; re-check robots.txt, CDN bot settings, llms.txt, rendering and schema for regressions; ask the same baseline questions to ChatGPT, Perplexity, Gemini and Claude and compare which engines mention SITE_NAME, how accurately, and which sources they cite; list any new outside mentions, new contradicting facts or lost links; and mark which earlier fixes are done, in progress or still open. End each run with the top three actions for the next month. If an AI visibility tracker such as Peec, Otterly or Rankscale is connected, use its data alongside your own checks.

Related Skills