AI Readiness Assessment
Registered identity from official sources
Listing
Established record held for this organisation · GLEIF (legal identity, matched on registered name) · retrieved 2026-07-31 16:48 UTC
64 judgements need a named person in the organisation to confirm, because they turn on what you know to be true rather than anything measurement can settle: whether a claim is supported, whether a page is still current, which of two versions is the one to quote. In order, they cover: who is answerable for this content; is it still true today; can each claim be backed; does our published content agree; will the right meaning come across; can someone reach it and act on it. An answer recorded against each, with a name and a date, is what turns published content into governed content.
Once the foundations are sound and the content is governed, the visibility stage measures how AI systems and agents actually find the estate: which pages they reach, how often, and how the organisation is represented when they answer questions about it, tracked over time. Building visibility on unconfirmed foundations only amplifies whatever is wrong, which is why it comes last.
How much of your content is reachable and readable, rather than blocked, buried or missing. Higher is better.
Where your content could lead an AI system to state something incorrect. Only direct routes to a wrong answer count here.
Anyone asking for this site, a person on a phone or an AI system building an answer, is either let in or turned away, in milliseconds, by machinery most organisations never see. An AI system refused here gets nothing at all: to that system the organisation simply does not answer.
The door changes without notice: a security setting, a network change or a new crawler policy can close it silently. It is measured live on the day of assessment, and it is worth watching continuously rather than once.
People are served in full; 11 of the 15 AI systems are turned away at the door.
Whether the estate can be reached and read at all: access rules, links, redirects, sitemap, transport.
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS02 | fail | robots.txt disallows the whole site (Disallow: /) to the crawlers used by ChatGPT (OpenAI). The site refuses these AI systems access to its content, so AI readiness is capped at 65% regardless of how well the pages are built. Training and auxiliary crawlers also disallowed: Common Crawl (training corpus for many models). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Rules in the site's own robots.txt that tell the named AI services to keep off its pages. What good looks like The site's robots.txt does not disallow the named AI services from its pages. Why it matters The site's own rules withhold its content from those services, so the absence is published policy, not an accident. What we found on this page robots.txt disallows the whole site (Disallow: /) to the crawlers used by ChatGPT (OpenAI). The site refuses these AI systems access to its content, so AI readiness is capped at 65% regardless of how well the pages are built. Training and auxiliary crawlers also disallowed: Common Crawl (training corpus for many models). The evidence, taken from the page as served The access rules this site publishes, as served
The rules were read for the crawlers each AI service uses. User-agent: AhrefsBot Disallow: / User-agent: GPTBot Disallow: / User-agent: PetalBot Disallow: / User-agent: Barkrowler Disallow: / User-agent: Bytespider Disallow: / User-agent: DotBot Disallow: / Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the site's robots.txt does not disallow the named AI services from its pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. It also sets a ceiling on that figure: while this stands, the item cannot read as more ready than 65%, however well it is built elsewhere. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS26 | warning | sitemap is stale: 2 lastmod value(s), newest 2019-05-14 (2635 days ago) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the sitemap carries last-modified dates, and how old the most recent of them is. What good looks like The sitemap carries recent last-modified dates. Why it matters Absent or stale dates leave the age of the content unstated, so fresh pages read as no newer than old ones. What we found on this page sitemap is stale: 2 lastmod value(s), newest 2019-05-14 (2635 days ago) The evidence, taken from the page as served The dates this site's sitemap records
The sitemap was read for the date each address records for itself.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS03 | fail | 11 of 15 AI crawlers asking for the site are refused by the security layer in front of it, while an ordinary browser is served, so the content is closed to nearly all AI systems before page quality even matters. AI readiness is capped accordingly. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page 11 of 15 AI crawlers asking for the site are refused by the security layer in front of it, while an ordinary browser is served, so the content is closed to nearly all AI systems before page quality even matters. AI readiness is capped accordingly. The evidence, taken from the page as served Each crawler's own request to the entry page, and the status it received
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. It also sets a ceiling on that figure: while this stands, the item cannot read as more ready than 25%, however well it is built elsewhere. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS16 | fail | 1 URL group(s) are reachable under more than one form (case, trailing slash, or query variants) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page served at several addresses, varying by capitals, slashes or query strings. What good looks like Each page is served at a single address, not several varying by capitals, slashes or query strings. Why it matters The site cedes the choice of which address is stored and cited, so links and credit scatter across the variants. What we found on this page 1 URL group(s) are reachable under more than one form (case, trailing slash, or query variants) The evidence, taken from the page as served The URLs that serve the same page under more than one form
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: each page is served at a single address, not several varying by capitals, slashes or query strings. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 3 out of a possible 5, because it is one of the checks that decide how cleanly content can be read once reached, so it carries a middle weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MX12 | fail | 1 pair(s) of pages carry near-identical text (at least 90% of the same words) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Distinct URLs among the assessed pages that carry near-identical body text. What good looks like No two assessed pages carry near-identical body text. Why it matters Duplicates collapse to a single surviving version, and which one survives is not the publisher's choice. What we found on this page 1 pair(s) of pages carry near-identical text (at least 90% of the same words) The evidence, taken from the page as served Each page pair whose visible text is near-identical (at least 90% shared vocabulary)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: no two assessed pages carry near-identical body text. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT25 | fail | 1 pair(s) of pages share more than 70% of the same words, so a machine can read them as the same page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Pairs of assessed pages that share most of their wording without being outright copies. What good looks like No two assessed pages share most of their wording. Why it matters When near-duplicates are left unconsolidated, which version survives is settled arbitrarily rather than by you. What we found on this page 1 pair(s) of pages share more than 70% of the same words, so a machine can read them as the same page The evidence, taken from the page as served Each page pair sharing more than 70% of its vocabulary
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: no two assessed pages share most of their wording. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | 33 page(s) read as near-identical to other pages in the text a machine ingests (up to 100% shared), but the overlap is shared navigation and footer rather than content: the worst affected page has 38 words of its own out of 3448. Distinct pages can then be taken as duplicates and the real content passed over; the pages are listed in the view. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page 33 page(s) read as near-identical to other pages in the text a machine ingests (up to 100% shared), but the overlap is shared navigation and footer rather than content: the worst affected page has 38 words of its own out of 3448. Distinct pages can then be taken as duplicates and the real content passed over; the pages are listed in the view. The evidence, taken from the page as served Pages whose own words are lost in a shared navigation and footer (near-identical to a machine)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR27 | fail | the front door serves the search crawlers while refusing the AI services: 3 search crawler(s) are served the page while 10 of 10 AI answer services' own crawlers are refused. Search results are fed the site's current content; the AI answer services are not, so a person asking a search engine and a person asking an AI assistant receive different information, and the two answers can conflict. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the front door answers Google consistently: the crawling that feeds search results on one side, and the paths that feed AI answers on the other. What good looks like Search crawling and the AI answer services are given the same access, so both speak from the site's current content. Why it matters Google search shows the site's current content while the AI services are turned away and answer from older or outside sources, so the same question brings back different information depending on which door the public uses, and the two answers can conflict. What we found on this page the front door serves the search crawlers while refusing the AI services: 3 search crawler(s) are served the page while 10 of 10 AI answer services' own crawlers are refused. Search results are fed the site's current content; the AI answer services are not, so a person asking a search engine and a person asking an AI assistant receive different information, and the two answers can conflict. The evidence, taken from the page as served The search crawlers and the AI services at the same door, in the same minute
Measured at the same door within the same minute; the full grid is in the view for the front-door check.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: search crawling and the AI answer services are given the same access, so both speak from the site's current content. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS12 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The share of links pointing off the site, from a sample, whose targets no longer resolve. What good looks like Sources the page relies on open for any reader. Where one refuses or has gone, the page carries the fact in its own words, shows the reference without making it a link, or points somewhere that answers. A refusal by another site is still this site's to resolve, because this site chose to rest a claim on it. Why it matters A source the page leans on did not answer when it was asked for. The claim is left standing with nothing behind it, so the same fact gets taken from elsewhere, the claim is set aside as unsupported, or a partial account is presented as a complete one. Where the source is still published but declined the request, the page still reads as though the evidence sits one step away, so the gap is invisible. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: sources the page relies on open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT07 | warning | 1 page title(s) are used on more than one page: โThings to do - City of Londonโ; the pages are listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Any title string that is shared by more than one of the assessed pages. What good looks like Each assessed page carries its own distinct title. Why it matters Pages sharing one title carry the same label, so nothing distinguishes them at the point one is picked. What we found on this page 1 page title(s) are used on more than one page: โThings to do - City of Londonโ; the pages are listed in the view The evidence, taken from the page as served The pages that share a title, grouped by the title they share
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Passing checks are omitted here; the full record is in the exports.
The highest-priority pages, chosen from the site's own signals of importance.
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR13 | warning | only 202 characters of this page read as its own content, so either the page is thin or its own words cannot be told apart from the parts repeated across the site | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the page's main content is marked off from the navigation and footer around it. What good looks like A main or article region marks the primary content off from the navigation and footer around it. Why it matters Pulling the page's text returns menus and legal footers mixed with the substance, so the answer arrives buried in noise. What we found on this page only 202 characters of this page read as its own content, so either the page is thin or its own words cannot be told apart from the parts repeated across the site The evidence, taken from the page as served The main text extracted from the page, as served
Visit homepageWelcome, What do you want to do?SearchSearchView allView alluse left and right cursor keys to navigate tabsTrending About usServicesSupporting BusinessesThings to doUpcoming eventsView all | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT24 | warning | the page's own content runs to 202 characters | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page holds enough main text to be substantive, measured against a 400 character floor. What good looks like The page holds enough main text to be substantive. Why it matters A page of a few sentences offers almost nothing to quote, so it adds little beyond its own existence. What we found on this page the page's own content runs to 202 characters The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The page's own content is the part it marks out as its main content; where it marks out none, the whole of its text is counted.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT13 | warning | main content is 15% of the page's text; the shared furniture around it dominates what is read out | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's text sits in the main content region rather than in surrounding furniture. What good looks like Most of the page's text sits in its main content region rather than in the surrounding furniture. Why it matters When the main region is a small slice of the page, what is pulled out is mostly menus and boilerplate. What we found on this page main content is 15% of the page's text; the shared furniture around it dominates what is read out The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The rest is the menus, header and foot-of-page text that appear on other pages of the site as well.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR03 | fail | 47% of the words a person sees are missing from the page as first delivered (1280 characters delivered, 2528 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's content exists only once JavaScript has run. What good looks like The page's content is present in the served HTML, so it does not depend on JavaScript to appear. Why it matters The page is fetched successfully but the answer is missing from what comes back, so the content is absent rather than wrong. What we found on this page 47% of the words a person sees are missing from the page as first delivered (1280 characters delivered, 2528 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs The evidence, taken from the page as served Content present only after JavaScript runs (absent from the served HTML)
The served HTML carries 1280 characters of text; after JavaScript runs the page carries 2528. 47% of the rendered page's words are absent from the HTML the server sends. What the server sends (raw HTML text, first 280 chars) Things to do - City of London Skip to content Things to do Services Supporting businesses Visit homepage Open search area Open menu Getting help with the cost of living Contact the City Corporation About us Events Accessibility statement Councillors, committees and meetings Repor…
Words present only after JavaScript runs
1996acceptaccessadvertisingadvertsallowamericaanalyticsareasbeingbrowsercannotchangingchoicescleanerclosecollectingcomputercoredatadeliverdisableddisplayenableessentialexhibitionexperiencefunctionfunctionalitygallerygoogleheritageimproveinformationinsightsinterestsintomakemorenavigationnecessaryonlyotherspagepagesperformancepersonalpreferencesprocessproperlyprovidingreadrelevantrememberreportingsavescreenssecuresitesome
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's content is present in the served HTML, so it does not depend on JavaScript to appear. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR11 | warning | 47% of the words a person sees are missing from the page as first delivered, which is 0.51 of its finished size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The measured gap between the page as served and the page after the browser has built it. What good looks like The served page and the fully built page carry the same words, with little gap between them. Why it matters Two versions of the same page exist, and which words come back depends on which version was fetched. What we found on this page 47% of the words a person sees are missing from the page as first delivered, which is 0.51 of its finished size The evidence, taken from the page as served This page as first delivered, against the page once its scripts have run
Both were taken from the same request. The first is what the site sent; the second is what a person ends up looking at.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT27 | warning | the content missing from the raw extraction is largely present inside script tags (80% of sampled missing terms): the page ships its content as script data rather than as document text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check On the sampled pages, how much text is shipped inside scripts as data rather than as page text. What good looks like The page's text is present as page text, not shipped inside scripts as data. Why it matters Content held as script data is missing from the plain fetch of the page, so it is absent rather than wrong. What we found on this page the content missing from the raw extraction is largely present inside script tags (80% of sampled missing terms): the page ships its content as script data rather than as document text The evidence, taken from the page as served Where the missing words were found
The words a person sees but the delivered page did not carry were looked for inside the page's script blocks.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ08 | warning | focus order: the first 12 Tab stops do not follow document order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether pressing Tab moves through the page in the order its content is written. What good looks like Pressing Tab moves through the page in the order its content is written. Why it matters The keyboard jumps around the page out of sequence, so a form is worked through in an order nobody intended. What we found on this page focus order: the first 12 Tab stops do not follow document order The evidence, taken from the page as served How the keyboard moves through this page
Read on the page once its scripts had run, following the keyboard from the top.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR13 | warning | only 202 characters of this page read as its own content, so either the page is thin or its own words cannot be told apart from the parts repeated across the site | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the page's main content is marked off from the navigation and footer around it. What good looks like A main or article region marks the primary content off from the navigation and footer around it. Why it matters Pulling the page's text returns menus and legal footers mixed with the substance, so the answer arrives buried in noise. What we found on this page only 202 characters of this page read as its own content, so either the page is thin or its own words cannot be told apart from the parts repeated across the site The evidence, taken from the page as served The main text extracted from the page, as served
Visit homepageWelcome, What do you want to do?SearchSearchView allView alluse left and right cursor keys to navigate tabsTrending About usServicesSupporting BusinessesThings to doUpcoming eventsView all | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT24 | warning | the page's own content runs to 202 characters | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page holds enough main text to be substantive, measured against a 400 character floor. What good looks like The page holds enough main text to be substantive. Why it matters A page of a few sentences offers almost nothing to quote, so it adds little beyond its own existence. What we found on this page the page's own content runs to 202 characters The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The page's own content is the part it marks out as its main content; where it marks out none, the whole of its text is counted.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT13 | warning | main content is 15% of the page's text; the shared furniture around it dominates what is read out | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's text sits in the main content region rather than in surrounding furniture. What good looks like Most of the page's text sits in its main content region rather than in the surrounding furniture. Why it matters When the main region is a small slice of the page, what is pulled out is mostly menus and boilerplate. What we found on this page main content is 15% of the page's text; the shared furniture around it dominates what is read out The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The rest is the menus, header and foot-of-page text that appear on other pages of the site as well.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR03 | fail | 47% of the words a person sees are missing from the page as first delivered (1280 characters delivered, 2528 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's content exists only once JavaScript has run. What good looks like The page's content is present in the served HTML, so it does not depend on JavaScript to appear. Why it matters The page is fetched successfully but the answer is missing from what comes back, so the content is absent rather than wrong. What we found on this page 47% of the words a person sees are missing from the page as first delivered (1280 characters delivered, 2528 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs The evidence, taken from the page as served Content present only after JavaScript runs (absent from the served HTML)
The served HTML carries 1280 characters of text; after JavaScript runs the page carries 2528. 47% of the rendered page's words are absent from the HTML the server sends. What the server sends (raw HTML text, first 280 chars) Things to do - City of London Skip to content Things to do Services Supporting businesses Visit homepage Open search area Open menu Getting help with the cost of living Contact the City Corporation About us Events Accessibility statement Councillors, committees and meetings Repor…
Words present only after JavaScript runs
1996acceptaccessadvertisingadvertsallowamericaanalyticsareasbeingbrowsercannotchangingchoicescleanerclosecollectingcomputercoredatadeliverdisableddisplayenableessentialexhibitionexperiencefunctionfunctionalitygallerygoogleheritageimproveinformationinsightsinterestsintomakemorenavigationnecessaryonlyotherspagepagesperformancepersonalpreferencesprocessproperlyprovidingreadrelevantrememberreportingsavescreenssecuresitesome
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's content is present in the served HTML, so it does not depend on JavaScript to appear. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR11 | warning | 47% of the words a person sees are missing from the page as first delivered, which is 0.51 of its finished size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The measured gap between the page as served and the page after the browser has built it. What good looks like The served page and the fully built page carry the same words, with little gap between them. Why it matters Two versions of the same page exist, and which words come back depends on which version was fetched. What we found on this page 47% of the words a person sees are missing from the page as first delivered, which is 0.51 of its finished size The evidence, taken from the page as served This page as first delivered, against the page once its scripts have run
Both were taken from the same request. The first is what the site sent; the second is what a person ends up looking at.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT27 | warning | the content missing from the raw extraction is largely present inside script tags (80% of sampled missing terms): the page ships its content as script data rather than as document text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check On the sampled pages, how much text is shipped inside scripts as data rather than as page text. What good looks like The page's text is present as page text, not shipped inside scripts as data. Why it matters Content held as script data is missing from the plain fetch of the page, so it is absent rather than wrong. What we found on this page the content missing from the raw extraction is largely present inside script tags (80% of sampled missing terms): the page ships its content as script data rather than as document text The evidence, taken from the page as served Where the missing words were found
The words a person sees but the delivered page did not carry were looked for inside the page's script blocks.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ08 | warning | focus order: the first 12 Tab stops do not follow document order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether pressing Tab moves through the page in the order its content is written. What good looks like Pressing Tab moves through the page in the order its content is written. Why it matters The keyboard jumps around the page out of sequence, so a form is worked through in an order nobody intended. What we found on this page focus order: the first 12 Tab stops do not follow document order The evidence, taken from the page as served How the keyboard moves through this page
Read on the page once its scripts had run, following the keyboard from the top.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT32 | warning | length 47 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The meta description's length is usable, between 50 and 170 characters. What good looks like The meta description's length is usable, long enough to say something and short enough not to be cut. Why it matters Too short says nothing and too long gets cut, so the summary field is spent without doing its job. What we found on this page length 47 The evidence, taken from the page as served The page's description, as served
<meta data-react-helmet="true" name="description" content="Local services available in the City of London "/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR03 | fail | 36% of the words a person sees are missing from the page as first delivered (1616 characters delivered, 2717 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's content exists only once JavaScript has run. What good looks like The page's content is present in the served HTML, so it does not depend on JavaScript to appear. Why it matters The page is fetched successfully but the answer is missing from what comes back, so the content is absent rather than wrong. What we found on this page 36% of the words a person sees are missing from the page as first delivered (1616 characters delivered, 2717 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs The evidence, taken from the page as served Content present only after JavaScript runs (absent from the served HTML)
The served HTML carries 1616 characters of text; after JavaScript runs the page carries 2717. 36% of the rendered page's words are absent from the HTML the server sends. What the server sends (raw HTML text, first 280 chars) Services - City of London Skip to content Things to do Services Supporting businesses Visit homepage Open search area Open menu Getting help with the cost of living Contact the City Corporation About us Events Accessibility statement Councillors, committees and meetings Report, P…
Words present only after JavaScript runs
acceptaccessadvertisingadvertsallowanalyticsareasbeingbrowsercannotchangingchoicescleanerclosecollectingcomputercoredatadeliverdisabledenableessentialexperiencefunctionfunctionalitygoogleimproveinformationinsightsinterestsintomakemorenavigationnecessaryonlyotherspagepagesperformancepersonalpreferencesprocessproperlyprovidingreadrelevantrememberreportingsavescreenssecuresitesomesplashstoresuchtargetingtargetingadvertisingtested
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's content is present in the served HTML, so it does not depend on JavaScript to appear. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR11 | warning | 36% of the words a person sees are missing from the page as first delivered, which is 0.59 of its finished size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The measured gap between the page as served and the page after the browser has built it. What good looks like The served page and the fully built page carry the same words, with little gap between them. Why it matters Two versions of the same page exist, and which words come back depends on which version was fetched. What we found on this page 36% of the words a person sees are missing from the page as first delivered, which is 0.59 of its finished size The evidence, taken from the page as served This page as first delivered, against the page once its scripts have run
Both were taken from the same request. The first is what the site sent; the second is what a person ends up looking at.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT27 | warning | the content missing from the raw extraction is largely present inside script tags (85% of sampled missing terms): the page ships its content as script data rather than as document text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check On the sampled pages, how much text is shipped inside scripts as data rather than as page text. What good looks like The page's text is present as page text, not shipped inside scripts as data. Why it matters Content held as script data is missing from the plain fetch of the page, so it is absent rather than wrong. What we found on this page the content missing from the raw extraction is largely present inside script tags (85% of sampled missing terms): the page ships its content as script data rather than as document text The evidence, taken from the page as served Where the missing words were found
The words a person sees but the delivered page did not carry were looked for inside the page's script blocks.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ08 | warning | focus order: the first 12 Tab stops do not follow document order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether pressing Tab moves through the page in the order its content is written. What good looks like Pressing Tab moves through the page in the order its content is written. Why it matters The keyboard jumps around the page out of sequence, so a form is worked through in an order nobody intended. What we found on this page focus order: the first 12 Tab stops do not follow document order The evidence, taken from the page as served How the keyboard moves through this page
Read on the page once its scripts had run, following the keyboard from the top.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3402 of its 3460 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3402 of its 3460 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR03 | fail | 36% of the words a person sees are missing from the page as first delivered (1604 characters delivered, 2705 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's content exists only once JavaScript has run. What good looks like The page's content is present in the served HTML, so it does not depend on JavaScript to appear. Why it matters The page is fetched successfully but the answer is missing from what comes back, so the content is absent rather than wrong. What we found on this page 36% of the words a person sees are missing from the page as first delivered (1604 characters delivered, 2705 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs The evidence, taken from the page as served Content present only after JavaScript runs (absent from the served HTML)
The served HTML carries 1604 characters of text; after JavaScript runs the page carries 2705. 36% of the rendered page's words are absent from the HTML the server sends. What the server sends (raw HTML text, first 280 chars) Supporting businesses - City of London Skip to content Things to do Services Supporting businesses Visit homepage Open search area Open menu Getting help with the cost of living Contact the City Corporation About us Events Accessibility statement Councillors, committees and meeti…
Words present only after JavaScript runs
acceptaccessadvertisingadvertsallowanalyticsareasbeingbrowsercannotchangingchoicescleanerclosecollectingcomputercoredatadeliverdisabledenableessentialexperiencefunctionfunctionalitygoogleimproveinformationinsightsinterestsintomakenavigationnecessaryonlyotherspagepagesperformancepersonalpreferencesprocessproperlyprovidingreadrelevantrememberreportingsavescreenssecuresitesomesplashstoresuchtargetingtargetingadvertisingtestedthan
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's content is present in the served HTML, so it does not depend on JavaScript to appear. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR11 | warning | 36% of the words a person sees are missing from the page as first delivered, which is 0.59 of its finished size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The measured gap between the page as served and the page after the browser has built it. What good looks like The served page and the fully built page carry the same words, with little gap between them. Why it matters Two versions of the same page exist, and which words come back depends on which version was fetched. What we found on this page 36% of the words a person sees are missing from the page as first delivered, which is 0.59 of its finished size The evidence, taken from the page as served This page as first delivered, against the page once its scripts have run
Both were taken from the same request. The first is what the site sent; the second is what a person ends up looking at.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT27 | warning | the content missing from the raw extraction is largely present inside script tags (85% of sampled missing terms): the page ships its content as script data rather than as document text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check On the sampled pages, how much text is shipped inside scripts as data rather than as page text. What good looks like The page's text is present as page text, not shipped inside scripts as data. Why it matters Content held as script data is missing from the plain fetch of the page, so it is absent rather than wrong. What we found on this page the content missing from the raw extraction is largely present inside script tags (85% of sampled missing terms): the page ships its content as script data rather than as document text The evidence, taken from the page as served Where the missing words were found
The words a person sees but the delivered page did not carry were looked for inside the page's script blocks.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ08 | warning | focus order: the first 12 Tab stops do not follow document order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether pressing Tab moves through the page in the order its content is written. What good looks like Pressing Tab moves through the page in the order its content is written. Why it matters The keyboard jumps around the page out of sequence, so a form is worked through in an order nobody intended. What we found on this page focus order: the first 12 Tab stops do not follow document order The evidence, taken from the page as served How the keyboard moves through this page
Read on the page once its scripts had run, following the keyboard from the top.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3406 of its 3472 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3406 of its 3472 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR03 | warning | 13% of the words a person sees are missing from the page as first delivered (6276 characters delivered, 7505 once the page finishes building itself) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's content exists only once JavaScript has run. What good looks like The page's content is present in the served HTML, so it does not depend on JavaScript to appear. Why it matters The page is fetched successfully but the answer is missing from what comes back, so the content is absent rather than wrong. What we found on this page 13% of the words a person sees are missing from the page as first delivered (6276 characters delivered, 7505 once the page finishes building itself) The evidence, taken from the page as served Content present only after JavaScript runs (absent from the served HTML)
The served HTML carries 6276 characters of text; after JavaScript runs the page carries 7505. 13% of the rendered page's words are absent from the HTML the server sends. What the server sends (raw HTML text, first 280 chars) Getting help with the cost of living - City of London Skip to content Things to do Services Supporting businesses Visit homepage Open search area Open menu Getting help with the cost of living Contact the City Corporation About us Events Accessibility statement Councillors, commi…
Words present only after JavaScript runs
acceptadvertisingadvertsallowanalyticsareasbeingbrowsercannotchangingchoicescleanerclosecollectingcoredatadeliverdisabledenableexternalfunctionfunctionalitygoogleimproveinsightsinterestslinknavigationnecessaryonlyotherspagesperformancepersonalpreferencesprocessproperlyprovidingreadrememberreportingsavescreenssitesplashstoretargetingtargetingadvertisingthanusageuseduseswillwithout
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR11 | warning | 13% of the words a person sees are missing from the page as first delivered, which is 0.84 of its finished size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The measured gap between the page as served and the page after the browser has built it. What good looks like The served page and the fully built page carry the same words, with little gap between them. Why it matters Two versions of the same page exist, and which words come back depends on which version was fetched. What we found on this page 13% of the words a person sees are missing from the page as first delivered, which is 0.84 of its finished size The evidence, taken from the page as served This page as first delivered, against the page once its scripts have run
Both were taken from the same request. The first is what the site sent; the second is what a person ends up looking at.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT27 | warning | the content missing from the raw extraction is largely present inside script tags (81% of sampled missing terms): the page ships its content as script data rather than as document text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check On the sampled pages, how much text is shipped inside scripts as data rather than as page text. What good looks like The page's text is present as page text, not shipped inside scripts as data. Why it matters Content held as script data is missing from the plain fetch of the page, so it is absent rather than wrong. What we found on this page the content missing from the raw extraction is largely present inside script tags (81% of sampled missing terms): the page ships its content as script data rather than as document text The evidence, taken from the page as served Where the missing words were found
The words a person sees but the delivered page did not carry were looked for inside the page's script blocks.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ08 | warning | focus order: the first 12 Tab stops do not follow document order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether pressing Tab moves through the page in the order its content is written. What good looks like Pressing Tab moves through the page in the order its content is written. Why it matters The keyboard jumps around the page out of sequence, so a form is worked through in an order nobody intended. What we found on this page focus order: the first 12 Tab stops do not follow document order The evidence, taken from the page as served How the keyboard moves through this page
Read on the page once its scripts had run, following the keyboard from the top.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3455 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3455 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR03 | fail | 35% of the words a person sees are missing from the page as first delivered (1921 characters delivered, 3067 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's content exists only once JavaScript has run. What good looks like The page's content is present in the served HTML, so it does not depend on JavaScript to appear. Why it matters The page is fetched successfully but the answer is missing from what comes back, so the content is absent rather than wrong. What we found on this page 35% of the words a person sees are missing from the page as first delivered (1921 characters delivered, 3067 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs The evidence, taken from the page as served Content present only after JavaScript runs (absent from the served HTML)
The served HTML carries 1921 characters of text; after JavaScript runs the page carries 3067. 35% of the rendered page's words are absent from the HTML the server sends. What the server sends (raw HTML text, first 280 chars) Events - City of London Skip to content Things to do Services Supporting businesses Visit homepage Open search area Open menu Getting help with the cost of living Contact the City Corporation About us Events Accessibility statement Councillors, committees and meetings Report, Pay…
Words present only after JavaScript runs
acceptaccessadvertisingadvertsallowanalyticsareasbeingbrowsercannotchangingchoicescleanerclosecollectingcomputercontributorscoredatadeliverdisabledenableessentialexperiencefunctionfunctionalitygoogleimproveinformationinsightsinterestsintoleafletmakemorenavigationnecessaryonlyopenstreetmapotherspagepagesperformancepersonalpreferencesprocessproperlyprovidingreadrelevantrememberreportingsavescreenssecuresitesomesplashstoresuch
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's content is present in the served HTML, so it does not depend on JavaScript to appear. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR11 | warning | 35% of the words a person sees are missing from the page as first delivered, which is 0.63 of its finished size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The measured gap between the page as served and the page after the browser has built it. What good looks like The served page and the fully built page carry the same words, with little gap between them. Why it matters Two versions of the same page exist, and which words come back depends on which version was fetched. What we found on this page 35% of the words a person sees are missing from the page as first delivered, which is 0.63 of its finished size The evidence, taken from the page as served This page as first delivered, against the page once its scripts have run
Both were taken from the same request. The first is what the site sent; the second is what a person ends up looking at.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT27 | warning | the content missing from the raw extraction is largely present inside script tags (83% of sampled missing terms): the page ships its content as script data rather than as document text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check On the sampled pages, how much text is shipped inside scripts as data rather than as page text. What good looks like The page's text is present as page text, not shipped inside scripts as data. Why it matters Content held as script data is missing from the plain fetch of the page, so it is absent rather than wrong. What we found on this page the content missing from the raw extraction is largely present inside script tags (83% of sampled missing terms): the page ships its content as script data rather than as document text The evidence, taken from the page as served Where the missing words were found
The words a person sees but the delivered page did not carry were looked for inside the page's script blocks.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ08 | warning | focus order: the first 12 Tab stops do not follow document order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether pressing Tab moves through the page in the order its content is written. What good looks like Pressing Tab moves through the page in the order its content is written. Why it matters The keyboard jumps around the page out of sequence, so a form is worked through in an order nobody intended. What we found on this page focus order: the first 12 Tab stops do not follow document order The evidence, taken from the page as served How the keyboard moves through this page
Read on the page once its scripts had run, following the keyboard from the top.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3407 of its 3631 words are shared navigation and footer, so it reads as 94% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3407 of its 3631 words are shared navigation and footer, so it reads as 94% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT24 | warning | the page's own content runs to 340 characters | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page holds enough main text to be substantive, measured against a 400 character floor. What good looks like The page holds enough main text to be substantive. Why it matters A page of a few sentences offers almost nothing to quote, so it adds little beyond its own existence. What we found on this page the page's own content runs to 340 characters The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The page's own content is the part it marks out as its main content; where it marks out none, the whole of its text is counted.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT13 | warning | main content is 23% of the page's text; the shared furniture around it dominates what is read out | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's text sits in the main content region rather than in surrounding furniture. What good looks like Most of the page's text sits in its main content region rather than in the surrounding furniture. Why it matters When the main region is a small slice of the page, what is pulled out is mostly menus and boilerplate. What we found on this page main content is 23% of the page's text; the shared furniture around it dominates what is read out The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The rest is the menus, header and foot-of-page text that appear on other pages of the site as well.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR03 | fail | 41% of the words a person sees are missing from the page as first delivered (1418 characters delivered, 2519 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's content exists only once JavaScript has run. What good looks like The page's content is present in the served HTML, so it does not depend on JavaScript to appear. Why it matters The page is fetched successfully but the answer is missing from what comes back, so the content is absent rather than wrong. What we found on this page 41% of the words a person sees are missing from the page as first delivered (1418 characters delivered, 2519 once the page finishes building itself): a substantial share of the content exists only after JavaScript runs The evidence, taken from the page as served Content present only after JavaScript runs (absent from the served HTML)
The served HTML carries 1418 characters of text; after JavaScript runs the page carries 2519. 41% of the rendered page's words are absent from the HTML the server sends. What the server sends (raw HTML text, first 280 chars) About us - City of London Skip to content Things to do Services Supporting businesses Visit homepage Open search area Open menu Getting help with the cost of living Contact the City Corporation About us Events Accessibility statement Councillors, committees and meetings Report, P…
Words present only after JavaScript runs
acceptadvertisingadvertsallowanalyticsareasbeingbrowsercannotchangingchoicescleanerclosecollectingcomputercoredatadeliverdisabledenableessentialexperiencefunctionfunctionalitygoogleimproveinsightsinterestsintomakemorenavigationnecessaryonlyotherspagepagesperformancepersonalpreferencesprocessproperlyprovidingreadrelevantrememberreportingsavescreenssecuresitesomesplashstoresuchtargetingtargetingadvertisingtestedthanthese
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's content is present in the served HTML, so it does not depend on JavaScript to appear. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR11 | warning | 41% of the words a person sees are missing from the page as first delivered, which is 0.56 of its finished size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The measured gap between the page as served and the page after the browser has built it. What good looks like The served page and the fully built page carry the same words, with little gap between them. Why it matters Two versions of the same page exist, and which words come back depends on which version was fetched. What we found on this page 41% of the words a person sees are missing from the page as first delivered, which is 0.56 of its finished size The evidence, taken from the page as served This page as first delivered, against the page once its scripts have run
Both were taken from the same request. The first is what the site sent; the second is what a person ends up looking at.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT27 | warning | the content missing from the raw extraction is largely present inside script tags (85% of sampled missing terms): the page ships its content as script data rather than as document text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check On the sampled pages, how much text is shipped inside scripts as data rather than as page text. What good looks like The page's text is present as page text, not shipped inside scripts as data. Why it matters Content held as script data is missing from the plain fetch of the page, so it is absent rather than wrong. What we found on this page the content missing from the raw extraction is largely present inside script tags (85% of sampled missing terms): the page ships its content as script data rather than as document text The evidence, taken from the page as served Where the missing words were found
The words a person sees but the delivered page did not carry were looked for inside the page's script blocks.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ08 | warning | focus order: the first 12 Tab stops do not follow document order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether pressing Tab moves through the page in the order its content is written. What good looks like Pressing Tab moves through the page in the order its content is written. Why it matters The keyboard jumps around the page out of sequence, so a form is worked through in an order nobody intended. What we found on this page focus order: the first 12 Tab stops do not follow document order The evidence, taken from the page as served How the keyboard moves through this page
Read on the page once its scripts had run, following the keyboard from the top.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3402 of its 3453 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3402 of its 3453 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT32 | warning | length 29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The meta description's length is usable, between 50 and 170 characters. What good looks like The meta description's length is usable, long enough to say something and short enough not to be cut. Why it matters Too short says nothing and too long gets cut, so the summary field is spent without doing its job. What we found on this page length 29 The evidence, taken from the page as served The page's description, as served
<meta data-react-helmet="true" name="description" content="Contact the City Corporation "/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR03 | warning | 22% of the words a person sees are missing from the page as first delivered (5998 characters delivered, 7576 once the page finishes building itself) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's content exists only once JavaScript has run. What good looks like The page's content is present in the served HTML, so it does not depend on JavaScript to appear. Why it matters The page is fetched successfully but the answer is missing from what comes back, so the content is absent rather than wrong. What we found on this page 22% of the words a person sees are missing from the page as first delivered (5998 characters delivered, 7576 once the page finishes building itself) The evidence, taken from the page as served Content present only after JavaScript runs (absent from the served HTML)
The served HTML carries 5998 characters of text; after JavaScript runs the page carries 7576. 22% of the rendered page's words are absent from the HTML the server sends. What the server sends (raw HTML text, first 280 chars) Contact the City Corporation - City of London Skip to content Things to do Services Supporting businesses Visit homepage Open search area Open menu Getting help with the cost of living Contact the City Corporation About us Events Accessibility statement Councillors, committees an…
Words present only after JavaScript runs
acceptaccessaddressadvertisingadvertsallowanalyticsbeingbrowsercannotchangingchoicescleanerclosecollectingcomputercontributorscorecorrespondencedatadeliverdisabledenableessentialexperienceexternalfunctionfunctionalitygoogleimproveinformationinsightsinterestsintoleafletlinkmakemorenavigationnecessaryonlyopenstreetmapotherspagepagesperformancepersonalpreferencesprocessproperlyprovidingreadrelevantrememberreportingsavescreenssecuresitesome
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR11 | warning | 22% of the words a person sees are missing from the page as first delivered, which is 0.79 of its finished size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The measured gap between the page as served and the page after the browser has built it. What good looks like The served page and the fully built page carry the same words, with little gap between them. Why it matters Two versions of the same page exist, and which words come back depends on which version was fetched. What we found on this page 22% of the words a person sees are missing from the page as first delivered, which is 0.79 of its finished size The evidence, taken from the page as served This page as first delivered, against the page once its scripts have run
Both were taken from the same request. The first is what the site sent; the second is what a person ends up looking at.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR12 | warning | 55% of the page's text (4185 of 7576 characters) is not visible before interaction | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's text is hidden behind a click or an expander before anyone interacts. What good looks like The page's text is visible as it loads, not held behind a click or an expander. Why it matters Half or more of the page's text is present but never shown, so what readers see and what it contains diverge. What we found on this page 55% of the page's text (4185 of 7576 characters) is not visible before interaction The evidence, taken from the page as served How much of this page is hidden until something is clicked
Counted on the page once its scripts had run, before anything was clicked.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT27 | warning | the content missing from the raw extraction is largely present inside script tags (82% of sampled missing terms): the page ships its content as script data rather than as document text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check On the sampled pages, how much text is shipped inside scripts as data rather than as page text. What good looks like The page's text is present as page text, not shipped inside scripts as data. Why it matters Content held as script data is missing from the plain fetch of the page, so it is absent rather than wrong. What we found on this page the content missing from the raw extraction is largely present inside script tags (82% of sampled missing terms): the page ships its content as script data rather than as document text The evidence, taken from the page as served Where the missing words were found
The words a person sees but the delivered page did not carry were looked for inside the page's script blocks.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ08 | warning | focus order: the first 12 Tab stops do not follow document order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether pressing Tab moves through the page in the order its content is written. What good looks like Pressing Tab moves through the page in the order its content is written. Why it matters The keyboard jumps around the page out of sequence, so a form is worked through in an order nobody intended. What we found on this page focus order: the first 12 Tab stops do not follow document order The evidence, taken from the page as served How the keyboard moves through this page
Read on the page once its scripts had run, following the keyboard from the top.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3546 words are shared navigation and footer, so it reads as 97% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3546 words are shared navigation and footer, so it reads as 97% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR03 | warning | 22% of the words a person sees are missing from the page as first delivered (3825 characters delivered, 4926 once the page finishes building itself) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's content exists only once JavaScript has run. What good looks like The page's content is present in the served HTML, so it does not depend on JavaScript to appear. Why it matters The page is fetched successfully but the answer is missing from what comes back, so the content is absent rather than wrong. What we found on this page 22% of the words a person sees are missing from the page as first delivered (3825 characters delivered, 4926 once the page finishes building itself) The evidence, taken from the page as served Content present only after JavaScript runs (absent from the served HTML)
The served HTML carries 3825 characters of text; after JavaScript runs the page carries 4926. 22% of the rendered page's words are absent from the HTML the server sends. What the server sends (raw HTML text, first 280 chars) Councillors, committees and meetings - City of London Skip to content Things to do Services Supporting businesses Visit homepage Open search area Open menu Getting help with the cost of living Contact the City Corporation About us Events Accessibility statement Councillors, commi…
Words present only after JavaScript runs
acceptaccessadvertisingadvertsallowanalyticsareasbrowsercannotchangingchoicescleanerclosecollectingcomputercoredatadeliverdisabledenableessentialexperiencefunctionfunctionalitygoogleimproveinformationinsightsintomakemorenavigationnecessaryonlyotherspagepagesperformancepersonalpreferencesprocessproperlyprovidingreadrememberreportingsavescreenssecuresitesomesplashstoresuchtargetingtargetingadvertisingtestedthanusageused
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR11 | warning | 22% of the words a person sees are missing from the page as first delivered, which is 0.78 of its finished size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The measured gap between the page as served and the page after the browser has built it. What good looks like The served page and the fully built page carry the same words, with little gap between them. Why it matters Two versions of the same page exist, and which words come back depends on which version was fetched. What we found on this page 22% of the words a person sees are missing from the page as first delivered, which is 0.78 of its finished size The evidence, taken from the page as served This page as first delivered, against the page once its scripts have run
Both were taken from the same request. The first is what the site sent; the second is what a person ends up looking at.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT27 | warning | the content missing from the raw extraction is largely present inside script tags (84% of sampled missing terms): the page ships its content as script data rather than as document text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check On the sampled pages, how much text is shipped inside scripts as data rather than as page text. What good looks like The page's text is present as page text, not shipped inside scripts as data. Why it matters Content held as script data is missing from the plain fetch of the page, so it is absent rather than wrong. What we found on this page the content missing from the raw extraction is largely present inside script tags (84% of sampled missing terms): the page ships its content as script data rather than as document text The evidence, taken from the page as served Where the missing words were found
The words a person sees but the delivered page did not carry were looked for inside the page's script blocks.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ08 | warning | focus order: the first 12 Tab stops do not follow document order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether pressing Tab moves through the page in the order its content is written. What good looks like Pressing Tab moves through the page in the order its content is written. Why it matters The keyboard jumps around the page out of sequence, so a form is worked through in an order nobody intended. What we found on this page focus order: the first 12 Tab stops do not follow document order The evidence, taken from the page as served How the keyboard moves through this page
Read on the page once its scripts had run, following the keyboard from the top.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3463 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3463 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR03 | warning | 14% of the words a person sees are missing from the page as first delivered (6719 characters delivered, 7916 once the page finishes building itself) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's content exists only once JavaScript has run. What good looks like The page's content is present in the served HTML, so it does not depend on JavaScript to appear. Why it matters The page is fetched successfully but the answer is missing from what comes back, so the content is absent rather than wrong. What we found on this page 14% of the words a person sees are missing from the page as first delivered (6719 characters delivered, 7916 once the page finishes building itself) The evidence, taken from the page as served Content present only after JavaScript runs (absent from the served HTML)
The served HTML carries 6719 characters of text; after JavaScript runs the page carries 7916. 14% of the rendered page's words are absent from the HTML the server sends. What the server sends (raw HTML text, first 280 chars) Accessibility statement - City of London Skip to content Things to do Services Supporting businesses Visit homepage Open search area Open menu Getting help with the cost of living Contact the City Corporation About us Events Accessibility statement Councillors, committees and mee…
Words present only after JavaScript runs
acceptadvertisingadvertsallowanalyticsareasbeingbrowsercannotchangingchoicescleanerclosecollectingcomputercoredeliverdisabledenableexperienceexternalfunctionfunctionalitygoogleinsightsinterestsintolinkmakemorenavigationnecessaryonlyothersperformancepersonalpreferencesprocessproperlyreadremembersavescreenssecuresplashstoresuchtargetingtargetingadvertisingthantheseusageuseduseswhile
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR11 | warning | 14% of the words a person sees are missing from the page as first delivered, which is 0.85 of its finished size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The measured gap between the page as served and the page after the browser has built it. What good looks like The served page and the fully built page carry the same words, with little gap between them. Why it matters Two versions of the same page exist, and which words come back depends on which version was fetched. What we found on this page 14% of the words a person sees are missing from the page as first delivered, which is 0.85 of its finished size The evidence, taken from the page as served This page as first delivered, against the page once its scripts have run
Both were taken from the same request. The first is what the site sent; the second is what a person ends up looking at.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT27 | warning | the content missing from the raw extraction is largely present inside script tags (81% of sampled missing terms): the page ships its content as script data rather than as document text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check On the sampled pages, how much text is shipped inside scripts as data rather than as page text. What good looks like The page's text is present as page text, not shipped inside scripts as data. Why it matters Content held as script data is missing from the plain fetch of the page, so it is absent rather than wrong. What we found on this page the content missing from the raw extraction is largely present inside script tags (81% of sampled missing terms): the page ships its content as script data rather than as document text The evidence, taken from the page as served Where the missing words were found
The words a person sees but the delivered page did not carry were looked for inside the page's script blocks.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ08 | warning | focus order: the first 12 Tab stops do not follow document order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether pressing Tab moves through the page in the order its content is written. What good looks like Pressing Tab moves through the page in the order its content is written. Why it matters The keyboard jumps around the page out of sequence, so a form is worked through in an order nobody intended. What we found on this page focus order: the first 12 Tab stops do not follow document order The evidence, taken from the page as served How the keyboard moves through this page
Read on the page once its scripts had run, following the keyboard from the top.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3448 words are shared navigation and footer, so it reads as 100% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3448 words are shared navigation and footer, so it reads as 100% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3458 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3458 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 2 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 2 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3460 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3460 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โrelay ukโ; the links are listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Links that share exactly the same wording on one page while pointing at different destinations. What good looks like Links that share the same wording lead to the same destination. Why it matters The wording no longer settles the target, so the wrong one gets followed at the point where the choice matters. What we found on this page 1 link wording(s) are used for more than one destination, so the same words point at different pages: โrelay ukโ; the links are listed in the view The evidence, taken from the page as served Links that share the same text but point to different destinations, as served
<a target="_blank" href="https://www.relayuk.bt.com/">Relay UK</a> <a target="_blank" href="https://www.relayuk.bt.com/about-relay-uk.html">Relay UK</a> Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: links that share the same wording lead to the same destination. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 3 out of a possible 5, because it is one of the checks that decide how cleanly content can be read once reached, so it carries a middle weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3702 words are shared navigation and footer, so it reads as 93% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3702 words are shared navigation and footer, so it reads as 93% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | SEVERE: 32% of the links to sources on other sites did not open when they were checked. 1 points at a page that no longer exists, and 1 was refused, meaning the page is still published but the other site turns away requests that do not come from a person using a browser. That is 2 of the 5 checked, which stand for the 10 links to other sites on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page SEVERE: 32% of the links to sources on other sites did not open when they were checked. 1 points at a page that no longer exists, and 1 was refused, meaning the page is still published but the other site turns away requests that do not come from a person using a browser. That is 2 of the 5 checked, which stand for the 10 links to other sites on this page The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3448 words are shared navigation and footer, so it reads as 100% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3448 words are shared navigation and footer, so it reads as 100% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3439 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3439 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT32 | warning | length 45 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The meta description's length is usable, between 50 and 170 characters. What good looks like The meta description's length is usable, long enough to say something and short enough not to be cut. Why it matters Too short says nothing and too long gets cut, so the summary field is spent without doing its job. What we found on this page length 45 The evidence, taken from the page as served The page's description, as served
<meta data-react-helmet="true" name="description" content="The City of London's Modern Slavery Statement"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | SEVERE: 32% of the links to sources on other sites did not open when they were checked. 1 points at a page that no longer exists, and 1 was refused, meaning the page is still published but the other site turns away requests that do not come from a person using a browser. That is 2 of the 5 checked, which stand for the 11 links to other sites on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page SEVERE: 32% of the links to sources on other sites did not open when they were checked. 1 points at a page that no longer exists, and 1 was refused, meaning the page is still published but the other site turns away requests that do not come from a person using a browser. That is 2 of the 5 checked, which stand for the 11 links to other sites on this page The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3473 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3473 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3406 of its 3475 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3406 of its 3475 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โcitizens advice bureauโ; the links are listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Links that share exactly the same wording on one page while pointing at different destinations. What good looks like Links that share the same wording lead to the same destination. Why it matters The wording no longer settles the target, so the wrong one gets followed at the point where the choice matters. What we found on this page 1 link wording(s) are used for more than one destination, so the same words point at different pages: โcitizens advice bureauโ; the links are listed in the view The evidence, taken from the page as served Links that share the same text but point to different destinations, as served
<a target="_blank" href="https://www.citizensadvice.org.uk/">Citizens advice bureau</a> <a target="_blank" href="http://www.adviceguide.org.uk/">Citizens advice bureau</a> Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: links that share the same wording lead to the same destination. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 3 out of a possible 5, because it is one of the checks that decide how cleanly content can be read once reached, so it carries a middle weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3444 words are shared navigation and footer, so it reads as 100% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3444 words are shared navigation and footer, so it reads as 100% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT32 | warning | length 21 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The meta description's length is usable, between 50 and 170 characters. What good looks like The meta description's length is usable, long enough to say something and short enough not to be cut. Why it matters Too short says nothing and too long gets cut, so the summary field is spent without doing its job. What we found on this page length 21 The evidence, taken from the page as served The page's description, as served
<meta data-react-helmet="true" name="description" content="Accessibility toolbar"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR13 | warning | only 154 characters of this page read as its own content, so either the page is thin or its own words cannot be told apart from the parts repeated across the site | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the page's main content is marked off from the navigation and footer around it. What good looks like A main or article region marks the primary content off from the navigation and footer around it. Why it matters Pulling the page's text returns menus and legal footers mixed with the substance, so the answer arrives buried in noise. What we found on this page only 154 characters of this page read as its own content, so either the page is thin or its own words cannot be told apart from the parts repeated across the site The evidence, taken from the page as served The main text extracted from the page, as served
FooterAccessibility toolbarAccessibility toolbarGo to FacebookGo to TwitterGo to LinkedInGo to MailDate updated: 8/07/2025View the Accessibility statement | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT24 | warning | the page's own content runs to 154 characters | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page holds enough main text to be substantive, measured against a 400 character floor. What good looks like The page holds enough main text to be substantive. Why it matters A page of a few sentences offers almost nothing to quote, so it adds little beyond its own existence. What we found on this page the page's own content runs to 154 characters The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The page's own content is the part it marks out as its main content; where it marks out none, the whole of its text is counted.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT13 | fail | main content is 12% of the page's text; the shared furniture around it dominates what is read out | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's text sits in the main content region rather than in surrounding furniture. What good looks like Most of the page's text sits in its main content region rather than in the surrounding furniture. Why it matters When the main region is a small slice of the page, what is pulled out is mostly menus and boilerplate. What we found on this page main content is 12% of the page's text; the shared furniture around it dominates what is read out The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The rest is the menus, header and foot-of-page text that appear on other pages of the site as well.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: most of the page's text sits in its main content region rather than in the surrounding furniture. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 3 out of a possible 5, because it is one of the checks that decide how cleanly content can be read once reached, so it carries a middle weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3441 words are shared navigation and footer, so it reads as 100% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3441 words are shared navigation and footer, so it reads as 100% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3489 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3489 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR13 | warning | only 6 characters of this page read as its own content, so either the page is thin or its own words cannot be told apart from the parts repeated across the site | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the page's main content is marked off from the navigation and footer around it. What good looks like A main or article region marks the primary content off from the navigation and footer around it. Why it matters Pulling the page's text returns menus and legal footers mixed with the substance, so the answer arrives buried in noise. What we found on this page only 6 characters of this page read as its own content, so either the page is thin or its own words cannot be told apart from the parts repeated across the site The evidence, taken from the page as served The main text extracted from the page, as served
Footer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT24 | warning | the page's own content runs to 6 characters | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page holds enough main text to be substantive, measured against a 400 character floor. What good looks like The page holds enough main text to be substantive. Why it matters A page of a few sentences offers almost nothing to quote, so it adds little beyond its own existence. What we found on this page the page's own content runs to 6 characters The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The page's own content is the part it marks out as its main content; where it marks out none, the whole of its text is counted.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT13 | fail | main content is 0% of the page's text; the shared furniture around it dominates what is read out | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's text sits in the main content region rather than in surrounding furniture. What good looks like Most of the page's text sits in its main content region rather than in the surrounding furniture. Why it matters When the main region is a small slice of the page, what is pulled out is mostly menus and boilerplate. What we found on this page main content is 0% of the page's text; the shared furniture around it dominates what is read out The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The rest is the menus, header and foot-of-page text that appear on other pages of the site as well.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: most of the page's text sits in its main content region rather than in the surrounding furniture. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 3 out of a possible 5, because it is one of the checks that decide how cleanly content can be read once reached, so it carries a middle weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3406 of its 3414 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3406 of its 3414 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT32 | warning | length 4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The meta description's length is usable, between 50 and 170 characters. What good looks like The meta description's length is usable, long enough to say something and short enough not to be cut. Why it matters Too short says nothing and too long gets cut, so the summary field is spent without doing its job. What we found on this page length 4 The evidence, taken from the page as served The page's description, as served
<meta data-react-helmet="true" name="description" content="null"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT24 | warning | the page's own content runs to 326 characters | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page holds enough main text to be substantive, measured against a 400 character floor. What good looks like The page holds enough main text to be substantive. Why it matters A page of a few sentences offers almost nothing to quote, so it adds little beyond its own existence. What we found on this page the page's own content runs to 326 characters The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The page's own content is the part it marks out as its main content; where it marks out none, the whole of its text is counted.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT13 | warning | main content is 22% of the page's text; the shared furniture around it dominates what is read out | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's text sits in the main content region rather than in surrounding furniture. What good looks like Most of the page's text sits in its main content region rather than in the surrounding furniture. Why it matters When the main region is a small slice of the page, what is pulled out is mostly menus and boilerplate. What we found on this page main content is 22% of the page's text; the shared furniture around it dominates what is read out The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The rest is the menus, header and foot-of-page text that appear on other pages of the site as well.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3406 of its 3458 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3406 of its 3458 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3487 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3487 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT24 | warning | the page's own content runs to 378 characters | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page holds enough main text to be substantive, measured against a 400 character floor. What good looks like The page holds enough main text to be substantive. Why it matters A page of a few sentences offers almost nothing to quote, so it adds little beyond its own existence. What we found on this page the page's own content runs to 378 characters The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The page's own content is the part it marks out as its main content; where it marks out none, the whole of its text is counted.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3461 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3461 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3455 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3455 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3482 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3482 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3481 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3481 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3457 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3457 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3470 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3470 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT06 | warning | title length 73 chars | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The title's length sits in a usable window, between 10 and 65 characters. What good looks like The title's length sits in a usable window, neither too short to say anything nor too long to be cut. Why it matters A title outside that window is liable to be rewritten elsewhere, and control of the page's name goes with it. What we found on this page title length 73 chars The evidence, taken from the page as served The page title, as served
<title data-react-helmet="true">Support with school uniforms, free school meals and more - City of London</title> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3571 words are shared navigation and footer, so it reads as 97% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3571 words are shared navigation and footer, so it reads as 97% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AR13 | warning | only 260 characters of this page read as its own content, so either the page is thin or its own words cannot be told apart from the parts repeated across the site | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the page's main content is marked off from the navigation and footer around it. What good looks like A main or article region marks the primary content off from the navigation and footer around it. Why it matters Pulling the page's text returns menus and legal footers mixed with the substance, so the answer arrives buried in noise. What we found on this page only 260 characters of this page read as its own content, so either the page is thin or its own words cannot be told apart from the parts repeated across the site The evidence, taken from the page as served The main text extracted from the page, as served
ServicesHousing and HomelessnessHousing BenefitsHousing BenefitsServicesHousing and HomelessnessHousing BenefitsBenefit fraudClaiming benefits and Universal CreditContact the Benefits teamEmergency support schemeFurther discretionary support with housing costs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT24 | warning | the page's own content runs to 260 characters | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page holds enough main text to be substantive, measured against a 400 character floor. What good looks like The page holds enough main text to be substantive. Why it matters A page of a few sentences offers almost nothing to quote, so it adds little beyond its own existence. What we found on this page the page's own content runs to 260 characters The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The page's own content is the part it marks out as its main content; where it marks out none, the whole of its text is counted.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT13 | warning | main content is 19% of the page's text; the shared furniture around it dominates what is read out | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check How much of the page's text sits in the main content region rather than in surrounding furniture. What good looks like Most of the page's text sits in its main content region rather than in the surrounding furniture. Why it matters When the main region is a small slice of the page, what is pulled out is mostly menus and boilerplate. What we found on this page main content is 19% of the page's text; the shared furniture around it dominates what is read out The evidence, taken from the page as served How much of this page is its own content
Counted from the page as served, before any script runs. The rest is the menus, header and foot-of-page text that appear on other pages of the site as well.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3442 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3442 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 2 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 2 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS14 | warning | 1 video(s) on the page carry no captions of their own; a written transcript on the page holds the words, but not as timed text with the video | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether each video carries captions of its own, timed text on the video itself, judged together with whether the page holds a written transcript. What good looks like Captions carried on the video. A WARNING means the video has no captions but a written transcript on the page holds the words. A FAIL means neither exists, so nothing spoken is available as text in any form; that total absence is marked here once, not spread across two findings. Why it matters Spoken content that exists only as sound is invisible to a reader, human or machine: nothing said in the video can be found, read or quoted. What we found on this page 1 video(s) on the page carry no captions of their own; a written transcript on the page holds the words, but not as timed text with the video The evidence, taken from the page as served Each video on the page, as served: its code, source file and caption track
<iframe width="560" height="315" src="https://www.youtube.com/embed/GQ8m7RLxD8Y?si=cnjSQhFiHGMNd_Qm" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3517 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3517 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 3 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 3 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS14 | warning | 1 video(s) on the page carry no captions of their own; a written transcript on the page holds the words, but not as timed text with the video | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether each video carries captions of its own, timed text on the video itself, judged together with whether the page holds a written transcript. What good looks like Captions carried on the video. A WARNING means the video has no captions but a written transcript on the page holds the words. A FAIL means neither exists, so nothing spoken is available as text in any form; that total absence is marked here once, not spread across two findings. Why it matters Spoken content that exists only as sound is invisible to a reader, human or machine: nothing said in the video can be found, read or quoted. What we found on this page 1 video(s) on the page carry no captions of their own; a written transcript on the page holds the words, but not as timed text with the video The evidence, taken from the page as served Each video on the page, as served: its code, source file and caption track
<iframe width="560" height="315" src="https://www.youtube.com/embed/IUT2oI6nvuE?si=euLFliuwUNxx13x6" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3571 words are shared navigation and footer, so it reads as 96% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3571 words are shared navigation and footer, so it reads as 96% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | 24% of the links to sources on other sites did not open when they were checked. 2 were refused, meaning the page is still published but the other site turns away requests that do not come from a person using a browser. That is 2 of the 5 checked, which stand for the 11 links to other sites on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page 24% of the links to sources on other sites did not open when they were checked. 2 were refused, meaning the page is still published but the other site turns away requests that do not come from a person using a browser. That is 2 of the 5 checked, which stand for the 11 links to other sites on this page The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning.
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3479 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3479 words are shared navigation and footer, so it reads as 98% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS03 | fail | an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The same page loads for a browser but is refused when the request names itself as an AI service. What good looks like The page returns the same response to a named AI service as to a browser, with no edge block. Why it matters The block sits in front of the site and leaves no trace in its own logs, so the estate is closed off unnoticed. What we found on this page an AI crawler asking for this page is refused by the security layer in front of the site, while an ordinary browser is served, so the page's content never reaches the AI and answers about it are left to memory or guesswork The evidence, taken from the page as served The estate's edge tested with each AI crawler: a browser is served, the crawlers are refused
Hostwww.cityoflondon.gov.uk · resolves to 172.66.155.113, 104.20.19.80 · Cloudflare
Address trailwww.cityoflondon.gov.uk
Checked2026-07-31 16:45 UTC · request sent from 10.100.100.212 (our checker)
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT16 | warning | the page carries no structured data block stating what it is (not required; a hygiene signal) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries structured data, the machine-readable summary of what it describes. What good looks like The page carries structured data summarising what it describes. Why it matters Vendors document this as optional rather than required, so its absence is a small forfeit and no more. What we found on this page the page carries no structured data block stating what it is (not required; a hygiene signal) The evidence, taken from the page as served The head of this page, as served
The page was read for a structured data block describing what the page is. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT04 | warning | the page shows the year 2029 in its text, but nothing on the page states it as the date of the content | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The page carries a date, ideally written into the markup rather than sitting only in the text. What good looks like The page carries a date, ideally written into the markup rather than sitting only in the text. Why it matters An undated page gives nothing to weigh its age against, so old and new material are treated alike. What we found on this page the page shows the year 2029 in its text, but nothing on the page states it as the date of the content The evidence, taken from the page as served The head of this page, as served
The head of the page was read for a tag stating the date of the content. The year shown above was found in the page's own text. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AJ05 | warning | no site-search control detected on this page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a search box for the site is present in the page as it is served. What good looks like A search box is present in the served markup, so the site's own content can be queried directly. Why it matters With no search box on the page, its links are the only route from here into the rest of the site. What we found on this page no site-search control detected on this page The evidence, taken from the page as served The head of this page, as served
The page was read for a search box: a search form, a control named for search, or a box labelled as one. <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><meta name="facebook-domain-verification" content="msc65lq1e60kt58y2jkbo2flkhvm4a"/><!--[if IE 11 ]> <meta name="msapplication-config" content="_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/browserconfig.xml" /> <![endif]--><link rel="icon" type="image/x-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon.ico"/><link rel="icon" type="image/png" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/col_apple_icon.png"/><link rel="manifest" href="/_IHS62Q_ff4a8f4f-f506-4eb1-b9c9-87c6a5e720af/static/img/favicon/manifest.json"/><script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"/><script src="/site-elements/js/cookie-control.js" type="text/javascript"/><script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElemโฆ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MS13 | warning | 1 of 1 iframes untitled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Each embedded panel on the page carries a title saying what it contains. What good looks like Each embedded panel carries a title saying what it contains. Why it matters The embedded region stays unnamed, so what it holds is left unstated in the page around it. What we found on this page 1 of 1 iframes untitled The evidence, taken from the page as served The iframes with no title attribute, as served
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C7LND" height="0" width="0" style="display:none;visibility:hidden"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DS28 | fail | one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check For a single page, the share of its links to OTHER sites, sampled, that lead nowhere. The site's own links are assessed separately. What good looks like The page's references to other sites open for any reader. Where one refuses or has gone, the page carries the fact itself, shows the reference as plain text rather than as a link, or points to a source that answers. Why it matters The outside sources this page offers as support did not answer when they were asked for, so what the page claims is left resting on material that does not come back. In a regulated setting, where a link is carrying a figure or a required statement, that is the difference between a claim that is evidenced and one that is merely asserted. What we found on this page one link to sources on other sites was refused when it was checked. The page is still published, but the other site turns away requests that do not come from a person using a browser. It is listed in the view The evidence, taken from the page as served The external links checked on this page, with the status each returned
A link that did not open appears here in two forms. A DEAD link points at a page that has gone. A REFUSED link points at a page that is still published, but the other site turns away requests that do not come from a person using a browser, so our request was declined. Both land in the same place: the material this page offers as its support did not come back when it was asked for. The consequence is not a matter of tidiness. Where a link carries the weight of a claim, a figure, a policy or a regulatory statement, and the target does not open, the support behind that claim is missing at the moment it is needed. Three things follow, and each of them costs the organisation. The same fact gets taken from somewhere else, which hands a third party control of how the claim is worded. Or the claim is treated as unsupported and set aside. Or an answer is drawn from what remains on the page, and a partial account is presented as a complete one. A refused link is the worst of the three, because the page still reads as though the evidence sits one step away, so the gap is invisible and the answer carries false confidence. A refusal by another site is still this site's matter to resolve, because this site chose to rest a claim on it. Three practical ways close it. Carry the fact being relied on in the page's own words, so the claim stands without the visit. Keep the reference but stop making it a link, showing the address as plain text, so nothing promises a route that does not open. Or point to a source that answers any reader. Where the reference has to stay live, say beside it what a reader will meet, so no one is sent to a closed door without warning. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the page's references to other sites open for any reader. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 15 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure could contribute to a wrong answer in some cases, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | the page's own words are thin: 3410 of its 3460 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether a page's own words are so few against a large shared navigation and footer that it reads as near-identical to other pages. What good looks like A page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. Why it matters When shared furniture is most of the text, distinct pages look like copies of each other and the little real content is easily passed over. What we found on this page the page's own words are thin: 3410 of its 3460 words are shared navigation and footer, so it reads as 99% identical to another page, which a machine can then take as a duplicate and pass over, missing the little content that is its own; the matching page is named in the view The evidence, taken from the page as served This page's own words, lost in shared navigation and footer
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: a page carries enough of its own words that a shared navigation and footer do not make it read as a copy of other pages. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 1 out of a possible 5, because it is one of the supporting checks, so it carries the lightest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The first documents discovered on the estate, scored separately from pages.
| Document information | |
|---|---|
| Title | Court of Aldermen 2025/26 |
| Author | City of London |
| PDF version, pages, size | 1.7 ยท 50 pages ยท 39169 KB |
| Found on | https://www.cityoflondon.gov.uk/about-us/councillors-committees-meetings |
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS29 | fail | 11 of 15 AI crawlers asking for this document are refused by the security layer in front of the document host, while an ordinary browser is served, so the document is closed to nearly all AI systems and their answers about it are left to memory or guesswork. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The documents load for a browser but are refused when the request names itself as an AI service, tested on the host that actually serves them (often separate from the pages). What good looks like The document host returns the same response to a named AI service as to a browser, with no edge block. Why it matters The document is refused to AI crawlers at the edge, so its contents never reach the systems that answer about it, and what they state about it is left to guesswork. What we found on this page 11 of 15 AI crawlers asking for this document are refused by the security layer in front of the document host, while an ordinary browser is served, so the document is closed to nearly all AI systems and their answers about it are left to memory or guesswork. The evidence, taken from the page as served Each crawler's own request to this document, and the status it received
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the document host returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD19 | warning | the document is large (39169 KB); very large files risk being only partly read, so later sections may be missed | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The size of the file, and whether it passes the point where large documents risk partial processing. What good looks like The file sits within the size where documents process in full. Why it matters A very large file is at risk of being handled only in part, leaving later material out of what comes back. What we found on this page the document is large (39169 KB); very large files risk being only partly read, so later sections may be missed The evidence, taken from the page as served How large this document is
Measured from the file as the site served it.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD02 | warning | 1 of the first 8 of 50 pages are page images with little or no readable text behind them | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Pages that are photographs or scans of a document rather than text held as characters. What good looks like The document is text held as characters, not a photograph or scan. Why it matters A scan holds its words as picture marks, so recovering them needs image to text conversion, which introduces errors. What we found on this page 1 of the first 8 of 50 pages are page images with little or no readable text behind them The evidence, taken from the page as served This document's properties, as recorded in the file
The file's pages were read for text behind the page image.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD15 | warning | the image-only pages hold no text; their content would have to be read off the images first (a step known as OCR), and that step is not part of ordinary reading | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the words exist as characters, or only as marks in an image that must be converted first. What good looks like The words exist as characters, not only as marks in an image that must be converted first. Why it matters Content read back out of a picture arrives with conversion errors, so numbers and names come through altered. What we found on this page the image-only pages hold no text; their content would have to be read off the images first (a step known as OCR), and that step is not part of ordinary reading The evidence, taken from the page as served This document's properties, as recorded in the file
The file's pages were read for stored text.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD11 | fail | no headings come through in the first page's text, so it reads as one undivided block with nothing to mark where its sections begin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether headings on the document's first page are still recognisable once the text is pulled out. What good looks like Headings on the first page stay recognisable once the text is pulled out. Why it matters With no headings to divide it the document reads as one undivided block, so a passage loses the section it sat in. What we found on this page no headings come through in the first page's text, so it reads as one undivided block with nothing to mark where its sections begin The evidence, taken from the page as served The first page's text as it reads out, with no headings to be found
Court of Aldermen 2025/26 Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: headings on the first page stay recognisable once the text is pulled out. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 3 out of a possible 5, because it is one of the checks that decide how cleanly content can be read once reached, so it carries a middle weight in the figure for this item. Why it does not move the misinformation reading This failure makes content harder to reach or to read, but it is not a direct route to a wrong answer, so it is held out of the misinformation reading rather than counted twice. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD28 | warning | 1 of 5 fonts in the document do not record which character each shape stands for, so some of the text may come out garbled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Fonts that carry no map turning their shapes back into actual letters, across the sampled pages. What good looks like The document's fonts carry the map turning their shapes back into letters. Why it matters Without that map the text comes out as the wrong characters, so words and figures are wrong rather than missing. What we found on this page 1 of 5 fonts in the document do not record which character each shape stands for, so some of the text may come out garbled The evidence, taken from the page as served The fonts whose text has no character map, and where each is used
A font stores shapes. The map from those shapes back to real characters is what lets the words be read out of the file. Without it the shapes still print correctly on paper, so the document looks perfect, while the text taken from it comes out as the wrong characters. Carrying the font inside the document and recording that map are two separate things: a font can be carried in full and still record no map, and that is the more serious case, because nothing looks wrong at any point and the wrong characters appear only once the document is read by machine. Each font below states which of the two applies to it.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD29 | warning | the document contains open-action, so what is read out as text may not match what a person sees on the page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Scripts, automatic actions and switchable content layers held inside the document. What good looks like The document holds no scripts, automatic actions or switchable content layers. Why it matters When content sits on hidden or switchable layers, the text taken from the file differs from the page as it appears. What we found on this page the document contains open-action, so what is read out as text may not match what a person sees on the page The evidence, taken from the page as served This document's properties, as recorded in the file
The file was read for content that changes or is layered over the page.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD25 | alert | the same content is not published as an ordinary web page, only as this PDF, which is a harder format to read reliably. This is an alert, not a fault in the document. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the same content is also published as an ordinary web page, not only as a download. What good looks like The same content is also published as an ordinary web page, not only as a download. Why it matters Without a page version the content exists only in document form, where its structure is far more fragile. What we found on this page the same content is not published as an ordinary web page, only as this PDF, which is a harder format to read reliably. This is an alert, not a fault in the document. The evidence, taken from the page as served Where an ordinary web page of this content was looked for
Each address below was asked for. A companion page is also matched by a title matching the document's own.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Document information | |
|---|---|
| Title | City of London Corporation Modern Slavery Statement |
| Author | Slatter, Emily |
| PDF version, pages, size | 1.6 ยท 18 pages ยท 286 KB |
| Found on | https://www.cityoflondon.gov.uk/supporting-businesses/tenders-and-procurement/modern-slavery-statement |
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS29 | fail | 11 of 15 AI crawlers asking for this document are refused by the security layer in front of the document host, while an ordinary browser is served, so the document is closed to nearly all AI systems and their answers about it are left to memory or guesswork. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The documents load for a browser but are refused when the request names itself as an AI service, tested on the host that actually serves them (often separate from the pages). What good looks like The document host returns the same response to a named AI service as to a browser, with no edge block. Why it matters The document is refused to AI crawlers at the edge, so its contents never reach the systems that answer about it, and what they state about it is left to guesswork. What we found on this page 11 of 15 AI crawlers asking for this document are refused by the security layer in front of the document host, while an ordinary browser is served, so the document is closed to nearly all AI systems and their answers about it are left to memory or guesswork. The evidence, taken from the page as served Each crawler's own request to this document, and the status it received
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the document host returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD11 | fail | no headings come through in the first page's text, so it reads as one undivided block with nothing to mark where its sections begin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether headings on the document's first page are still recognisable once the text is pulled out. What good looks like Headings on the first page stay recognisable once the text is pulled out. Why it matters With no headings to divide it the document reads as one undivided block, so a passage loses the section it sat in. What we found on this page no headings come through in the first page's text, so it reads as one undivided block with nothing to mark where its sections begin The evidence, taken from the page as served The first page's text as it reads out, with no headings to be found
1 City of London Corporation Modern Slavery Statement 1. At the City of London Corporation, we are committed to upholding the highest standards of ethical governance and transparency in our operations. 2. This Modern Slavery Statement continues the work laid out in our 2018 and 2021 statements, outlining the steps that the City of London Corporation (โCity Corporationโ) has taken and is continuing to take to ensure that modern slavery is not taking place within our organisation, within t Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: headings on the first page stay recognisable once the text is pulled out. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 3 out of a possible 5, because it is one of the checks that decide how cleanly content can be read once reached, so it carries a middle weight in the figure for this item. Why it does not move the misinformation reading This failure makes content harder to reach or to read, but it is not a direct route to a wrong answer, so it is held out of the misinformation reading rather than counted twice. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD14 | warning | the document has images but none carry a text description of what they show, so any figures that live only inside a chart or diagram are absent from the text | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether charts and images in the document carry a written description of what they show. What good looks like Charts and images in the document carry a written description of what they show. Why it matters Data living only inside a chart picture is absent from the document's text, so the figures behind it go unstated. What we found on this page the document has images but none carry a text description of what they show, so any figures that live only inside a chart or diagram are absent from the text The evidence, taken from the page as served Which pages carry images with no text description
Images with no text description appear on page(s): 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD31 | warning | the document carries 1 embedded file attachment(s); the content inside an attachment is not part of the document's own text, so it is not read out with it | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Other files attached inside the document, such as a spreadsheet carried within the PDF. What good looks like The document carries no other files attached inside it. Why it matters Anything held in an attachment is not part of the document's own text, so that content never travels with it. What we found on this page the document carries 1 embedded file attachment(s); the content inside an attachment is not part of the document's own text, so it is not read out with it The evidence, taken from the page as served This document's properties, as recorded in the file
The file was read for other files carried inside it.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Document information | |
|---|---|
| Title | City of London Corporation Freedom of Information Act Complaints procedure |
| Author | City of London Corporation |
| PDF version, pages, size | 1.6 ยท 3 pages ยท 223 KB |
| Found on | https://www.cityoflondon.gov.uk/footer/feedback |
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS29 | fail | 11 of 15 AI crawlers asking for this document are refused by the security layer in front of the document host, while an ordinary browser is served, so the document is closed to nearly all AI systems and their answers about it are left to memory or guesswork. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The documents load for a browser but are refused when the request names itself as an AI service, tested on the host that actually serves them (often separate from the pages). What good looks like The document host returns the same response to a named AI service as to a browser, with no edge block. Why it matters The document is refused to AI crawlers at the edge, so its contents never reach the systems that answer about it, and what they state about it is left to guesswork. What we found on this page 11 of 15 AI crawlers asking for this document are refused by the security layer in front of the document host, while an ordinary browser is served, so the document is closed to nearly all AI systems and their answers about it are left to memory or guesswork. The evidence, taken from the page as served Each crawler's own request to this document, and the status it received
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the document host returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD11 | fail | no headings come through in the first page's text, so it reads as one undivided block with nothing to mark where its sections begin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether headings on the document's first page are still recognisable once the text is pulled out. What good looks like Headings on the first page stay recognisable once the text is pulled out. Why it matters With no headings to divide it the document reads as one undivided block, so a passage loses the section it sat in. What we found on this page no headings come through in the first page's text, so it reads as one undivided block with nothing to mark where its sections begin The evidence, taken from the page as served The first page's text as it reads out, with no headings to be found
1 City of London Corporation Freedom of Information Act Complaints Procedure Contents 1. Introduction ....................................................................................................2 2. The City of London Corporation and the scope of the Freedom of Information Act ..................................................................................................................2 3. How we comply with the Freedom of Information Act ................................. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: headings on the first page stay recognisable once the text is pulled out. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 3 out of a possible 5, because it is one of the checks that decide how cleanly content can be read once reached, so it carries a middle weight in the figure for this item. Why it does not move the misinformation reading This failure makes content harder to reach or to read, but it is not a direct route to a wrong answer, so it is held out of the misinformation reading rather than counted twice. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD25 | alert | the same content is not published as an ordinary web page, only as this PDF, which is a harder format to read reliably. This is an alert, not a fault in the document. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the same content is also published as an ordinary web page, not only as a download. What good looks like The same content is also published as an ordinary web page, not only as a download. Why it matters Without a page version the content exists only in document form, where its structure is far more fragile. What we found on this page the same content is not published as an ordinary web page, only as this PDF, which is a harder format to read reliably. This is an alert, not a fault in the document. The evidence, taken from the page as served Where an ordinary web page of this content was looked for
Each address below was asked for. A companion page is also matched by a title matching the document's own.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Document information | |
|---|---|
| Title | City of London Corporation - Re Use of Public Sector information regulations complaints procedure |
| Author | City of London Corporation |
| PDF version, pages, size | 1.6 ยท 3 pages ยท 223 KB |
| Found on | https://www.cityoflondon.gov.uk/footer/feedback |
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS29 | fail | 11 of 15 AI crawlers asking for this document are refused by the security layer in front of the document host, while an ordinary browser is served, so the document is closed to nearly all AI systems and their answers about it are left to memory or guesswork. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The documents load for a browser but are refused when the request names itself as an AI service, tested on the host that actually serves them (often separate from the pages). What good looks like The document host returns the same response to a named AI service as to a browser, with no edge block. Why it matters The document is refused to AI crawlers at the edge, so its contents never reach the systems that answer about it, and what they state about it is left to guesswork. What we found on this page 11 of 15 AI crawlers asking for this document are refused by the security layer in front of the document host, while an ordinary browser is served, so the document is closed to nearly all AI systems and their answers about it are left to memory or guesswork. The evidence, taken from the page as served Each crawler's own request to this document, and the status it received
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the document host returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD11 | fail | no headings come through in the first page's text, so it reads as one undivided block with nothing to mark where its sections begin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether headings on the document's first page are still recognisable once the text is pulled out. What good looks like Headings on the first page stay recognisable once the text is pulled out. Why it matters With no headings to divide it the document reads as one undivided block, so a passage loses the section it sat in. What we found on this page no headings come through in the first page's text, so it reads as one undivided block with nothing to mark where its sections begin The evidence, taken from the page as served The first page's text as it reads out, with no headings to be found
1 City of London Corporation Re-Use of Public Sector Information Regulations Complaints Procedure Contents 1. Introduction ....................................................................................................2 2. The City of London Corporation and the scope of the Re-use of Public Sector Information Regulations .................................................................................2 3. How we comply with the Re-Use of Public Sector Information Regulations .. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: headings on the first page stay recognisable once the text is pulled out. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 3 out of a possible 5, because it is one of the checks that decide how cleanly content can be read once reached, so it carries a middle weight in the figure for this item. Why it does not move the misinformation reading This failure makes content harder to reach or to read, but it is not a direct route to a wrong answer, so it is held out of the misinformation reading rather than counted twice. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD25 | alert | the same content is not published as an ordinary web page, only as this PDF, which is a harder format to read reliably. This is an alert, not a fault in the document. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the same content is also published as an ordinary web page, not only as a download. What good looks like The same content is also published as an ordinary web page, not only as a download. Why it matters Without a page version the content exists only in document form, where its structure is far more fragile. What we found on this page the same content is not published as an ordinary web page, only as this PDF, which is a harder format to read reliably. This is an alert, not a fault in the document. The evidence, taken from the page as served Where an ordinary web page of this content was looked for
Each address below was asked for. A companion page is also matched by a title matching the document's own.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Document information | |
|---|---|
| Title | City of London Corporation - Data Protection Act Complaints Procedure |
| Author | City of London Coporation |
| PDF version, pages, size | 1.6 ยท 4 pages ยท 230 KB |
| Found on | https://www.cityoflondon.gov.uk/footer/feedback |
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS29 | fail | 11 of 15 AI crawlers asking for this document are refused by the security layer in front of the document host, while an ordinary browser is served, so the document is closed to nearly all AI systems and their answers about it are left to memory or guesswork. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check The documents load for a browser but are refused when the request names itself as an AI service, tested on the host that actually serves them (often separate from the pages). What good looks like The document host returns the same response to a named AI service as to a browser, with no edge block. Why it matters The document is refused to AI crawlers at the edge, so its contents never reach the systems that answer about it, and what they state about it is left to guesswork. What we found on this page 11 of 15 AI crawlers asking for this document are refused by the security layer in front of the document host, while an ordinary browser is served, so the document is closed to nearly all AI systems and their answers about it are left to memory or guesswork. The evidence, taken from the page as served Each crawler's own request to this document, and the status it received
Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: the document host returns the same response to a named AI service as to a browser, with no edge block. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 5 out of a possible 5, because it is one of the checks that decide whether content can be reached and read at all, so it carries the heaviest weight in the figure for this item. Why it moves the misinformation reading This failure is a real and common route to a wrong answer for the content it affects, so it raises the misinformation reading for this item. Where an item carries more than one such failure, the readings compound and the item moves up the scale. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD11 | fail | no headings come through in the first page's text, so it reads as one undivided block with nothing to mark where its sections begin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether headings on the document's first page are still recognisable once the text is pulled out. What good looks like Headings on the first page stay recognisable once the text is pulled out. Why it matters With no headings to divide it the document reads as one undivided block, so a passage loses the section it sat in. What we found on this page no headings come through in the first page's text, so it reads as one undivided block with nothing to mark where its sections begin The evidence, taken from the page as served The first page's text as it reads out, with no headings to be found
1 City of London Corporation Data Protection Act Complaints Procedure Contents 1. Introduction ....................................................................................................2 2. Data Controller ...............................................................................................2 3. Data Subject....................................................................................................2 4. Right of Subject Access .............................. Why it reads as a failure The result is set by what was measured on this item, quoted above, and not by an opinion of it. It reads as a failure because the standard was not met: headings on the first page stay recognisable once the text is pulled out. What it does to the figure This check counts toward the readiness figure for this item, at a weight of 3 out of a possible 5, because it is one of the checks that decide how cleanly content can be read once reached, so it carries a middle weight in the figure for this item. Why it does not move the misinformation reading This failure makes content harder to reach or to read, but it is not a direct route to a wrong answer, so it is held out of the misinformation reading rather than counted twice. What this result does not say This says what was found on this item at the time of assessment, and nothing beyond it: it is not a statement about the rest of the estate, and it does not judge the quality of the content itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PD25 | alert | the same content is not published as an ordinary web page, only as this PDF, which is a harder format to read reliably. This is an alert, not a fault in the document. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What we check Whether the same content is also published as an ordinary web page, not only as a download. What good looks like The same content is also published as an ordinary web page, not only as a download. Why it matters Without a page version the content exists only in document form, where its structure is far more fragile. What we found on this page the same content is not published as an ordinary web page, only as this PDF, which is a harder format to read reliably. This is an alert, not a fault in the document. The evidence, taken from the page as served Where an ordinary web page of this content was looked for
Each address below was asked for. A companion page is also matched by a title matching the document's own.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This report is Stage 1, Foundations: each automated test the engine can run without human input, so there is a usable result at the first stage. Governance (owner-confirmed truth) and Visibility (how AI agents find the estate) are later stages and are shown greyed above.
What was assessed. 37 pages were assessed, selected from 120 reviewed using the site's own signals of importance (its navigation, homepage links, most-linked pages, sitemap, and any llms.txt file), and the first 5 PDF documents found were assessed separately. The industry in the header is classified from the site's own content. The traffic classification comes from a recognised top-sites list or a connected traffic provider; it reads NA when the domain is not connected to a traffic source.
Header identity signals. The regulated sector and listed company values are inferred from the same crawled content, and shown here so the header can stay to the answer alone. Regulated sector reads “None found”: no regulator statements, and the established sector carries no statutory regulator. Listed company reads “No (not a company with shares)”: no (not a company with shares).
AI readiness is the weighted share of checks that passed, reported separately for pages and for PDF documents because each is reached and corrected differently. Grade A checks decide whether content can be reached and read at all; grade B whether it is understood correctly; grade C support reliability. A measured score is scaled into a ceiling when an access gate binds it (for example the site blocking AI crawlers at its edge): content that cannot be reached is not partially ready. Scores never read exactly 25, 50, 75 or 100, because those are buckets, not measurements.
Likelihood of misinformation is a band, given as a worst case (the highest any single item or estate-wide finding reaches) and a typical position across the pages or documents. Only checks whose failure is a direct route to a wrong answer carry a band; the rest affect readiness only.
| Band | Range | Meaning |
|---|---|---|
| Likely zero | 0-5% | No failing misinformation-bearing checks. |
| Very little | 6-25% | Unlikely to cause wrong information. |
| Likely | 26-50% | Could contribute to wrong information in some cases. |
| Very likely | 51-75% | A real and common route to wrong information. |
| Extremely likely | 76-100% | A frequent and direct cause of wrong information. |
Of the register's 187 checks, 112 ran automatically in this Foundations stage. 64 are governance questions for the next stage. The remainder need organisation-supplied data or an external service; each check that did not run is listed in the exports.
About us
We have been doing this for 25 years. For the last two years, we have been training AI to understand and map AI Readiness (fundamentals, governance, visibility), against our unique dataset of more than 3.7 trillion data points.
Who’s talking about us