Search health
38 / 100
How well search engines can find, read and list your pages.
AI access
81 / 100
How many of the AI assistants you allow can actually read your site.
AI agent readiness
1 / 5
Basic Web Presence. How easily AI agents can find and use what your site offers.
9 to fix now17 worth fixing20 small things8 pages checked
Fix these first
Ranked by how serious each problem is. Connect Google Search Console and Analytics to rank them by the visitors they affect instead.
1
AI assistants you allow are being turned away
- Why it matters
- You've said this AI assistant may read your site, but it's being turned away, so it can't recommend you.
- How to fix it
- Remove the rule in robots.txt, or at your host or firewall, that blocks this AI assistant. siteseoai can fix the robots.txt part for you.
- What we saw
- GPTBot (OpenAI, training) is allowed by policy but robots.txt says: Disallow: /
- Source
- developers.google.com
Show the pages
- /
2
Main-address tags point at pages that don't load
- Why it matters
- You're pointing Google at a page that doesn't load, so it may list neither.
- How to fix it
- Point the tag at a page that loads.
- What we saw
- canonical https://acme.example/does-not-exist/ returned 404
- Source
- developers.google.com
Show the pages
- /blog/long-meta
3
Some links on your site lead to missing pages
- Why it matters
- Visitors who click these links hit a dead end, and search engines waste time on pages that aren't there.
- How to fix it
- Bring the missing page back, or change the links to point somewhere that exists. If the page moved, send its old address to the new one.
- What we saw
- linked from https://acme.example/, returned 404
- Source
- developers.google.com
Show the pages
- /missing-page/
4
Your sitemap lists pages you've told Google to skip
- Why it matters
- You're asking Google to list a page and to skip it at the same time, which wastes its attention.
- How to fix it
- Either take the page out of the sitemap, or remove the setting that hides it from Google.
- What we saw
- listed in the sitemap while carrying robots 'noindex, nofollow'
- Source
- developers.google.com
Show the pages
- /noindexed/
5
Page text only appears after scripts run
- Why it matters
- Search engines and AI assistants may see an empty page, because many don't run scripts.
- How to fix it
- Have your website build the page text before it's sent, rather than in the visitor's browser. Your developer will know this as server or build-time rendering.
- What we saw
- raw HTML carries only 41 words of text alongside script tags, so the main content is probably assembled in the browser
- Source
- developers.google.com
Show the pages
- /
6
Your sitemap lists pages that don't load
- Why it matters
- Your sitemap sends search engines to pages that don't load, which makes them trust it less.
- How to fix it
- Remove pages that don't load, or that redirect, from the sitemap.
- What we saw
- listed in the sitemap, returned 404
- Source
- developers.google.com
Show the pages
- /gone-missing/
7
Some pages aren't set up for phones
- Why it matters
- On phones the page shows tiny, zoomed-out text, and Google ranks pages by how they work on phones.
- How to fix it
- Add the standard phone-display tag to your site's main template.
- What we saw
- no viewport meta tag
- Source
- developers.google.com
Show the pages
- /
8
Some search-listing details are broken
- Why it matters
- Search engines ignore details they can't read, so you get none of the benefit.
- How to fix it
- Fix the typing mistake in the listing details. Google's Rich Results Test shows where it is.
- What we saw
- Invalid control character at: line 2 column 78 (char 79). Block starts: '{ "@context": "https://schema.org", "@type": "Article", "headline": "unclosed'
- Source
- developers.google.com
Show the pages
- /blog/long-meta
9
AI assistants see empty pages because the text needs scripts
- Why it matters
- AI assistants don't run scripts, so they see an empty page and can't use or cite it.
- How to fix it
- Have your website build the page text before it's sent, rather than in the visitor's browser.
- What we saw
- raw HTML carries only 41 words of text; AI crawlers read this response and do not run scripts
- Source
- developers.google.com
Show the pages
- /
10
Pages name a different page as their main version
- Why it matters
- You're telling Google to list a different page instead of this one, which hides it from search.
- How to fix it
- Point the tag at the page's own address, unless it really is a copy of another page.
- What we saw
- canonical points at https://acme.example/blog/duplicate-a/
- Source
- developers.google.com
Show the pages
- /blog/duplicate-b/
- /blog/long-meta
11
Pages don't say which address is the main one
- Why it matters
- Google has to guess which version of a page to list, and it may pick the wrong one.
- How to fix it
- Add a tag to each page naming its own address as the main one. siteseoai can add this for you.
- What we saw
- no rel=canonical link element
- Source
- developers.google.com
Show the pages
- /
12
Main-address tags are missing the full web address
- Why it matters
- Search engines may read the address wrongly and ignore the tag.
- How to fix it
- Write the full web address, starting with https://, in the tag. siteseoai can do this for you.
- What we saw
- canonical is "/elsewhere/"
- Source
- developers.google.com
Show the pages
- /about
14 more are listed in the Markdown report.
Can AI assistants read your site?
Each AI service sends its own visitor. This is what you want each one to do, what your robots.txt file tells it, and what happened when siteseoai visited as it.
| Visitor | What it does | You want | robots.txt says | Got in | Result |
|---|---|---|---|---|---|
| GPTBotOpenAI | Learns from your content | Allow | Blocked | Not tested | Not as intended |
| OAI-SearchBotOpenAI | Builds an AI search index | Allow | Allowed | Not tested | As intended |
| ChatGPT-UserOpenAI | Reads a page when someone asks | Allow | Allowed | Not tested | As intended |
| OAI-AdsBotOpenAI | Reads a page when someone asks | Allow | Allowed | Not tested | As intended |
| ClaudeBotAnthropic | Learns from your content | Allow | Blocked | Not tested | Not as intended |
| Claude-SearchBotAnthropic | Builds an AI search index | Allow | Blocked | Not tested | Not as intended |
| Claude-UserAnthropic | Reads a page when someone asks | Allow | Allowed | Not tested | As intended |
| Google-ExtendedGoogle | Learns from your content | Allow | Allowed | Not tested | As intended |
| ApplebotApple | Builds an AI search index | Allow | Allowed | Not tested | As intended |
| Applebot-ExtendedApple | Learns from your content | Allow | Allowed | Not tested | As intended |
| PerplexityBotPerplexity | Builds an AI search index | Allow | Allowed | Not tested | As intended |
| Perplexity-UserPerplexity | Reads a page when someone asks | Allow | Allowed | Not tested | As intended |
| CCBotCommon Crawl | Learns from your content | Allow | Allowed | Not tested | As intended |
| Meta-ExternalAgentMeta | Learns from your content | Allow | Allowed | Not tested | As intended |
| Meta-ExternalFetcherMeta | Reads a page when someone asks | Allow | Allowed | Not tested | As intended |
| BytespiderByteDance | Learns from your content | Allow | Allowed | Not tested | As intended |
| AmazonbotAmazon | Builds an AI search index | Allow | Allowed | Not tested | As intended |
| MistralAI-UserMistral AI | Reads a page when someone asks | Allow | Allowed | Not tested | As intended |
| DuckAssistBotDuckDuckGo | Reads a page when someone asks | Allow | Allowed | Not tested | As intended |
Small things
Not urgent. Worth a look when you next work on these pages.
- Several pages share the same description (2 pages)
- Your robots.txt doesn't point to your sitemap (1 page)
- Some page addresses use capital letters (1 page)
- Some links just say "click here" or "read more" (1 page)
- Some pages have very little on them (8 pages)
- Some pages have more than one main heading (1 page)
- Some pages skip heading levels (1 page)
- Some photos use an older, heavier file format (1 page)
- Images further down the page load before they're needed (1 page)
- Some page descriptions get cut off in search results (1 page)
- Some page descriptions are very short (1 page)
- Pages look plain when shared on social media (8 pages)
- Pages look plain when shared on X (8 pages)
- Some page titles get cut off in search results (1 page)
- Some page titles are very short (2 pages)
- Pages miss out on richer search listings (7 pages)
- Bing isn't told the moment your pages change (1 page)
- No llms.txt file (for information only) (1 page)
- Some pages have only one link pointing to them (4 pages)
- Your site doesn't say how AI may use your content (1 page)
Everything we checked
| Area | Result | |
|---|---|---|
| Can search engines find and read your pages | 17 to look at | |
| Titles, descriptions, headings and images | 20 to look at | |
| Details for richer search listings | 2 to look at | |
| Page speed | Not checked | Needs a free Google PageSpeed key. The setup guide shows how to get one. |
| Access for AI assistants | 4 to look at | |
| Content quality | Separate step | Reviewed page by page when you ask Claude, not in this automatic check. |
| Links between your pages | 2 to look at | |
| Other languages and countries | Not checked | Your site has no other-language versions, so this did not apply. |
| Local business details | Not checked | No local business details were found, so this did not apply. |
| Google Search Console and Bing data | Not checked | Connect Google Search Console to include your search data. |
| How often AI assistants mention you | Separate step | Runs on its own when you ask, after showing what it will cost. |
| Keyword research | Separate step | Paid research that runs only when you ask for it. |
| Links from other websites | Separate step | Uses link reports you export and add yourself. |
| Google Analytics data | Not checked | Connect Google Analytics to include your visitor data. |
| Readiness for AI agents | 1 to look at |
Good to know
- Auditing build output, so response headers do not exist. X-Robots-Tag, compression, cache and redirect checks report as unavailable rather than passing. Run with --live against the deployed site to cover them.
- could not fetch live robots.txt: ConnectError: [Errno 11001] getaddrinfo failed
- 6 sampled URL(s) do not return 200 for an ordinary visitor either, so they say nothing about crawler access: https://acme.example/ (0), https://acme.example/about (0), https://acme.example/blog/duplicate-a/ (0)
- A 200 here means robots rules and user-agent filtering did not block the request. Operators that verify crawler IP ranges could still refuse the real crawler. Bot-hit logs are what confirm access.
- Audited build output, which has no response headers. Link headers and Markdown negotiation are unmeasured; run with --live to measure them.
- Agent readiness does not affect Google Search. Google's AI optimization guide says Search ignores Markdown, AI text files and special markup.