Methodology
How the audit works
The Brava AI Visibility Audit is a practical check of the foundations that help search engines and AI tools find, read and understand a business website. It covers SEO alongside AEO (answer engine optimisation) and GEO (generative engine optimisation). The score measures whether your site is ready to be found and quoted. The full report also includes a snapshot of what an AI assistant with live web search says when asked three questions your customers might ask. That snapshot is never part of the score, because AI answers change from day to day and differ between tools. This page explains exactly what it checks, how the score is worked out and what it can't tell you.
What it is, and isn't
- It checks website accessibility for crawlers, business information, answer readiness (how clearly your pages answer customers' questions), local presence, useful content, structured data and mobile experience against Brava's published rubric (readiness-v3).
- It is not an official AI ranking. No outside tool can see how ChatGPT, Gemini, Google or any other service ranks or recommends a business, and this audit doesn't claim to.
- It doesn't test whether AI assistants mention your business, compare you with competitors, or predict traffic or revenue.
- Fetching a page doesn't prove it's indexed by Google or shown on Google Maps. Use Google Search Console and your Business Profile for that.
- Special “AI” markup isn't required to appear in Google's AI features. Google says the same SEO best practices apply. Missing FAQ markup or a missing llms.txt file is never treated as making a site invisible. The full report notes whether you have an llms.txt file and how it follows the format, as an extra that isn't scored.
How a site is checked
- We read robots.txt first and respect it. If it asks our checker not to visit, we stop.
- We fetch your homepage and up to 7 more pages on the same site (services, about, contact, FAQs and similar), at most two levels deep, two at a time, with a 10-second limit and 2MB cap per page.
- We read the HTML your server sends. We don't run your site's JavaScript. If your pages only show content after JavaScript runs, we say so and mark content checks as not assessed, rather than treating empty HTML as missing content.
- Google PageSpeed Insights measures your homepage once, on a simulated mobile device.
- Every check is rules-based or measured by Google PageSpeed Insights. We don't use AI to judge your content, so the audit doesn't rate how persuasive or detailed your writing is.
- We never bypass logins, CAPTCHAs or bot protection. If a site blocks automated checks, the audit stops and explains why. An unreachable site is never given a low score.
How the score works
- Each check has a fixed weight. A pass earns its full weight, a partial result earns half and a fail earns nothing.
- Checks that don't apply to your business are left out entirely. Checks we couldn't complete lower the coverage, not the score.
- Category scores are averaged using the category weights below. If a category couldn't be assessed at all, the remaining weights are scaled up to fill the gap.
- No overall score is shown if we completed less than 70% of the weighted checks, or couldn't load your homepage or identify the business. Any score with less than 100% coverage is labelled provisional.
- Score bands are Brava's own: 80–100 strong foundations, 60–79 room to improve, below 60 needs attention. They don't estimate the chance of any AI service recommending your business.
Priorities and effort
- Critical is reserved for problems that stop search engines listing your site: robots.txt blocking your homepage, or a noindex instruction on it.
- High priority, Worth improving and Small improvement describe the rest, together with an effort label: Quick fix, Moderate effort or Larger project.
- The action plan puts the most important and easiest fixes first.
Categories and checks
Search accessibility 20%
Whether search engines and AI tools can reach, read and index your pages.
| Check | Weight | Pass | Fail | Priority if failed |
|---|---|---|---|---|
| Secure connection (HTTPS) | 3 | The homepage is served over HTTPS and internal links use HTTPS. | The homepage is served over plain HTTP. Partial: The homepage uses HTTPS but some internal links still point to http:// addresses. |
High priority Moderate effort |
| Search engines allowed by robots.txt | 4 | Googlebot and Bingbot may crawl the homepage and sampled key pages (or no robots.txt exists). | The homepage is blocked for Googlebot or Bingbot. Partial: Some sampled key pages are blocked for Googlebot or Bingbot. |
Critical Quick fix |
| AI search crawlers allowed by robots.txt | 1 | None of the checked AI search crawlers is blocked from the homepage. | All of the checked AI search crawlers are blocked. Partial: Some of the checked AI search crawlers are blocked. |
Worth improving Quick fix |
| Pages allowed in search results | 4 | No sampled page carries a noindex instruction. | The homepage carries noindex. Partial: A sampled page other than the homepage carries noindex. |
Critical Quick fix |
| Consistent canonical tags | 2 | Canonical tags point to the page itself or an equivalent page on the same site, or are absent on at most some pages. | A canonical points to a different website, or the homepage declares conflicting canonicals. Partial: No sampled page declares a canonical URL, or a canonical points to an http:// or redirected variant. |
High priority Quick fix |
| Key pages load without errors | 2 | Every sampled internal page returned a successful response. | Two or more sampled internal pages returned errors. Partial: One sampled internal page returned an error. |
Worth improving Quick fix |
| XML sitemap | 1 | A valid XML sitemap was found. | No XML sitemap was found. Partial: A sitemap was found but couldn't be read or listed no pages on this site. |
Small improvement Quick fix |
| Content readable without JavaScript | 3 | Sampled pages deliver their main text in the initial HTML. | The homepage only shows its content after JavaScript runs. Partial: Some sampled pages only show their content after JavaScript runs. |
High priority Larger project |
Business clarity 15%
Whether your business name, page titles, contact details and background are clear and consistent.
| Check | Weight | Pass | Fail | Priority if failed |
|---|---|---|---|---|
| Business name is identifiable | 3 | The same business name appears in at least two independent places. | No consistent business name could be identified. Partial: A business name appears in only one place. |
Worth improving Quick fix |
| Contact options are easy to find | 3 | A phone number, email address, contact page or contact form is reachable from the homepage. | No contact method was found on the pages we checked. Partial: Contact details exist on the site but aren't linked from the homepage. |
High priority Quick fix |
| Contact details are consistent | 2 | Contact details in structured data also appear in the visible content. | No contact detail in structured data matches the visible content. Partial: A phone number or email in structured data doesn't appear anywhere in the visible content we checked. |
Worth improving Quick fix |
| Descriptive page titles | 2 | The homepage title is descriptive and sampled pages have distinct titles. | The homepage has no title. Partial: Titles are generic (such as “Home”) or repeated across several pages. |
Worth improving Quick fix |
| Meta descriptions | 1 | The homepage and most sampled pages have a meta description. | The homepage has no meta description. Partial: The homepage has a meta description but many sampled pages don't. |
Small improvement Quick fix |
| Clear main heading | 1 | The homepage has one meaningful main (H1) heading. | The homepage has no H1 heading. Partial: The homepage has several H1 headings. |
Small improvement Quick fix |
| About page | 2 | The site links to an About, team or company story page. | We couldn't find a link to an About, team or company story page. | Worth improving Moderate effort |
Answer readiness 20%
Whether your pages answer customers' questions in a clear, well-structured way that search engines and AI tools can quote.
| Check | Weight | Pass | Fail | Priority if failed |
|---|---|---|---|---|
| Customer questions as headings | 3 | The pages we checked have three or more headings phrased as customer questions. | None of the pages we checked has a heading phrased as a question. Partial: The pages we checked have one or two question headings. |
Worth improving Moderate effort |
| Questions answered directly | 3 | At least 70% of question headings are followed straight away by an answer of up to 90 words, or a list. | Fewer than 30% of question headings are followed by a direct answer. Partial: Between 30% and 70% of question headings are followed by a direct answer. |
Worth improving Quick fix |
| Clear heading structure | 2 | Longer pages are split into sections with subheadings, and heading levels aren't skipped. | None of the longer pages we checked uses subheadings. Partial: Some longer pages have no subheadings, or some pages skip a heading level (for example from H2 straight to H4). |
Worth improving Moderate effort |
| Articles show author and date | 2 | The articles we checked show who wrote them and when they were published or updated. | The articles we checked show neither an author nor a date. Partial: The articles we checked show an author or a date, but not both. |
Worth improving Quick fix |
Local presence 10%
Whether search engines and AI tools can tell where you work, and customers can find you and see what others think. Only applies to businesses that serve a local area.
| Check | Weight | Pass | Fail | Priority if failed |
|---|---|---|---|---|
| Where you work is clear | 3 | Your pages show your address or the areas you cover. | Your markup says you're a local business, but your pages don't show an address or the areas you cover. Partial: The areas you cover are only in your markup, not on your pages. |
Worth improving Quick fix |
| Map or directions | 1 | A map or a directions link is on your pages. | You show an address, but no map or directions link. | Small improvement Quick fix |
| Address in markup matches your pages | 2 | The postcode in your markup is shown on your pages. | The postcode in your markup doesn't appear on any page we checked. | Worth improving Quick fix |
| Customer reviews shown or linked | 2 | Your pages show customer reviews or testimonials, or link to where they are. | We didn't find reviews, testimonials or a link to a review site on the pages we checked. | Worth improving Quick fix |
Helpful content 10%
Whether your key pages have real substance and give visitors a clear next step.
| Check | Weight | Pass | Fail | Priority if failed |
|---|---|---|---|---|
| Clear next step | 2 | The homepage has a clear call to action, such as contact, book or get a quote. | No call to action was found. Partial: Calls to action appear on other pages but not the homepage. |
Worth improving Quick fix |
| Pages have substantial content | 2 | The homepage and sampled key pages have enough text to explain their topic (100 words or more of main content). | The homepage has very little text (under 100 words). Partial: Some sampled key pages are very short (under 100 words of main content). |
Worth improving Moderate effort |
Structured information 15%
Whether machine-readable business details (schema markup) are present, valid, accurate and linked to your profiles elsewhere.
| Check | Weight | Pass | Fail | Priority if failed |
|---|---|---|---|---|
| Business described in structured data | 3 | Structured data describes the business as an Organization or a LocalBusiness subtype. | No structured data was found on the pages we checked. Partial: Structured data exists but doesn't describe the business itself. |
Worth improving Moderate effort |
| Structured data is valid | 2 | All structured data blocks parse and use real schema.org types. | At least one structured data block can't be parsed. Partial: Some structured data uses types that aren't part of schema.org. |
Worth improving Quick fix |
| No deprecated schema types | 1 | No type in use is marked deprecated by schema.org. | Not used: deprecated types are reported as partial only. Partial: A type in use is marked deprecated by schema.org. |
Small improvement Quick fix |
| Key business properties present | 2 | The business node includes a name, website address and a contact property. | The business node has no name. Partial: The business node is missing its website address or contact details. |
Worth improving Quick fix |
| Structured data matches visible content | 2 | The business name in the markup appears in the visible content. | The business name in the markup doesn't appear in the visible content. | Worth improving Quick fix |
| Business markup links to your profiles | 2 | The business markup lists your profiles elsewhere (sameAs), including every profile your pages link to. | The business markup lists none of your profiles elsewhere. Partial: The business markup lists some profiles, but not all of those your pages link to. |
Worth improving Quick fix |
Mobile experience 10%
How your homepage performs on a simulated mobile device, measured by Google PageSpeed Insights.
| Check | Weight | Pass | Fail | Priority if failed |
|---|---|---|---|---|
| Mobile-friendly viewport | 2 | The homepage sets a responsive viewport and allows zooming. | The homepage has no responsive viewport setting. Partial: The viewport is responsive but prevents visitors from zooming. |
High priority Quick fix |
| Main content loads quickly PageSpeed | 3 | Largest Contentful Paint is 2.5 seconds or less. | Largest Contentful Paint is more than 4 seconds. Partial: Largest Contentful Paint is between 2.5 and 4 seconds. |
High priority Larger project |
| Page responds quickly PageSpeed | 2 | Total Blocking Time is 200ms or less. | Total Blocking Time is more than 600ms. Partial: Total Blocking Time is between 200ms and 600ms. |
Worth improving Larger project |
| Layout stays stable PageSpeed | 2 | Cumulative Layout Shift is 0.1 or less. | Cumulative Layout Shift is more than 0.25. Partial: Cumulative Layout Shift is between 0.1 and 0.25. |
Worth improving Moderate effort |
| Automated accessibility checks PageSpeed | 2 | The Lighthouse accessibility score is 90 or more. | The Lighthouse accessibility score is below 70. Partial: The Lighthouse accessibility score is between 70 and 89. |
Worth improving Moderate effort |
About our checker
Our crawler identifies itself as BravaAuditBot in its user agent and follows robots.txt rules for that name (and for *). It only visits pages on the site someone asked us to check, at most 8 pages per audit, and it doesn't fill in forms or log in. Results for the same site are reused for up to 24 hours.
To stop it visiting your site, add this to robots.txt:
User-agent: BravaAuditBot
Disallow: /
Your data
- Reports are kept for 90 days, then deleted. Raw page extracts used to build a report are deleted after 7 days.
- If you enter your email to unlock a report, we use it to give you the report and send you its link. We don't add you to any mailing list unless you tick the separate box, and you won't be called unless you ask.
- If you ask for the 30-day reminder on your report, we send you that one email and nothing else. You can cancel it from your report before it's sent.
- Anyone with your report link can see its preview. The full report needs your email in that browser, or the private link we email you.
- See our privacy policy for details, or email hello@bravadigital.co.uk to have your data deleted.