SEO Audit + GEO AI-Visibility Check Included
Pricing
$25.00 / 1,000 page audited (seo + geo)s
SEO Audit + GEO AI-Visibility Check Included
Full technical SEO audit with the GEO / AI-visibility check included at no extra cost: what Googlebot, GPTBot, ClaudeBot and PerplexityBot actually see, llms.txt, AI bot rules, plus hreflang and multilingual checks. 0-100 score per page and a ranked fix list.
Pricing
$25.00 / 1,000 page audited (seo + geo)s
Rating
0.0
(0)
Developer
mark muzyka
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
A full technical SEO audit of any website, with the GEO / AI-visibility check included at no extra cost. One price per page covers both.
- SEO: a 0-100 score for every page, indexing, meta, headings, content, structured data, links, images and a prioritized fix list ranked by impact, reach and effort.
- GEO (included): can ChatGPT, Claude, Perplexity and Google AI features actually read your site? The audit fetches your pages as GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Googlebot and compares what each one gets, checks robots.txt rules for 15 AI and search bots (including Google-Extended, used for Gemini), and validates
llms.txtandllms-full.txt. - Multilingual (included): hreflang reciprocity, x-default,
<html lang>vs URL, and the real language of the text on every locale page. Most SEO audit tools skip this.
What bots actually see. The audit reads the raw HTML exactly as crawlers fetch it, without running JavaScript. Most search and AI crawlers index that raw HTML, so if your content only appears after JavaScript runs, this audit shows it as missing, which is exactly what you need to fix.
Who it is for
- SEO agencies and freelancers: a client-ready audit with a fix list you can paste into a proposal or a ticket tracker.
- Site owners and marketers: find out why pages do not rank or never show up in AI answers.
- Developers: a repeatable technical check before and after a release (schedule it on Apify and compare runs).
- Multilingual and international sites: hreflang reciprocity, x-default, wrong-language text on a locale page, thin translations.
What it checks
| Area | Checks |
|---|---|
| Crawl and indexing | robots.txt (RFC 9309 longest-match), every sitemap and sitemap index, status codes, redirect chains, canonical (present, self, target returns 200), meta robots and X-Robots-Tag, noindex pages listed in the sitemap, soft 404, http to https, www, HSTS, compression |
| Content without JavaScript | visible text in the raw HTML (main content vs navigation and footer), text that exists only in <noscript>, single H1, heading tree, title and description length and duplicates, Open Graph, viewport |
| Multilingual | languages detected from <html lang>, hreflang and URL prefixes; hreflang reciprocity, x-default, self-reference, targets that redirect or 404; <html lang> vs URL language; the actual script of the text (catches Russian text on an /en/ page) |
| Structured data | parses every JSON-LD block (including @graph) and checks required properties for Organization, LocalBusiness, Article, BlogPosting, BreadcrumbList, FAQPage, Product, Offer, ItemList and more |
| GEO / AI readiness | robots.txt rules for 15 AI and search bots (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, PerplexityBot, Google-Extended, CCBot and others); fetches sample pages as Googlebot, GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot and compares what each one gets (blocks, empty shells, different HTML); llms.txt and llms-full.txt (exists, links valid) |
| Links and images | samples internal and external links (broken, redirecting), images (status, weight, format, alt text, dimensions) |
| Speed (optional) | Core Web Vitals from the PageSpeed Insights API for one URL per template (bring your own free Google API key) |
Every score is explainable: the weights are listed in the report, and each issue links to example URLs.
Output
Dataset (Pages view), one row per audited page, worst score first, with the problems spelled out in plain words:
| score | url | lang | top_fix | issues_text |
|---|---|---|---|---|
| 39 | https://kinto.am/en/blog/prepare-before-ordering-website/ | en | Page is noindex (not in sitemap; check it is intended): Remove noindex if it should rank; otherwise avoid heavy internal linking to it | [low] Page is noindex (not in sitemap; check it is intended) (noindex). Fix: Remove noindex if it should rank... [medium] Missing canonical. Fix: Add a self-referencing canonical. [low] No x-default. Fix: Add x-default. |
| 89 | https://kinto.am/primery/salon/ | ru | No hreflang: Add hreflang for all locales | [medium] No hreflang. Fix: Add hreflang for all locales. [medium] No JSON-LD. Fix: Add schema for the page type. [low] Missing og:title / og:image. Fix: Add Open Graph tags. |
top_fixis the single most important thing to fix on the page;issues_texthas one line per issue: severity, what is wrong (with the detail found), and how to fix it. They follow Report language (rugives Russian,enandbothgive English).- Machine-readable fields stay in every row:
issues(codes such asNOINDEX,CANONICAL_MISSING,HREFLANG_NO_XDEFAULTwith details),checks,category_scores,status,canonical,hreflang,main_text_chars,ttfb_msand more. The Technical details view shows the main ones. - The page budget is split evenly across the site's languages, then across page templates inside each language, so even a 20-page run covers every locale and section.
Site summary (key-value store record summary, JSON): site score, GEO score with its components, category averages (indexability, meta, content, i18n, schema, links, images, performance), averages by template and by language, site-level issues and the ranked fix list:
{"type": "site-summary","url": "https://kinto.am","languages": ["ru", "en", "hy"],"site_score": 99,"geo_score": 100,"geo_components": { "llms_txt": 1, "robots_ai_allowed": 1, "bot_parity": 1, "org_schema": 1, "raw_text_share": 1 },"category_averages": { "indexability": 94, "meta": 97, "i18n": 95, "schema": 93 },"by_lang": { "en": { "pages": 7, "avg": 90 }, "hy": { "pages": 6, "avg": 89 }, "ru": { "pages": 7, "avg": 89 } },"fixes": [{ "id": "CANONICAL_MISSING", "severity": "medium", "pages": 3, "priority": 4.8,"en": "Missing canonical", "fix_en": "Add a self-referencing canonical","examples": ["https://kinto.am/en/blog/prepare-before-ordering-website/"] },{ "id": "NOINDEX", "severity": "low", "pages": 3, "priority": 3.2,"en": "Page is noindex (not in sitemap; check it is intended)","fix_en": "Remove noindex if it should rank; otherwise avoid heavy internal linking to it","examples": ["https://kinto.am/en/blog/prepare-before-ordering-website/"] }]}
(Real output from a 20-page run on kinto.am, shortened.) The run page shows live progress (pages fetched, current step) and a final status line with the scores.
Key-value store: summary (above), report-md (readable Markdown report), pages-csv and fixes-csv (open in Excel or Google Sheets). Set Report language to ru for a Russian report, or both to get report-md (Russian) plus report-en-md (English).
How to use
- Enter the site's home page, for example
https://example.com. - Set Max pages. 50 is enough for most sites: the sitemap is sampled by template and language, so a small budget still covers every section.
- Run. A 50-page audit usually takes 2-5 minutes at the default polite speed (2 requests per second).
Example input:
{"startUrl": "https://example.com","maxPages": 50,"langs": "auto","reportLang": "en"}
| Field | Default | Notes |
|---|---|---|
| Site URL | Home page | |
| Max pages | 50 | HTML pages to audit |
| Languages | auto | or a list with the default (unprefixed) language first: en,de,fr |
| Report language | en | en, ru or both |
| Concurrency / requests per second | 2 / 2 | polite by default |
| Hard request budget | 1500 | the run never sends more requests |
| Include / exclude regex | limit the crawl to a section | |
| PageSpeed templates + key | 0 | optional, needs your own PageSpeed Insights API key |
Pricing
Pay per event, no subscription: $0.025 per audited page (one row in the dataset).
Included at no extra cost: site-level SEO checks (robots.txt, sitemaps, https, compression, soft 404), the GEO / AI-visibility check, hreflang and language checks, link and image sampling, the fix list and the Markdown and CSV reports. Platform usage is included too.
Examples: 10 pages = $0.25, 50 pages = $1.25, 200 pages = $5.00.
If you set a maximum charge per run, the actor lowers the number of pages to fit it before crawling. If the site cannot be reached (no page returns HTTP 200), nothing is charged. Charges are made only after the results are saved.
FAQ
Does it render JavaScript? No, on purpose: it shows what bots actually see. It measures the raw HTML that most search and AI crawlers index. If your content appears only after JavaScript runs, the audit shows it as missing text, which is exactly the problem to fix.
What is a GEO score?
GEO (generative engine optimization) is how ready a site is to be read and cited by AI assistants. The score combines: AI bots allowed in robots.txt, the same HTML served to AI bots as to browsers, an llms.txt file with working links, Organization schema, and the share of pages with real text in the raw HTML. It measures technical readiness; it does not track whether AI assistants actually mention your brand.
Will it overload my site? No. Default speed is 2 requests per second with 2 parallel connections, it respects robots.txt and stops at the hard request budget.
Can I audit a site I do not own? Yes, it only reads public pages, like a search engine bot. Please keep the default polite speed.
Does it check backlinks, keyword rankings or traffic? No. It is an on-site technical and content audit. Use it together with Search Console or a backlink tool.
Can I run it on a schedule?
Yes. Create a task with your input and add an Apify schedule, for example weekly, then compare site_score and the fix list between runs.
Limits
- No JavaScript rendering (see above).
- Pages behind login, or blocked for bots by a firewall, are reported with their status code and are not analyzed.
- Link and image checks use a sample to keep runs fast and cheap.
Support
Found a false positive or need a check that is missing? Open an issue on the actor's Issues tab. Built by the team behind wse.am, a multilingual real estate site in Yerevan, Armenia, where this auditor is used in production.