Scan 10 pages all 51 scored tests The math
Scanned 11 Oct 2026, 12:02 AM CDT
reference.readinessindex.io
This is TEN7’s reference site: a hand-built implementation of the Index, scored by the same scanner as everything else. Visit reference.readinessindex.io
44 of 51 tests pass 8 points still on the table
Sep 27 · 93−1 in 13 days
Index changed from 11.0 to 11.2 at this point.
Index changed from 11.2 to 11.3 at this point.
Your site is in good shape, with a few gaps.
Every test is below, in order, with what we found. Nothing here asks you to rewrite your content.
Do these three first
The fastest 2 points on this report
Can a crawler trust the dates in your sitemap?
11 of 11 sitemap URLs carry a lastmod across 1 distinct dates; 100% share 2026-10-08.
Do this: Wire lastmod to the node's changed timestamp. A lastmod driven by cron or by a deploy tells a crawler everything changed at once, which is the same as telling it nothing changed.
Are your published and modified dates honest?
10 of 10 pages carry a publication or modification date across 1 distinct dateModified values.
Do this: Wire both dates to the node's own timestamps. A deploy must not move dateModified. If every page changed last Tuesday, the signal is telling a crawler nothing changed at all.
10 pages crawled
- reference.readinessindex.io
- reference.readinessindex.io/dimensions
- reference.readinessindex.io/contact
- reference.readinessindex.io/dimensions/primary-indicators
- reference.readinessindex.io/dimensions/rendering-and-extraction
- reference.readinessindex.io/dimensions/structured-data
- reference.readinessindex.io/dimensions/crawl-and-licensing
- reference.readinessindex.io/dimensions/authorship-and-freshness
- reference.readinessindex.io/dimensions/agent-interfaces
- reference.readinessindex.io/dimensions/alternate-representations
The work queue
AIR-1.1 Can AI crawlers reach your site?All 10 AI agents may fetch content paths. Pass 5 pt
All 10 AI agents may fetch content paths.
Your robots.txt tells crawlers what they may read. One stale line, often copied from an old template, can shut out the assistants people now use to find you.
AIR-1.2 Does your CDN let AI crawlers through?All 8 AI user-agents receive full content. Pass 5 pt
All 8 AI user-agents receive full content.
Even when robots.txt says yes, a firewall or bot rule can turn assistants away before they reach a page. We ask as each crawler and record what comes back.
AIR-1.3 Is your page readable without a security challenge?No interactive challenges on 10 sampled read-only pages. Pass 1 pt
No interactive challenges on 10 sampled read-only pages.
A CAPTCHA or bot check on an ordinary page stops an assistant at the door. Those belong on forms and logins, not on pages anyone can read.
AIR-1.4 Have you stated what AI may do with your content?Content Signals declare search=yes, ai-input=yes, ai-train=yes. Pass 3 pt
Content Signals declare search=yes, ai-input=yes, ai-train=yes.
A machine-readable line in robots.txt saying whether AI may search, quote or train on your content. Having a stated position — any position — is the point.
AIR-1.5 Can a person read your AI policy?robots.txt carries a 544-character policy comment mentioning ai, training, license, licence, permission. Pass 1 pt
robots.txt carries a 544-character policy comment mentioning ai, training, license, licence, permission.
A few plain sentences in robots.txt saying what you permit. Journalists and lawyers read this file, and most sites say nothing in it.
AIR-1.6 Are you allowing assistants to quote you?No noarchive, nosnippet or max-snippet:0 directives found. Pass 1 pt
No noarchive, nosnippet or max-snippet:0 directives found.
Old settings that told search engines not to show an excerpt also stop an assistant quoting your page in an answer.
AIR-1.7 Does this page declare its real address?100% of sampled pages emit a valid, self-consistent canonical. Pass 2 pt
100% of sampled pages emit a valid, self-consistent canonical.
A canonical link names the true address of a page. Without one, the same content reads as several competing pages.
AIR-1.8 Is your page structured so a machine can follow it?100% of sampled pages carry one main element, a wrapping article or section, and a nav. Pass 2 pt
100% of sampled pages carry one main element, a wrapping article or section, and a nav.
Meaningful elements rather than an undifferentiated wall of containers. It is the difference between a document and a soup of boxes.
AIR-1.9 Do your headings tell a clear story?100% of sampled pages have exactly one non-empty h1 and no skipped heading levels. Pass 2 pt
100% of sampled pages have exactly one non-empty h1 and no skipped heading levels.
One main heading, then sub-headings in order. Assistants use headings to work out which part of a page answers a question.
AIR-1.10 Do you publish a guide for AI assistants?/llms.txt lists 14 links across 3 sections, covering 100% of the sitemap. Pass 2 pt
/llms.txt lists 14 links across 3 sections, covering 100% of the sitemap.
A file at /llms.txt listing your most important pages. It is early and cheap, and it forces a useful conversation about what actually matters on your site.
AIR-1.11 Can a machine tell what your organization is?16 of 16 entity nodes carry an @id (100%). The WebPage to WebSite to Organization chain resolves. Pass 2 pt
16 of 16 entity nodes carry an @id (100%). The WebPage to WebSite to Organization chain resolves.
Structured data that links together — your organization, your site, this page — rather than a scattering of disconnected labels.
AIR-1.12 Can a machine be certain it is you?6 sameAs links: 1 tier-1 authority identifiers, 2 tier-2, 3 social. 2 do not resolve. Pass 2 pt
6 sameAs links: 1 tier-1 authority identifiers, 2 tier-2, 3 social. 2 do not resolve.
Links from your markup to authoritative records like Wikidata or ROR. Without one, an assistant is guessing which organization of your name it has found.
AIR-1.13 Can a machine find out who you are?7 of 7 organizational facts are present in the Organization markup: foundingDate, leadership, address, areaServed, contactPoint, legalIdentifier, description. Pass 2 pt
7 of 7 organizational facts are present in the Organization markup: foundingDate, leadership, address, areaServed, contactPoint, legalIdentifier, description.
Founding date, leadership, address, contact details, legal identifiers. Thin About pages are the most common weakness we see.
AIR-2.1 Does your content show up without JavaScript?Raw HTML contains 100% of rendered text on average across 10 URLs. The worst template is /: 100% across 1 pages. Pass 6 pt
Raw HTML contains 100% of rendered text on average across 10 URLs. The worst template is /: 100% across 1 pages.
If your content only appears after JavaScript runs, a crawler that does not run it sees an empty page. This is the heaviest check in the Index.
AIR-2.2 Is content behind tabs and accordions already in the page?There is none of this on the site, so there is nothing to fix. Pass 3 pt
There is none of this on the site, so there is nothing to fix.
Tabs and accordions are fine, as long as the text is already in the HTML before anybody clicks.
AIR-2.3 Are your tables real tables?There is none of this on the site, so there is nothing to fix. Pass 2 pt
There is none of this on the site, so there is nothing to fix.
Tuition, hours, fees, comparisons — in a real table with header cells, not an image and not a grid of divs.
AIR-2.4 Can a model link straight to a section of your page?31 of 31 subheadings carry a slug-like id (100%); 0 have generated or unstable ids. Pass 2 pt
31 of 31 subheadings carry a slug-like id (100%); 0 have generated or unstable ids.
Stable IDs on your headings let a model cite the exact passage rather than the whole page.
AIR-2.5 Do your images say what they show?1 of 1 images carry appropriate alt text: 0 have no alt attribute, 0 use the filename. Pass 1 pt
1 of 1 images carry appropriate alt text: 0 have no alt attribute, 0 use the filename.
Alt text is the only text an image has. Decorative images should say so with an empty alt rather than describing themselves.
AIR-2.6 Are your key facts written as text?No page in the sample looks like its facts live only in an image or a document. Pass 1 pt
No page in the sample looks like its facts live only in an image or a document.
A fact locked inside a PDF, a scan or an infographic is a fact an assistant cannot quote.
AIR-3.1 Is your structured data built from your content, not typed in by hand?Schema values track visible content across 1 templates. Pass 2 pt
Schema values track visible content across 1 templates.
Schema generated from your content model survives the next content change. Hardcoded schema rots quietly and nobody notices for a year.
AIR-3.2 Does each page say where it sits in your site?100% of pages below the homepage carry a BreadcrumbList with at least two steps. Pass 2 pt
100% of pages below the homepage carry a BreadcrumbList with at least two steps.
Every page below the homepage should declare where it sits, so a model knows a program page belongs to a department.
AIR-3.3 Does your markup describe what you actually publish?3 of 3 expected research types are present: Dataset, DataCatalog, ScholarlyArticle. Pass 4 pt
3 of 3 expected research types are present: Dataset, DataCatalog, ScholarlyArticle.
Use the types that match what you actually publish — courses, programs, clinicians, grants — rather than a generic WebPage on everything.
AIR-3.4 Is your FAQ markup made of real questions and answers?There is none of this on the site, so there is nothing to fix. Pass 2 pt
There is none of this on the site, so there is nothing to fix.
Mark up real questions and answers. Do not invent an FAQ block that is not on the page: fabricated markup is a policy problem, not a shortcut.
AIR-3.5 Do you say what a page is about and whether it is free to read?10 of 10 substantive pages declare isAccessibleForFree; 10 reference subject entities by identifier. Pass 1 pt
10 of 10 substantive pages declare isAccessibleForFree; 10 reference subject entities by identifier.
Say whether the page is free to read, and link the entities it is actually about. Both are things an assistant would otherwise have to assume.
AIR-3.6 Are your prices and offers in your markup, and current?There is none of this on the site, so there is nothing to fix. Pass 1 pt
There is none of this on the site, so there is nothing to fix.
Prices and offers in markup, and current. A stale price in structured data is worse than no price at all.
AIR-3.7 Can an agent search your site without a search box?There is none of this on the site, so there is nothing to fix. Pass 1 pt
There is none of this on the site, so there is nothing to fix.
Expose your site search as a pattern an agent can call, instead of a box only a human can type into.
AIR-3.8 Does your structured data actually validate?107 nodes across 10 pages parse, carry what their types require, and hold well-formed values. Pass 2 pt
107 nodes across 10 pages parse, carry what their types require, and hold well-formed values.
Markup that does not parse, or that leaves out what its type needs, is served to machines that cannot use it — and nothing on the page says so.
AIR-4.1 Have you published your licensing terms in a form machines can read?We cannot see this from outside your site. Confirm it and this scores in full. Needs work +0
We cannot see this from outside your site. Confirm it and this scores in full.
Machine-readable licensing terms, so an AI company can find out what you allow without emailing you first.
- Site owner (lead)
- Back-end developer
AIR-4.2 Do your licensing terms travel with your content?Licensing reaches 1 of 1 channels: no feeds advertised; 1 of 1 licensable pages carry a schema license property. Pass 1 pt
Licensing reaches 1 of 1 channels: no feeds advertised; 1 of 1 licensable pages carry a schema license property.
Licensing that travels with the content — in your feeds and your structured data, not only in one file nobody fetches.
AIR-4.3 Can you prove a visiting bot is who it says it is?We cannot see this from outside your site. Confirm it and this scores in full. Needs work +0
We cannot see this from outside your site. Confirm it and this scores in full.
Verified agents get through and unsigned scrapers claiming to be them do not, because the edge checks a signature instead of trusting a user-agent string.
- Operations (lead)
- Back-end developer
AIR-4.4 Do your PDFs and images carry their own crawl rules?1 of 1 non-HTML resources carry an X-Robots-Tag. Pass 1 pt
1 of 1 non-HTML resources carry an X-Robots-Tag.
PDFs, images and JSON cannot carry a meta robots tag, so the directive has to travel in the HTTP header instead.
AIR-4.5 Do your missing pages say they are missing?0 of 3 deliberately invalid URLs returned HTTP 200. Pass 1 pt
0 of 3 deliberately invalid URLs returned HTTP 200.
A missing page that answers 200 OK teaches a crawler that nothing is ever missing, and spends its time on pages that are not there.
AIR-4.6 Do your redirects go straight to the destination?0 of 10 sampled URLs redirect. Pass 1 pt
0 of 10 sampled URLs redirect.
Every extra redirect is another chance to be dropped. One hop, straight to the destination.
AIR-4.7 Are your filters and calendars kept from swallowing a crawl?There is none of this on the site, so there is nothing to fix. Pass 2 pt
There is none of this on the site, so there is nothing to fix.
Filters and calendars can generate millions of URLs. A crawler spends its budget in there instead of on the pages you care about.
AIR-4.8 Can a crawler trust the dates in your sitemap?11 of 11 sitemap URLs carry a lastmod across 1 distinct dates; 100% share 2026-10-08. Problem +1
11 of 11 sitemap URLs carry a lastmod across 1 distinct dates; 100% share 2026-10-08.
A lastmod date should mean the content changed, not that you deployed. Once it is noise, crawlers stop trusting it.
- Back-end developer (lead)
- Search specialist
Wire lastmod to the node's changed timestamp. A lastmod driven by cron or by a deploy tells a crawler everything changed at once, which is the same as telling it nothing changed.
AIR-4.9 Is your sitemap organized by type of content?An index with 3 child sitemaps covering 11 URLs, including media. Pass 1 pt
An index with 3 child sitemaps covering 11 URLs, including media.
Separate sitemaps per content type turn “coverage is bad” into “coverage is bad for news,” which is a problem somebody can fix.
AIR-4.10 Can a crawler reach page two and beyond?There is none of this on the site, so there is nothing to fix. Pass 1 pt
There is none of this on the site, so there is nothing to fix.
Page two and everything after it has to be reachable by something that does not click.
AIR-5.1 Do your authors have real pages with real credentials?10 of 10 Person entities carry a canonical @id plus at least two of jobTitle, affiliation, knowsAbout or sameAs. Pass 2 pt
10 of 10 Person entities carry a canonical @id plus at least two of jobTitle, affiliation, knowsAbout or sameAs.
Authors who resolve to real people with real credentials, on pages of their own — not a name in a byline and nothing behind it.
AIR-5.2 Do your bylines point at a person, not just a name?10 of 10 substantive pages reference an author by @id; 0 carry a bare string; 0 are unsigned. Pass 2 pt
10 of 10 substantive pages reference an author by @id; 0 carry a bare string; 0 are unsigned.
Sign substantive pages, and point the byline at the author's entity rather than repeating their name as text on every article.
AIR-5.3 Does health, legal and financial content name its reviewer?We cannot see this from outside your site. Confirm it and this scores in full. Needs work +1
We cannot see this from outside your site. Confirm it and this scores in full.
Health, legal and financial pages should name their reviewer in the markup, not only in the design where a machine cannot see it.
- Content team (lead)
- Back-end developer
AIR-5.4 Are your published and modified dates honest?10 of 10 pages carry a publication or modification date across 1 distinct dateModified values. Needs work +1
10 of 10 pages carry a publication or modification date across 1 distinct dateModified values.
A modified date that changes on every deploy is not a freshness signal. It is noise, and it costs you the trust of the real one.
- Back-end developer (lead)
- Content team
Wire both dates to the node's own timestamps. A deploy must not move dateModified. If every page changed last Tuesday, the signal is telling a crawler nothing changed at all.
AIR-5.5 Can a machine follow your citations back to their sources?We cannot see this from outside your site. Confirm it and this scores in full. Needs work +1
We cannot see this from outside your site. Confirm it and this scores in full.
Where you cite a primary source, make the citation machine-readable so the chain from claim to evidence survives.
- Back-end developer (lead)
- Content team
AIR-5.6 Can your images prove where they came from?We cannot see this from outside your site. Confirm it and this scores in full. Needs work +1
We cannot see this from outside your site. Confirm it and this scores in full.
Provenance that survives into the delivered file, so an image can prove where it came from after somebody else has reposted it.
- Operations (lead)
- Site owner
AIR-6.1 Do you describe your public API in a spec an agent can read?There is none of this on the site, so there is nothing to fix. Pass 2 pt
There is none of this on the site, so there is nothing to fix.
If you have a public API, describe it in a spec an agent can read, and version it so today's answer is still true next quarter.
AIR-6.2 Do you publish agent capabilities where agents look for them?There is none of this on the site, so there is nothing to fix. Pass 2 pt
There is none of this on the site, so there is nothing to fix.
Put your agent capabilities where agents look for them, rather than in a URL somebody has to be told about.
AIR-6.3 Can an agent tell what each form field is for?There is none of this on the site, so there is nothing to fix. Pass 2 pt
There is none of this on the site, so there is nothing to fix.
An agent filling in your form has to know what each field is for. Labels, names and autocomplete tokens are how it finds out.
AIR-6.4 Can an agent search and filter without meeting a captcha?No search or filter surface in the sample returned a challenge. Pass 2 pt
No search or filter surface in the sample returned a challenge.
Challenge the actions that need challenging. Searching and filtering are not those actions, and a captcha there ends the visit.
AIR-7.1 Do you offer a clean Markdown version of your pages?4 of 4 sampled pages have a Markdown companion at {path}.md returning a Markdown content type. Pass 2 pt
4 of 4 sampled pages have a Markdown companion at {path}.md returning a Markdown content type.
A clean Markdown version of each page: none of the navigation, none of the markup a model has to wade through to reach your words.
AIR-7.2 Does each page point to its Markdown version?100% of sampled pages advertise a Markdown alternate in the head. Pass 2 pt
100% of sampled pages advertise a Markdown alternate in the head.
Publishing the Markdown is not enough. The HTML page has to point at it, or nothing will ever find it.
AIR-7.3 Can a machine ask your URL for Markdown?5 of 5 URLs serve Markdown for Accept: text/markdown, 5 with a correct Vary: Accept. Pass 2 pt
5 of 5 URLs serve Markdown for Accept: text/markdown, 5 with a correct Vary: Accept.
Ask the same URL for Markdown and get Markdown back. One address, two representations, no second set of links to maintain.
AIR-7.4 Are your alternate versions served from the cache?4 of 4 generated representations show evidence of an edge cache hit on a repeat request. Pass 2 pt
4 of 4 generated representations show evidence of an edge cache hit on a repeat request.
Generated representations should come from the CDN. Otherwise every request rebuilds them at origin, and you will turn them off when the bill arrives.
LI-2 Have you flagged the part of each page that answers the question?No speakable specification found on any sampled page. Not scored —
No speakable specification found on any sampled page.
Flag your own best short answer — the lede, the summary — so an assistant reads that rather than guessing at a paragraph.
- Back-end developer (lead)
- Content team
LI-3 Do you tell search engines the moment something changes?No IndexNow key file was discoverable. The file is named after the key, which is not published, so this is 'not discoverable' rather than proof of absence. Not scored —
No IndexNow key file was discoverable. The file is named after the key, which is not published, so this is 'not discoverable' rather than proof of absence.
Tell search engines the moment something changes, rather than waiting to be crawled again.
- Back-end developer (lead)
- Search specialist
LI-4 Do you document how your content is made and corrected?0 of 10 Organization nodes reference publishingPrinciples. Not scored —
0 of 10 Organization nodes reference publishingPrinciples.
Document how your content is produced, reviewed, corrected and funded — then point at that page from your markup.
- Content team (lead)
- Site owner
LI-5 Can an assistant ask your site a question directly?No NLWeb endpoint was discoverable. Not scored —
No NLWeb endpoint was discoverable.
A natural-language endpoint over your own structured data, so an assistant can ask your site a question instead of scraping around it.
- Back-end developer (lead)
- Operations
LI-6 Can an assistant call your catalog as a tool?No domain MCP server or tool descriptor was discoverable. Not scored —
No domain MCP server or tool descriptor was discoverable.
Your course catalog, provider directory or grant database, callable as documented tools rather than scraped out of a search results page.
- Back-end developer (lead)
- Operations
BP-3 Can you count visits that come from AI assistants?Whether a channel group exists for AI assistant referrers is not visible from outside. Analytics presence is; the grouping is not. Not scored —
Whether a channel group exists for AI assistant referrers is not visible from outside. Analytics presence is; the grouping is not.
Traffic from ChatGPT, Perplexity, Claude and the rest lands in Direct by default, where it disappears. A channel group makes it countable.
- Search specialist
BP-4 Do you capture visits whose referrer was stripped?Reconciliation between server-side and client-side numbers has to be attested. Not scored —
Reconciliation between server-side and client-side numbers has to be attested.
Some assistants strip the referrer before the browser sees it. Server-side tagging catches what the client-side tag cannot.
- Search specialist (lead)
- Operations
BP-5 Do you keep your crawler logs long enough to use them?Log retention and queryability are not observable from outside the site. Not scored —
Log retention and queryability are not observable from outside the site.
Crawler logs have to survive long enough to show a before and an after. Many hosts discard them in days.
- Operations
BP-7 Do you ask the same questions of AI models every month?Answer-share tracking happens outside the site and must be attested. Not scored —
Answer-share tracking happens outside the site and must be attested.
Ask the same questions of the same models every month. It is the only way to see whether your share of the answers is moving.
- Search specialist
BP-8 Have you measured how accurately a model reads your page?No extraction-fidelity baseline is captured by this version of the scanner, which makes no live model calls. Not scored —
No extraction-fidelity baseline is captured by this version of the scanner, which makes no live model calls.
Feed your page to a model, ask it your key questions, and score the answers. Then do it again after the fixes and compare.
- Search specialist (lead)
- Content team
BP-9 Are you verified in Google Search Console and Bing Webmaster Tools?Neither Search Console nor Bing Webmaster Tools verification was found. Not scored —
Neither Search Console nor Bing Webmaster Tools verification was found.
Verify both. Bing matters more than its search share suggests, because its index feeds several AI products.
- Search specialist (lead)
- Operations
About these numbers. Points are whole numbers everywhere on this page. The arithmetic behind them is not — a test scores its weight times its band divided by four, so a row can earn 1.5 points and print as 2. Scores are computed from the exact figures and rounded once, at the end, never from the rounded rows. That means adding the points column up will not give you the score exactly. The full accounting is always available: see every line of the arithmetic, unrounded.