---
name: seo-audit-jobs
description: "Step-by-step job recipes for the SEO Audit MCP server: SEO audit (site); Local AI-search readiness; Compare cited pages. Use when the user asks things like \"Audit example.com for SEO problems.\" or \"Is example.com ready to be named in AI search? It is a local plumbing business.\""
license: MIT
---

# SEO Audit jobs

Each section below walks through one job with the tools of the `seo-audit` MCP server. The same recipes are MCP prompts (prompts/list) on `https://api.openkrill.app/gateway/mcp`.
Connect the server at `https://seoaudit.openkrill.app/mcp` in your MCP client settings (remote streamable HTTP, no key), then call its tools as normal tool calls. They are not command line programs: Bash, curl and scripts cannot reach them.

## SEO audit (site)

Job: SEO audit (site), with the SEO Audit MCP server.

Use the `audit_site` tool for this job.

Work on the user's request. If there is none yet, ask what they need. A request this job handles: "Audit example.com for SEO problems."

Steps:
1. Call `audit_site` as a normal MCP tool call, with the request's values in the fields of its inputSchema. It needs `domain`.
2. If a value the tool needs is missing and you cannot tell it from the request, ask the user one short question first.
3. This input is known to work; copy its format, not its values: `{"domain":"example.com"}`
4. For the request "Audit example.com for SEO problems.", a correct answer looks like this: Failed rules grouped into high, medium and low, each with the affected pages, the fix and the documentation link, the number of pages read, and any notes such as a missing sitemap.
5. Follow the server's own rules:
   - Pass a public address; a bare domain means https.
   - Lead with the summary or score, then findings or fixes in the order returned, high priority first, with pages, evidence URL and fix.
   - Cite the source links of rules you mention.
   - For audits, say how many pages were read and that counts describe that sample.
   - Say which rules are heuristics.
   - Relay the notes, including a robots.txt refusal.
   - For per-page questions such as broken links or images without alt text, answer from audit_site pages rows, say how many links each page had checked, and do not call audit_page per address.
   - After audit_site findings, list the bing_ai_search steps with their source links.
   - Never invent it or offer an example; ask the owner.
   - If summary.hasPages is false, relay the note.
   - Lead with gaps, then name each unread cited page in the words of cited[].note.
   - If readableCited is under 2, say no pattern can be reported and ask for more addresses.
   - A score, a pass or a shared signal is not a promise of a citation, traffic or a change in AI Overviews.
   - Cite reason.post and reason.asOf, or study.source and study.asOf, when you mention the method.
   - Say profile advice was not fetched.
   - If a daily limit refuses a call, say when it resets.
   - Do not use these tools to collect content or contact details, or for rankings, traffic or backlinks.
   - Do not query AI engines or scrape directories.
6. If the call fails or the answer looks wrong, tell the user, then report it with `submit_feedback` (kind bug, tool `audit_site`).

## Local AI-search readiness

Job: Local AI-search readiness, with the SEO Audit MCP server.

Use the `local_ai_readiness` tool for this job.

Work on the user's request. If there is none yet, ask what they need. A request this job handles: "Is example.com ready to be named in AI search? It is a local plumbing business."

Steps:
1. Call `local_ai_readiness` as a normal MCP tool call, with the request's values in the fields of its inputSchema. It needs `url`.
2. If a value the tool needs is missing and you cannot tell it from the request, ask the user one short question first.
3. This input is known to work; copy its format, not its values: `{"url":"example.com"}`
4. For the request "Is example.com ready to be named in AI search? It is a local plumbing business.", a correct answer looks like this: Pass, warn or fail for each check (service pages, location pages, prices, FAQ, LocalBusiness schema, NAP, proof, one-line description, recent content), each with an evidence URL and a fix, plus the Yext study note and profile advice marked as not fetched.
5. Follow the server's own rules:
   - Pass a public address; a bare domain means https.
   - Lead with the summary or score, then findings or fixes in the order returned, high priority first, with pages, evidence URL and fix.
   - Cite the source links of rules you mention.
   - For audits, say how many pages were read and that counts describe that sample.
   - Say which rules are heuristics.
   - Relay the notes, including a robots.txt refusal.
   - Never invent it or offer an example; ask the owner.
   - If summary.hasPages is false, relay the note.
   - Lead with gaps, then name each unread cited page in the words of cited[].note.
   - If readableCited is under 2, say no pattern can be reported and ask for more addresses.
   - A score, a pass or a shared signal is not a promise of a citation, traffic or a change in AI Overviews.
   - Cite reason.post and reason.asOf, or study.source and study.asOf, when you mention the method.
   - Say profile advice was not fetched.
   - If a daily limit refuses a call, say when it resets.
   - Do not use these tools to collect content or contact details, or for rankings, traffic or backlinks.
   - Do not query AI engines or scrape directories.
6. If the call fails or the answer looks wrong, tell the user, then report it with `submit_feedback` (kind bug, tool `local_ai_readiness`).

## Compare cited pages

Job: Compare cited pages, with the SEO Audit MCP server.

Use the `compare_citations` tool for this job.

Work on the user's request. If there is none yet, ask what they need. A request this job handles: "Google's AI Overview for "best form builder" cites https://a.example.com/best and https://b.example.com/guide. How does https://mine.example.com/forms compare?"

Steps:
1. Call `compare_citations` as a normal MCP tool call, with the request's values in the fields of its inputSchema. It needs `query`, `cited_urls`.
2. If a value the tool needs is missing and you cannot tell it from the request, ask the user one short question first.
3. This input is known to work; copy its format, not its values: `{"query":"best form builder","cited_urls":["https://a.example.com/x","https://b.example.com/y"],"url":"https://mine.example.com/forms"}`
4. For the request "Google's AI Overview for "best form builder" cites https://a.example.com/best and https://b.example.com/guide. How does https://mine.example.com/forms compare?", a correct answer looks like this: The gaps first, each with how many cited pages have the signal, the value on the user's page and a fix, then every signal, any cited page that could not be read, and a note that a shared signal is a pattern in a small sample and not a promise of a citation.
5. Follow the server's own rules:
   - Pass a public address; a bare domain means https.
   - Lead with the summary or score, then findings or fixes in the order returned, high priority first, with pages, evidence URL and fix.
   - Cite the source links of rules you mention.
   - For audits, say how many pages were read and that counts describe that sample.
   - Say which rules are heuristics.
   - Relay the notes, including a robots.txt refusal.
   - Never invent it or offer an example; ask the owner.
   - If summary.hasPages is false, relay the note.
   - Tell the owner to pick one question about what they sell and ask it by hand in ChatGPT or Google AI first. compare_citations: ask the user for 2 to 6 cited addresses; never guess them or claim you read the AI answer.
   - Lead with gaps, then name each unread cited page in the words of cited[].note.
   - If readableCited is under 2, say no pattern can be reported and ask for more addresses.
   - A score, a pass or a shared signal is not a promise of a citation, traffic or a change in AI Overviews.
   - Cite reason.post and reason.asOf, or study.source and study.asOf, when you mention the method.
   - Say profile advice was not fetched.
   - If a daily limit refuses a call, say when it resets.
   - Do not use these tools to collect content or contact details, or for rankings, traffic or backlinks.
   - Do not query AI engines or scrape directories.
6. If the call fails or the answer looks wrong, tell the user, then report it with `submit_feedback` (kind bug, tool `compare_citations`).
