AI Readiness Assessment
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, and so are the 15 AI systems.
Whether the estate can be reached and read at all: access rules, links, redirects, sitemap, transport.
| Check | Result | Evidence | |||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DS16 | fail | 2 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 2 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. | |||||||||||||||||||||||||||||||||||||||||||
| CT34 | fail | 7 page(s) read as near-identical to other pages in the text a machine ingests (up to 91% shared), but the overlap is shared navigation and footer rather than content: the worst affected page has 11 words of its own out of 366. 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 7 page(s) read as near-identical to other pages in the text a machine ingests (up to 91% shared), but the overlap is shared navigation and footer rather than content: the worst affected page has 11 words of its own out of 366. 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. | |||||||||||||||||||||||||||||||||||||||||||
| IN18 | fail | 14 legal or policy page(s) in the sitemap are linked from no crawled page; they are listed in the view | |||||||||||||||||||||||||||||||||||||||||
What we check Whether policy pages such as privacy and terms are linked from anywhere, not just listed in the sitemap. What good looks like Policy pages such as privacy and terms are linked from crawled pages, not only listed in the sitemap. Why it matters A policy page nothing links to sits outside the site's own map, so questions about the terms are answered without it. What we found on this page 14 legal or policy page(s) in the sitemap are linked from no crawled page; they are listed in the view The evidence, taken from the page as served Legal or policy pages in the sitemap that no crawled page links to
Each is listed in the XML sitemap but is not reached by a link from any crawled page. 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: policy pages such as privacy and terms are linked from crawled pages, not only listed in the sitemap. 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 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. | |||||||||||||||||||||||||||||||||||||||||||
| DS08 | fail | 18% of the links to the site's own pages did not open when they were checked. 7 point at a page that no longer exists. That is 7 of the 40 checked, which stand for the 355 links to the site's own pages across the pages checked | |||||||||||||||||||||||||||||||||||||||||
What we check The share of links to the site's own pages, from a sample, whose targets do not resolve. What good looks like The site's own links open, leading to live pages. Where one no longer does, the page either carries the point in its own words or stops presenting a route that does not open. Why it matters Routes into the site's own material dead-end, so content that exists is never reached from the pages pointing at it. What we found on this page 18% of the links to the site's own pages did not open when they were checked. 7 point at a page that no longer exists. That is 7 of the 40 checked, which stand for the 355 links to the site's own pages across the pages checked The evidence, taken from the page as served The internal 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: the site's own links open, leading to live 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. 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: โOnline Banking: Personal & Business | Virgin Money UKโ; 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: โOnline Banking: Personal & Business | Virgin Money UKโ; 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
| |||||||||||||||||||||||||||||||||||||||||||
| CT30 | warning | The word โgamblingโ appears on 7 pages (19 instances). Although these look like news articles, the density of use of the word โgamblingโ could misinform and then be misrepresented by AI engines. A possible fix is to use the secure tag to restrict AiSC access to certain news articles where the risk of misclassification is high. | |||||||||||||||||||||||||||||||||||||||||
What we check How often a charged or out-of-sector term recurs in the words a machine reads across the site. What good looks like Charged or out-of-sector terms appear only in proportion to the organisation's actual business, not densely across the estate. Why it matters A word that recurs across many pages can come to define the organisation by it, whatever the human context around each mention. What we found on this page The word โgamblingโ appears on 7 pages (19 instances). Although these look like news articles, the density of use of the word โgamblingโ could misinform and then be misrepresented by AI engines. A possible fix is to use the secure tag to restrict AiSC access to certain news articles where the risk of misclassification is high. The evidence, taken from the page as served Each page where โgamblingโ appears, with the surrounding text
| |||||||||||||||||||||||||||||||||||||||||||
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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_2418|rpid=-115436173|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js",&โฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_2418|rpid=-115436173|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js",&โฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| AR12 | warning | 53% of the page's text (4767 of 8907 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 53% of the page's text (4767 of 8907 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.
| |||||||||||||
| MS04 | warning | the page's naming markup is faulty: 145 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out | |||||||||||
What we check Accessibility markup faults: invented roles, labels pointing at nothing, live controls marked hidden. What good looks like The page's accessibility markup is sound, with valid roles and no labels pointing at nothing. Why it matters The page's own description of its controls is wrong, so what it offers and what it declares do not match. What we found on this page the page's naming markup is faulty: 145 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out The evidence, taken from the page as served The faulty markup, as the page serves it once loaded
<a href="/" id="site-logo" class="brand" rel="home" title="Virgin Money homepage"> <svg viewbox="0 0 198 40"> <title>Virgin Money homepage</title> <circle xmlns="http://www.w3.org/2000/svg" class="cls-1" cx="69.9375" cy="20.375" r="19"/> <use xlink:href="/assets/svg/logo.svg#hero"/></svg> </a> <button type="button" id="navbar-toggle-secondnav" class="navbar-toggler collapsed" aria-controls="ctasecondarynav" aria-expanded="false" aria-label="Open Sign in menu for online Services" data-toggle="collapse" data-parent="#nav" data-target="#ctasecondarynav"> <span class="navbar-toggler__label" style="animation-delaโฆ <button type="button" id="navbar-toggle-menu" class="navbar-toggler collapsed" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle Menu navigation" data-toggle="collapse" data-parent="#nav" data-target="#menu-container"> <span class="navbar-toggler__label" style="animation-delay: 0.75s;">Menu</span>โฆ <a class="selected" href="/" aria-current="page">Personal</a> <a class="" href="/business/">Business</a> <a class="" href="/brighter-money/">Brighter Money</a> <a href="/service/support-hub/" class="" data-icon="/assets/svg/rebrand-ui.svg#help" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#help"/></svg></span> Help </a> <a href="/site-search/" class="" data-icon="/assets/svg/rebrand-ui.svg#search" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#search"/></svg></span> Search </a> <button type="button" class="d-none d-md-inline-block btn btn-secondary btn-cta-pages collapsed" aria-controls="ctasecondarynav" aria-expanded="false" data-toggle="collapse" data-trigger="click" data-trigger-selector=".menu > .list-nav > li > a[data-toggle]:not(.collapsed)" data-target="#ctasecondarynav"> <spaโฆ <a href="/service/sign-in/" class=" btn btn-secondary"> <span class="visually-hidden">Visit the </span>Sign in<span class="visually-hidden"> page for existing customers, where you can service any products you have with Virgin Money. </span> </a> …and 135 more like it. | |||||||||||||
| AJ08 | warning | focus order: 7 element(s) use a positive tabindex, overriding document 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: 7 element(s) use a positive tabindex, overriding document order; the first 12 Tab stops do not follow document order The evidence, taken from the page as served The elements with a positive tabindex, as served after rendering
<div id="_evidon-banner" role="dialog" aria-modal="true" aria-labelledby="_evidon-banner-title" aria-describedby="_evidon-banner-message" class="evidon-barrier" tabindex="1" style="position: fixed; transform: translate(-50%, 0px); left: 50%; top: 6rem; max-height: calc(100% - 8rem); overflow: auto; display: block; backโฆ <a tabindex="2" href="https://uk.virginmoney.com/security/?ban" target="_blank" rel="noopener">privacy notice</a> <a tabindex="2" href="https://uk.virginmoney.com/cookies/?ban" target="_blank" rel="noopener">cookies notice</a> <button id="_evidon-banner-cookiebutton" class="evidon-barrier-cookiebutton" tabindex="4" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_evidon-barrier-declinebutton" tabindex="5" class="evidon-barrier-declinebutton" aria-label="Reject optional cookies" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225โฆ <button id="_evidon-banner-acceptbutton" tabindex="3" class="evidon-barrier-acceptbutton" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_ev_opt_out_close" tabindex="3" style="position: absolute; top: 0px; right: 2px; color: rgb(225, 10, 10); background: transparent; font-size: 12px; border: 0px; cursor: pointer;">Close โ</button> | |||||||||||||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_942894013|rpid=20182239|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js"โฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_942894013|rpid=20182239|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js"โฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_942894013|rpid=20182239|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js"โฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| MS04 | warning | the page's naming markup is faulty: 137 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out | |
What we check Accessibility markup faults: invented roles, labels pointing at nothing, live controls marked hidden. What good looks like The page's accessibility markup is sound, with valid roles and no labels pointing at nothing. Why it matters The page's own description of its controls is wrong, so what it offers and what it declares do not match. What we found on this page the page's naming markup is faulty: 137 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out The evidence, taken from the page as served The faulty markup, as the page serves it once loaded
<a href="/" id="site-logo" class="brand" rel="home" title="Virgin Money homepage"> <svg viewbox="0 0 198 40"> <title>Virgin Money homepage</title> <circle xmlns="http://www.w3.org/2000/svg" class="cls-1" cx="69.9375" cy="20.375" r="19"/> <use xlink:href="/assets/svg/logo.svg#hero"/></svg> </a> <button type="button" id="navbar-toggle-secondnav" class="navbar-toggler collapsed" aria-controls="ctasecondarynav" aria-expanded="false" aria-label="Open Sign in menu for online Services" data-toggle="collapse" data-parent="#nav" data-target="#ctasecondarynav"> <span class="navbar-toggler__label" style="animation-delaโฆ <button type="button" id="navbar-toggle-menu" class="navbar-toggler collapsed" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle Menu navigation" data-toggle="collapse" data-parent="#nav" data-target="#menu-container"> <span class="navbar-toggler__label" style="animation-delay: 0.75s;">Menu</span>โฆ <a class="selected" href="/" aria-current="page">Personal</a> <a class="" href="/business/">Business</a> <a class="" href="/brighter-money/">Brighter Money</a> <a href="/service/support-hub/" class="" data-icon="/assets/svg/rebrand-ui.svg#help" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#help"/></svg></span> Help </a> <a href="/site-search/" class="" data-icon="/assets/svg/rebrand-ui.svg#search" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#search"/></svg></span> Search </a> <button type="button" class="d-none d-md-inline-block btn btn-secondary btn-cta-pages collapsed" aria-controls="ctasecondarynav" aria-expanded="false" data-toggle="collapse" data-trigger="click" data-trigger-selector=".menu > .list-nav > li > a[data-toggle]:not(.collapsed)" data-target="#ctasecondarynav"> <spaโฆ <a href="/service/sign-in/" class=" btn btn-secondary"> <span class="visually-hidden">Visit the </span>Sign in<span class="visually-hidden"> page for existing customers, where you can service any products you have with Virgin Money. </span> </a> …and 127 more like it. | |||
| AJ08 | warning | focus order: 7 element(s) use a positive tabindex, overriding document 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: 7 element(s) use a positive tabindex, overriding document order; the first 12 Tab stops do not follow document order The evidence, taken from the page as served The elements with a positive tabindex, as served after rendering
<div id="_evidon-banner" role="dialog" aria-modal="true" aria-labelledby="_evidon-banner-title" aria-describedby="_evidon-banner-message" class="evidon-barrier" tabindex="1" style="position: fixed; transform: translate(-50%, 0px); left: 50%; top: 6rem; max-height: calc(100% - 8rem); overflow: auto; display: block; backโฆ <a tabindex="2" href="https://uk.virginmoney.com/security/?ban" target="_blank" rel="noopener">privacy notice</a> <a tabindex="2" href="https://uk.virginmoney.com/cookies/?ban" target="_blank" rel="noopener">cookies notice</a> <button id="_evidon-banner-cookiebutton" class="evidon-barrier-cookiebutton" tabindex="4" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_evidon-barrier-declinebutton" tabindex="5" class="evidon-barrier-declinebutton" aria-label="Reject optional cookies" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225โฆ <button id="_evidon-banner-acceptbutton" tabindex="3" class="evidon-barrier-acceptbutton" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_ev_opt_out_close" tabindex="3" style="position: absolute; top: 0px; right: 2px; color: rgb(225, 10, 10); background: transparent; font-size: 12px; border: 0px; cursor: pointer;">Close โ</button> | |||
| Check | Result | Evidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_2418|rpid=-1764119201|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js",โฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_2418|rpid=-1764119201|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js",โฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| AR12 | warning | 53% of the page's text (4767 of 8907 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 53% of the page's text (4767 of 8907 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.
| |||||||||||||
| MS04 | warning | the page's naming markup is faulty: 145 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out | |||||||||||
What we check Accessibility markup faults: invented roles, labels pointing at nothing, live controls marked hidden. What good looks like The page's accessibility markup is sound, with valid roles and no labels pointing at nothing. Why it matters The page's own description of its controls is wrong, so what it offers and what it declares do not match. What we found on this page the page's naming markup is faulty: 145 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out The evidence, taken from the page as served The faulty markup, as the page serves it once loaded
<a href="/" id="site-logo" class="brand" rel="home" title="Virgin Money homepage"> <svg viewbox="0 0 198 40"> <title>Virgin Money homepage</title> <circle xmlns="http://www.w3.org/2000/svg" class="cls-1" cx="69.9375" cy="20.375" r="19"/> <use xlink:href="/assets/svg/logo.svg#hero"/></svg> </a> <button type="button" id="navbar-toggle-secondnav" class="navbar-toggler collapsed" aria-controls="ctasecondarynav" aria-expanded="false" aria-label="Open Sign in menu for online Services" data-toggle="collapse" data-parent="#nav" data-target="#ctasecondarynav"> <span class="navbar-toggler__label" style="animation-delaโฆ <button type="button" id="navbar-toggle-menu" class="navbar-toggler collapsed" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle Menu navigation" data-toggle="collapse" data-parent="#nav" data-target="#menu-container"> <span class="navbar-toggler__label" style="animation-delay: 0.75s;">Menu</span>โฆ <a class="selected" href="/" aria-current="page">Personal</a> <a class="" href="/business/">Business</a> <a class="" href="/brighter-money/">Brighter Money</a> <a href="/service/support-hub/" class="" data-icon="/assets/svg/rebrand-ui.svg#help" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#help"/></svg></span> Help </a> <a href="/site-search/" class="" data-icon="/assets/svg/rebrand-ui.svg#search" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#search"/></svg></span> Search </a> <button type="button" class="d-none d-md-inline-block btn btn-secondary btn-cta-pages collapsed" aria-controls="ctasecondarynav" aria-expanded="false" data-toggle="collapse" data-trigger="click" data-trigger-selector=".menu > .list-nav > li > a[data-toggle]:not(.collapsed)" data-target="#ctasecondarynav"> <spaโฆ <a href="/service/sign-in/" class=" btn btn-secondary"> <span class="visually-hidden">Visit the </span>Sign in<span class="visually-hidden"> page for existing customers, where you can service any products you have with Virgin Money. </span> </a> …and 135 more like it. | |||||||||||||
| AJ08 | warning | focus order: 7 element(s) use a positive tabindex, overriding document 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: 7 element(s) use a positive tabindex, overriding document order; the first 12 Tab stops do not follow document order The evidence, taken from the page as served The elements with a positive tabindex, as served after rendering
<div id="_evidon-banner" role="dialog" aria-modal="true" aria-labelledby="_evidon-banner-title" aria-describedby="_evidon-banner-message" class="evidon-barrier" tabindex="1" style="position: fixed; transform: translate(-50%, 0px); left: 50%; top: 6rem; max-height: calc(100% - 8rem); overflow: auto; display: block; backโฆ <a tabindex="2" href="https://uk.virginmoney.com/security/?ban" target="_blank" rel="noopener">privacy notice</a> <a tabindex="2" href="https://uk.virginmoney.com/cookies/?ban" target="_blank" rel="noopener">cookies notice</a> <button id="_evidon-banner-cookiebutton" class="evidon-barrier-cookiebutton" tabindex="4" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_evidon-barrier-declinebutton" tabindex="5" class="evidon-barrier-declinebutton" aria-label="Reject optional cookies" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225โฆ <button id="_evidon-banner-acceptbutton" tabindex="3" class="evidon-barrier-acceptbutton" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_ev_opt_out_close" tabindex="3" style="position: absolute; top: 0px; right: 2px; color: rgb(225, 10, 10); background: transparent; font-size: 12px; border: 0px; cursor: pointer;">Close โ</button> | |||||||||||||
| Check | Result | Evidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CT32 | warning | length 173 | |||||||||||
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 173 The evidence, taken from the page as served The page's description, as served
<meta name="description" content="Service your Virgin Money products online - service your credit card, check your savings and investments and top up your prepaid card. Browse our latest deals and discounts."/> | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-2067472523|rpid=-358213138|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |||||||||||
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-2067472523|rpid=-358213138|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| CT24 | warning | the page's own content runs to 320 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 320 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 7% 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 7% 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-2067472523|rpid=-358213138|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| AR12 | warning | 68% of the page's text (3289 of 4806 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 68% of the page's text (3289 of 4806 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.
| |||||||||||||
| MS04 | warning | the page's naming markup is faulty: 113 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out | |||||||||||
What we check Accessibility markup faults: invented roles, labels pointing at nothing, live controls marked hidden. What good looks like The page's accessibility markup is sound, with valid roles and no labels pointing at nothing. Why it matters The page's own description of its controls is wrong, so what it offers and what it declares do not match. What we found on this page the page's naming markup is faulty: 113 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out The evidence, taken from the page as served The faulty markup, as the page serves it once loaded
<a href="/" id="site-logo" class="brand" rel="home" title="Virgin Money homepage"> <svg viewbox="0 0 198 40"> <title>Virgin Money homepage</title> <circle xmlns="http://www.w3.org/2000/svg" class="cls-1" cx="69.9375" cy="20.375" r="19"/> <use xlink:href="/assets/svg/logo.svg#hero"/></svg> </a> <button type="button" id="navbar-toggle-secondnav" class="navbar-toggler collapsed" aria-controls="ctasecondarynav" aria-expanded="false" aria-label="Open Sign in menu for online Services" data-toggle="collapse" data-parent="#nav" data-target="#ctasecondarynav"> <span class="navbar-toggler__label" style="animation-delaโฆ <button type="button" id="navbar-toggle-menu" class="navbar-toggler collapsed" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle Menu navigation" data-toggle="collapse" data-parent="#nav" data-target="#menu-container"> <span class="navbar-toggler__label" style="animation-delay: 0.75s;">Menu</span>โฆ <a class="selected" href="/" aria-current="page">Personal</a> <a class="" href="/business/">Business</a> <a class="" href="/brighter-money/">Brighter Money</a> <a href="/service/support-hub/" class="" data-icon="/assets/svg/rebrand-ui.svg#help" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#help"/></svg></span> Help </a> <a href="/site-search/" class="" data-icon="/assets/svg/rebrand-ui.svg#search" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#search"/></svg></span> Search </a> <button type="button" class="d-none d-md-inline-block btn btn-secondary btn-cta-pages collapsed" aria-controls="ctasecondarynav" aria-expanded="false" data-toggle="collapse" data-trigger="click" data-trigger-selector=".menu > .list-nav > li > a[data-toggle]:not(.collapsed)" data-target="#ctasecondarynav"> <spaโฆ <a href="/service/sign-in/" class=" btn btn-secondary"> <span class="visually-hidden">Visit the </span>Sign in<span class="visually-hidden"> page for existing customers, where you can service any products you have with Virgin Money. </span> </a> …and 103 more like it. | |||||||||||||
| AJ08 | warning | focus order: 7 element(s) use a positive tabindex, overriding document 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: 7 element(s) use a positive tabindex, overriding document order; the first 12 Tab stops do not follow document order The evidence, taken from the page as served The elements with a positive tabindex, as served after rendering
<div id="_evidon-banner" role="dialog" aria-modal="true" aria-labelledby="_evidon-banner-title" aria-describedby="_evidon-banner-message" class="evidon-barrier" tabindex="1" style="position: fixed; transform: translate(-50%, 0px); left: 50%; top: 6rem; max-height: calc(100% - 8rem); overflow: auto; display: block; backโฆ <a tabindex="2" href="https://uk.virginmoney.com/security/?ban" target="_blank" rel="noopener">privacy notice</a> <a tabindex="2" href="https://uk.virginmoney.com/cookies/?ban" target="_blank" rel="noopener">cookies notice</a> <button id="_evidon-banner-cookiebutton" class="evidon-barrier-cookiebutton" tabindex="4" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_evidon-barrier-declinebutton" tabindex="5" class="evidon-barrier-declinebutton" aria-label="Reject optional cookies" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225โฆ <button id="_evidon-banner-acceptbutton" tabindex="3" class="evidon-barrier-acceptbutton" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_ev_opt_out_close" tabindex="3" style="position: absolute; top: 0px; right: 2px; color: rgb(225, 10, 10); background: transparent; font-size: 12px; border: 0px; cursor: pointer;">Close โ</button> | |||||||||||||
| CT34 | fail | the page's own words are thin: 355 of its 366 words are shared navigation and footer, so it reads as 91% 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: 355 of its 366 words are shared navigation and footer, so it reads as 91% 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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_95159411|rpid=1235541498|domain=virginmoney.com|reportUrl=/service/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/service/rb_bf64125xgr","agentUri":"/service/ruxitagentjs_ICA1578โฆ | |||||||||||||
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_95159411|rpid=1235541498|domain=virginmoney.com|reportUrl=/service/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/service/rb_bf64125xgr","agentUri":"/service/ruxitagentjs_ICA1578โฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_95159411|rpid=1235541498|domain=virginmoney.com|reportUrl=/service/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/service/rb_bf64125xgr","agentUri":"/service/ruxitagentjs_ICA1578โฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| AR12 | warning | 52% of the page's text (3266 of 6264 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 52% of the page's text (3266 of 6264 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.
| |||||||||||||
| MS04 | warning | the page's naming markup is faulty: 140 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out | |||||||||||
What we check Accessibility markup faults: invented roles, labels pointing at nothing, live controls marked hidden. What good looks like The page's accessibility markup is sound, with valid roles and no labels pointing at nothing. Why it matters The page's own description of its controls is wrong, so what it offers and what it declares do not match. What we found on this page the page's naming markup is faulty: 140 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out The evidence, taken from the page as served The faulty markup, as the page serves it once loaded
<a href="/" id="site-logo" class="brand" rel="home" title="Virgin Money homepage"> <svg viewbox="0 0 198 40"> <title>Virgin Money homepage</title> <circle xmlns="http://www.w3.org/2000/svg" class="cls-1" cx="69.9375" cy="20.375" r="19"/> <use xlink:href="/assets/svg/logo.svg#hero"/></svg> </a> <button type="button" id="navbar-toggle-secondnav" class="navbar-toggler collapsed" aria-controls="ctasecondarynav" aria-expanded="false" aria-label="Open Sign in menu for online Services" data-toggle="collapse" data-parent="#nav" data-target="#ctasecondarynav"> <span class="navbar-toggler__label" style="animation-delaโฆ <button type="button" id="navbar-toggle-menu" class="navbar-toggler collapsed" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle Menu navigation" data-toggle="collapse" data-parent="#nav" data-target="#menu-container"> <span class="navbar-toggler__label" style="animation-delay: 0.75s;">Menu</span>โฆ <a class="selected" href="/" aria-current="page">Personal</a> <a class="" href="/business/">Business</a> <a class="" href="/brighter-money/">Brighter Money</a> <a href="/service/support-hub/" class="" data-icon="/assets/svg/rebrand-ui.svg#help" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#help"/></svg></span> Help </a> <a href="/site-search/" class="" data-icon="/assets/svg/rebrand-ui.svg#search" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#search"/></svg></span> Search </a> <button type="button" class="d-none d-md-inline-block btn btn-secondary btn-cta-pages collapsed" aria-controls="ctasecondarynav" aria-expanded="false" data-toggle="collapse" data-trigger="click" data-trigger-selector=".menu > .list-nav > li > a[data-toggle]:not(.collapsed)" data-target="#ctasecondarynav"> <spaโฆ <a href="/service/sign-in/" class=" btn btn-secondary"> <span class="visually-hidden">Visit the </span>Sign in<span class="visually-hidden"> page for existing customers, where you can service any products you have with Virgin Money. </span> </a> …and 130 more like it. | |||||||||||||
| AJ08 | warning | focus order: 7 element(s) use a positive tabindex, overriding document 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: 7 element(s) use a positive tabindex, overriding document order; the first 12 Tab stops do not follow document order The evidence, taken from the page as served The elements with a positive tabindex, as served after rendering
<div id="_evidon-banner" role="dialog" aria-modal="true" aria-labelledby="_evidon-banner-title" aria-describedby="_evidon-banner-message" class="evidon-barrier" tabindex="1" style="position: fixed; transform: translate(-50%, 0px); left: 50%; top: 6rem; max-height: calc(100% - 8rem); overflow: auto; display: block; backโฆ <a tabindex="2" href="https://uk.virginmoney.com/security/?ban" target="_blank" rel="noopener">privacy notice</a> <a tabindex="2" href="https://uk.virginmoney.com/cookies/?ban" target="_blank" rel="noopener">cookies notice</a> <button id="_evidon-banner-cookiebutton" class="evidon-barrier-cookiebutton" tabindex="4" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_evidon-barrier-declinebutton" tabindex="5" class="evidon-barrier-declinebutton" aria-label="Reject optional cookies" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225โฆ <button id="_evidon-banner-acceptbutton" tabindex="3" class="evidon-barrier-acceptbutton" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_ev_opt_out_close" tabindex="3" style="position: absolute; top: 0px; right: 2px; color: rgb(225, 10, 10); background: transparent; font-size: 12px; border: 0px; cursor: pointer;">Close โ</button> | |||||||||||||
| CT34 | fail | the page's own words are thin: 356 of its 433 words are shared navigation and footer, so it reads as 80% 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: 356 of its 433 words are shared navigation and footer, so it reads as 80% 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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CT32 | warning | length 219 | |||||||||||
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 219 The evidence, taken from the page as served The page's description, as served
<meta name="description" content="Simpler Savings. Getting the perfect account has never been easier. Whether you are saving for a rainy day or something more important, we have got it covered. ISAs, Bonds and much more. Open your savings account today!"/> | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1119154345|rpid=1441484718|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1119154345|rpid=1441484718|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1119154345|rpid=1441484718|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||
| MS08 | fail | 3 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โexisting customersโ, โfind a savings accountโ; 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 3 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โexisting customersโ, โfind a savings accountโ; 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 class="" href="/business/">Business</a> <a href="/savings/find/results/">Find a savings account</a> <a href="/private/existing-customers/">Existing customers </a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </a> <a href="/savings/find/results/online" class="btn btn-primary">Find a savings account</a> <a href="/savings/helpful-information/" class="btn btn-secondary">Existing customers</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. | |||||||||||||
| AR12 | warning | 52% of the page's text (3683 of 6985 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 52% of the page's text (3683 of 6985 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.
| |||||||||||||
| MS04 | warning | the page's naming markup is faulty: 135 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out | |||||||||||
What we check Accessibility markup faults: invented roles, labels pointing at nothing, live controls marked hidden. What good looks like The page's accessibility markup is sound, with valid roles and no labels pointing at nothing. Why it matters The page's own description of its controls is wrong, so what it offers and what it declares do not match. What we found on this page the page's naming markup is faulty: 135 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out The evidence, taken from the page as served The faulty markup, as the page serves it once loaded
<a href="/" id="site-logo" class="brand" rel="home" title="Virgin Money homepage"> <svg viewbox="0 0 198 40"> <title>Virgin Money homepage</title> <circle xmlns="http://www.w3.org/2000/svg" class="cls-1" cx="69.9375" cy="20.375" r="19"/> <use xlink:href="/assets/svg/logo.svg#hero"/></svg> </a> <button type="button" id="navbar-toggle-secondnav" class="navbar-toggler collapsed" aria-controls="ctasecondarynav" aria-expanded="false" aria-label="Open Sign in menu for online Services" data-toggle="collapse" data-parent="#nav" data-target="#ctasecondarynav"> <span class="navbar-toggler__label" style="animation-delaโฆ <button type="button" id="navbar-toggle-menu" class="navbar-toggler collapsed" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle Menu navigation" data-toggle="collapse" data-parent="#nav" data-target="#menu-container"> <span class="navbar-toggler__label" style="animation-delay: 0.75s;">Menu</span>โฆ <a class="selected" href="/" aria-current="page">Personal</a> <a class="" href="/business/">Business</a> <a class="" href="/brighter-money/">Brighter Money</a> <a href="/service/support-hub/" class="" data-icon="/assets/svg/rebrand-ui.svg#help" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#help"/></svg></span> Help </a> <a href="/site-search/" class="" data-icon="/assets/svg/rebrand-ui.svg#search" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#search"/></svg></span> Search </a> <button type="button" class="d-none d-md-inline-block btn btn-secondary btn-cta-pages collapsed" aria-controls="ctasecondarynav" aria-expanded="false" data-toggle="collapse" data-trigger="click" data-trigger-selector=".menu > .list-nav > li > a[data-toggle]:not(.collapsed)" data-target="#ctasecondarynav"> <spaโฆ <a href="/service/sign-in/" class=" btn btn-secondary"> <span class="visually-hidden">Visit the </span>Sign in<span class="visually-hidden"> page for existing customers, where you can service any products you have with Virgin Money. </span> </a> …and 125 more like it. | |||||||||||||
| AJ08 | warning | focus order: 7 element(s) use a positive tabindex, overriding document 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: 7 element(s) use a positive tabindex, overriding document order; the first 12 Tab stops do not follow document order The evidence, taken from the page as served The elements with a positive tabindex, as served after rendering
<div id="_evidon-banner" role="dialog" aria-modal="true" aria-labelledby="_evidon-banner-title" aria-describedby="_evidon-banner-message" class="evidon-barrier" tabindex="1" style="position: fixed; transform: translate(-50%, 0px); left: 50%; top: 6rem; max-height: calc(100% - 8rem); overflow: auto; display: block; backโฆ <a tabindex="2" href="https://uk.virginmoney.com/security/?ban" target="_blank" rel="noopener">privacy notice</a> <a tabindex="2" href="https://uk.virginmoney.com/cookies/?ban" target="_blank" rel="noopener">cookies notice</a> <button id="_evidon-banner-cookiebutton" class="evidon-barrier-cookiebutton" tabindex="4" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_evidon-barrier-declinebutton" tabindex="5" class="evidon-barrier-declinebutton" aria-label="Reject optional cookies" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225โฆ <button id="_evidon-banner-acceptbutton" tabindex="3" class="evidon-barrier-acceptbutton" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_ev_opt_out_close" tabindex="3" style="position: absolute; top: 0px; right: 2px; color: rgb(225, 10, 10); background: transparent; font-size: 12px; border: 0px; cursor: pointer;">Close โ</button> | |||||||||||||
| Check | Result | Evidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1657049106|rpid=160386533|domain=virginmoney.com|reportUrl=/service/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/service/rb_bf64125xgr","agentUri":"/service/ruxitagentjs_ICA15โฆ | |||||||||||||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |||||||||||
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1657049106|rpid=160386533|domain=virginmoney.com|reportUrl=/service/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/service/rb_bf64125xgr","agentUri":"/service/ruxitagentjs_ICA15โฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1657049106|rpid=160386533|domain=virginmoney.com|reportUrl=/service/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/service/rb_bf64125xgr","agentUri":"/service/ruxitagentjs_ICA15โฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| AR12 | warning | 62% of the page's text (6007 of 9672 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 62% of the page's text (6007 of 9672 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.
| |||||||||||||
| MS04 | warning | the page's naming markup is faulty: 127 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out | |||||||||||
What we check Accessibility markup faults: invented roles, labels pointing at nothing, live controls marked hidden. What good looks like The page's accessibility markup is sound, with valid roles and no labels pointing at nothing. Why it matters The page's own description of its controls is wrong, so what it offers and what it declares do not match. What we found on this page the page's naming markup is faulty: 127 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out The evidence, taken from the page as served The faulty markup, as the page serves it once loaded
<a href="/" id="site-logo" class="brand" rel="home" title="Virgin Money homepage"> <svg viewbox="0 0 198 40"> <title>Virgin Money homepage</title> <circle xmlns="http://www.w3.org/2000/svg" class="cls-1" cx="69.9375" cy="20.375" r="19"/> <use xlink:href="/assets/svg/logo.svg#hero"/></svg> </a> <button type="button" id="navbar-toggle-secondnav" class="navbar-toggler collapsed" aria-controls="ctasecondarynav" aria-expanded="false" aria-label="Open Sign in menu for online Services" data-toggle="collapse" data-parent="#nav" data-target="#ctasecondarynav"> <span class="navbar-toggler__label" style="animation-delaโฆ <button type="button" id="navbar-toggle-menu" class="navbar-toggler collapsed" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle Menu navigation" data-toggle="collapse" data-parent="#nav" data-target="#menu-container"> <span class="navbar-toggler__label" style="animation-delay: 0.75s;">Menu</span>โฆ <a class="selected" href="/" aria-current="page">Personal</a> <a class="" href="/business/">Business</a> <a class="" href="/brighter-money/">Brighter Money</a> <a href="/service/support-hub/" class="" data-icon="/assets/svg/rebrand-ui.svg#help" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#help"/></svg></span> Help </a> <a href="/site-search/" class="" data-icon="/assets/svg/rebrand-ui.svg#search" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#search"/></svg></span> Search </a> <button type="button" class="d-none d-md-inline-block btn btn-secondary btn-cta-pages collapsed" aria-controls="ctasecondarynav" aria-expanded="false" data-toggle="collapse" data-trigger="click" data-trigger-selector=".menu > .list-nav > li > a[data-toggle]:not(.collapsed)" data-target="#ctasecondarynav"> <spaโฆ <a href="/service/sign-in/" class=" btn btn-secondary"> <span class="visually-hidden">Visit the </span>Sign in<span class="visually-hidden"> page for existing customers, where you can service any products you have with Virgin Money. </span> </a> …and 117 more like it. | |||||||||||||
| AJ08 | warning | focus order: 7 element(s) use a positive tabindex, overriding document 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: 7 element(s) use a positive tabindex, overriding document order; the first 12 Tab stops do not follow document order The evidence, taken from the page as served The elements with a positive tabindex, as served after rendering
<div id="_evidon-banner" role="dialog" aria-modal="true" aria-labelledby="_evidon-banner-title" aria-describedby="_evidon-banner-message" class="evidon-barrier" tabindex="1" style="position: fixed; transform: translate(-50%, 0px); left: 50%; top: 6rem; max-height: calc(100% - 8rem); overflow: auto; display: block; backโฆ <a tabindex="2" href="https://uk.virginmoney.com/security/?ban" target="_blank" rel="noopener">privacy notice</a> <a tabindex="2" href="https://uk.virginmoney.com/cookies/?ban" target="_blank" rel="noopener">cookies notice</a> <button id="_evidon-banner-cookiebutton" class="evidon-barrier-cookiebutton" tabindex="4" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_evidon-barrier-declinebutton" tabindex="5" class="evidon-barrier-declinebutton" aria-label="Reject optional cookies" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225โฆ <button id="_evidon-banner-acceptbutton" tabindex="3" class="evidon-barrier-acceptbutton" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_ev_opt_out_close" tabindex="3" style="position: absolute; top: 0px; right: 2px; color: rgb(225, 10, 10); background: transparent; font-size: 12px; border: 0px; cursor: pointer;">Close โ</button> | |||||||||||||
| Check | Result | Evidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CT06 | warning | title length 74 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 74 chars The evidence, taken from the page as served The page title, as served
<title>Digital registration for Mobile App and Internet Banking | Virgin Money UK</title> <title>Virgin Money homepage</title> <title>Virgin Money Instagram</title> <title>Virgin Money TikTok</title> <title>Virgin Money X</title> <title>Virgin Money Facebook</title> <title>Virgin Money YouTube</title> <title>Virgin Money LinkedIn</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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-450531958|rpid=1122830135|domain=virginmoney.com|reportUrl=/service/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/service/rb_bf64125xgr","agentUri":"/service/ruxitagentjs_ICA15โฆ | |||||||||||||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |||||||||||
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-450531958|rpid=1122830135|domain=virginmoney.com|reportUrl=/service/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/service/rb_bf64125xgr","agentUri":"/service/ruxitagentjs_ICA15โฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-450531958|rpid=1122830135|domain=virginmoney.com|reportUrl=/service/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/service/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/service/rb_bf64125xgr","agentUri":"/service/ruxitagentjs_ICA15โฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| AR12 | warning | 66% of the page's text (7213 of 10917 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 66% of the page's text (7213 of 10917 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.
| |||||||||||||
| MS04 | warning | the page's naming markup is faulty: 140 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out | |||||||||||
What we check Accessibility markup faults: invented roles, labels pointing at nothing, live controls marked hidden. What good looks like The page's accessibility markup is sound, with valid roles and no labels pointing at nothing. Why it matters The page's own description of its controls is wrong, so what it offers and what it declares do not match. What we found on this page the page's naming markup is faulty: 140 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out The evidence, taken from the page as served The faulty markup, as the page serves it once loaded
<a href="/" id="site-logo" class="brand" rel="home" title="Virgin Money homepage"> <svg viewbox="0 0 198 40"> <title>Virgin Money homepage</title> <circle xmlns="http://www.w3.org/2000/svg" class="cls-1" cx="69.9375" cy="20.375" r="19"/> <use xlink:href="/assets/svg/logo.svg#hero"/></svg> </a> <button type="button" id="navbar-toggle-secondnav" class="navbar-toggler collapsed" aria-controls="ctasecondarynav" aria-expanded="false" aria-label="Open Sign in menu for online Services" data-toggle="collapse" data-parent="#nav" data-target="#ctasecondarynav"> <span class="navbar-toggler__label" style="animation-delaโฆ <button type="button" id="navbar-toggle-menu" class="navbar-toggler collapsed" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle Menu navigation" data-toggle="collapse" data-parent="#nav" data-target="#menu-container"> <span class="navbar-toggler__label" style="animation-delay: 0.75s;">Menu</span>โฆ <a class="selected" href="/" aria-current="page">Personal</a> <a class="" href="/business/">Business</a> <a class="" href="/brighter-money/">Brighter Money</a> <a href="/service/support-hub/" class="" data-icon="/assets/svg/rebrand-ui.svg#help" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#help"/></svg></span> Help </a> <a href="/site-search/" class="" data-icon="/assets/svg/rebrand-ui.svg#search" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#search"/></svg></span> Search </a> <button type="button" class="d-none d-md-inline-block btn btn-secondary btn-cta-pages collapsed" aria-controls="ctasecondarynav" aria-expanded="false" data-toggle="collapse" data-trigger="click" data-trigger-selector=".menu > .list-nav > li > a[data-toggle]:not(.collapsed)" data-target="#ctasecondarynav"> <spaโฆ <a href="/service/sign-in/" class=" btn btn-secondary"> <span class="visually-hidden">Visit the </span>Sign in<span class="visually-hidden"> page for existing customers, where you can service any products you have with Virgin Money. </span> </a> …and 130 more like it. | |||||||||||||
| AJ08 | warning | focus order: 7 element(s) use a positive tabindex, overriding document 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: 7 element(s) use a positive tabindex, overriding document order; the first 12 Tab stops do not follow document order The evidence, taken from the page as served The elements with a positive tabindex, as served after rendering
<div id="_evidon-banner" role="dialog" aria-modal="true" aria-labelledby="_evidon-banner-title" aria-describedby="_evidon-banner-message" class="evidon-barrier" tabindex="1" style="position: fixed; transform: translate(-50%, 0px); left: 50%; top: 6rem; max-height: calc(100% - 8rem); overflow: auto; display: block; backโฆ <a tabindex="2" href="https://uk.virginmoney.com/security/?ban" target="_blank" rel="noopener">privacy notice</a> <a tabindex="2" href="https://uk.virginmoney.com/cookies/?ban" target="_blank" rel="noopener">cookies notice</a> <button id="_evidon-banner-cookiebutton" class="evidon-barrier-cookiebutton" tabindex="4" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_evidon-barrier-declinebutton" tabindex="5" class="evidon-barrier-declinebutton" aria-label="Reject optional cookies" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225โฆ <button id="_evidon-banner-acceptbutton" tabindex="3" class="evidon-barrier-acceptbutton" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_ev_opt_out_close" tabindex="3" style="position: absolute; top: 0px; right: 2px; color: rgb(225, 10, 10); background: transparent; font-size: 12px; border: 0px; cursor: pointer;">Close โ</button> | |||||||||||||
| Check | Result | Evidence | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CT06 | warning | title length 84 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 84 chars The evidence, taken from the page as served The page title, as served
<title>Travel Insurance - Holiday Insurance with 24/7 Support | Insurance | Virgin Money UK</title> <title>Virgin Money homepage</title> <title>Virgin Money Instagram</title> <title>Virgin Money TikTok</title> <title>Virgin Money X</title> <title>Virgin Money Facebook</title> <title>Virgin Money YouTube</title> <title>Virgin Money LinkedIn</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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1314903907|rpid=1924460767|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||||||||||
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1314903907|rpid=1924460767|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1314903907|rpid=1924460767|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||||||||||
| 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. | |||||||||||||||||||||
| AR12 | warning | 62% of the page's text (9139 of 14654 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 62% of the page's text (9139 of 14654 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.
| |||||||||||||||||||||
| MS04 | warning | the page's naming markup is faulty: 154 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out | |||||||||||||||||||
What we check Accessibility markup faults: invented roles, labels pointing at nothing, live controls marked hidden. What good looks like The page's accessibility markup is sound, with valid roles and no labels pointing at nothing. Why it matters The page's own description of its controls is wrong, so what it offers and what it declares do not match. What we found on this page the page's naming markup is faulty: 154 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out The evidence, taken from the page as served The faulty markup, as the page serves it once loaded
<a href="/" id="site-logo" class="brand" rel="home" title="Virgin Money homepage"> <svg viewbox="0 0 198 40"> <title>Virgin Money homepage</title> <circle xmlns="http://www.w3.org/2000/svg" class="cls-1" cx="69.9375" cy="20.375" r="19"/> <use xlink:href="/assets/svg/logo.svg#hero"/></svg> </a> <button type="button" id="navbar-toggle-secondnav" class="navbar-toggler collapsed" aria-controls="ctasecondarynav" aria-expanded="false" aria-label="Open Sign in menu for online Services" data-toggle="collapse" data-parent="#nav" data-target="#ctasecondarynav"> <span class="navbar-toggler__label" style="animation-delaโฆ <button type="button" id="navbar-toggle-menu" class="navbar-toggler collapsed" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle Menu navigation" data-toggle="collapse" data-parent="#nav" data-target="#menu-container"> <span class="navbar-toggler__label" style="animation-delay: 0.75s;">Menu</span>โฆ <a class="selected" href="/" aria-current="page">Personal</a> <a class="" href="/business/">Business</a> <a class="" href="/brighter-money/">Brighter Money</a> <a href="/service/support-hub/" class="" data-icon="/assets/svg/rebrand-ui.svg#help" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#help"/></svg></span> Help </a> <a href="/site-search/" class="" data-icon="/assets/svg/rebrand-ui.svg#search" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#search"/></svg></span> Search </a> <button type="button" class="d-none d-md-inline-block btn btn-secondary btn-cta-pages collapsed" aria-controls="ctasecondarynav" aria-expanded="false" data-toggle="collapse" data-trigger="click" data-trigger-selector=".menu > .list-nav > li > a[data-toggle]:not(.collapsed)" data-target="#ctasecondarynav"> <spaโฆ <a href="/service/sign-in/" class=" btn btn-secondary"> <span class="visually-hidden">Visit the </span>Sign in<span class="visually-hidden"> page for existing customers, where you can service any products you have with Virgin Money. </span> </a> …and 144 more like it. | |||||||||||||||||||||
| AJ08 | warning | focus order: 7 element(s) use a positive tabindex, overriding document 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: 7 element(s) use a positive tabindex, overriding document order; the first 12 Tab stops do not follow document order The evidence, taken from the page as served The elements with a positive tabindex, as served after rendering
<div id="_evidon-banner" role="dialog" aria-modal="true" aria-labelledby="_evidon-banner-title" aria-describedby="_evidon-banner-message" class="evidon-barrier" tabindex="1" style="position: fixed; transform: translate(-50%, 0px); left: 50%; top: 6rem; max-height: calc(100% - 8rem); overflow: auto; display: block; backโฆ <a tabindex="2" href="https://uk.virginmoney.com/security/?ban" target="_blank" rel="noopener">privacy notice</a> <a tabindex="2" href="https://uk.virginmoney.com/cookies/?ban" target="_blank" rel="noopener">cookies notice</a> <button id="_evidon-banner-cookiebutton" class="evidon-barrier-cookiebutton" tabindex="4" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_evidon-barrier-declinebutton" tabindex="5" class="evidon-barrier-declinebutton" aria-label="Reject optional cookies" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225โฆ <button id="_evidon-banner-acceptbutton" tabindex="3" class="evidon-barrier-acceptbutton" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_ev_opt_out_close" tabindex="3" style="position: absolute; top: 0px; right: 2px; color: rgb(225, 10, 10); background: transparent; font-size: 12px; border: 0px; cursor: pointer;">Close โ</button> | |||||||||||||||||||||
| Check | Result | Evidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-572616734|rpid=659472828|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-572616734|rpid=659472828|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-572616734|rpid=659472828|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| AR12 | warning | 60% of the page's text (9280 of 15323 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 60% of the page's text (9280 of 15323 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.
| |||||||||||||
| MS04 | warning | the page's naming markup is faulty: 153 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out | |||||||||||
What we check Accessibility markup faults: invented roles, labels pointing at nothing, live controls marked hidden. What good looks like The page's accessibility markup is sound, with valid roles and no labels pointing at nothing. Why it matters The page's own description of its controls is wrong, so what it offers and what it declares do not match. What we found on this page the page's naming markup is faulty: 153 working control(s) sit inside a section the code marks as hidden, so they work on screen but are absent from what is read out The evidence, taken from the page as served The faulty markup, as the page serves it once loaded
<a href="/" id="site-logo" class="brand" rel="home" title="Virgin Money homepage"> <svg viewbox="0 0 198 40"> <title>Virgin Money homepage</title> <circle xmlns="http://www.w3.org/2000/svg" class="cls-1" cx="69.9375" cy="20.375" r="19"/> <use xlink:href="/assets/svg/logo.svg#hero"/></svg> </a> <button type="button" id="navbar-toggle-secondnav" class="navbar-toggler collapsed" aria-controls="ctasecondarynav" aria-expanded="false" aria-label="Open Sign in menu for online Services" data-toggle="collapse" data-parent="#nav" data-target="#ctasecondarynav"> <span class="navbar-toggler__label" style="animation-delaโฆ <button type="button" id="navbar-toggle-menu" class="navbar-toggler collapsed" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle Menu navigation" data-toggle="collapse" data-parent="#nav" data-target="#menu-container"> <span class="navbar-toggler__label" style="animation-delay: 0.75s;">Menu</span>โฆ <a class="selected" href="/" aria-current="page">Personal</a> <a class="" href="/business/">Business</a> <a class="" href="/brighter-money/">Brighter Money</a> <a href="/service/support-hub/" class="" data-icon="/assets/svg/rebrand-ui.svg#help" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#help"/></svg></span> Help </a> <a href="/site-search/" class="" data-icon="/assets/svg/rebrand-ui.svg#search" data-icon-left=""><span class="svg__wrapper svg__wrapper--fill"><svg class=""><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#search"/></svg></span> Search </a> <button type="button" class="d-none d-md-inline-block btn btn-secondary btn-cta-pages collapsed" aria-controls="ctasecondarynav" aria-expanded="false" data-toggle="collapse" data-trigger="click" data-trigger-selector=".menu > .list-nav > li > a[data-toggle]:not(.collapsed)" data-target="#ctasecondarynav"> <spaโฆ <a href="/service/sign-in/" class=" btn btn-secondary"> <span class="visually-hidden">Visit the </span>Sign in<span class="visually-hidden"> page for existing customers, where you can service any products you have with Virgin Money. </span> </a> …and 143 more like it. | |||||||||||||
| AJ08 | warning | focus order: 7 element(s) use a positive tabindex, overriding document 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: 7 element(s) use a positive tabindex, overriding document order; the first 12 Tab stops do not follow document order The evidence, taken from the page as served The elements with a positive tabindex, as served after rendering
<div id="_evidon-banner" role="dialog" aria-modal="true" aria-labelledby="_evidon-banner-title" aria-describedby="_evidon-banner-message" class="evidon-barrier" tabindex="1" style="position: fixed; transform: translate(-50%, 0px); left: 50%; top: 6rem; max-height: calc(100% - 8rem); overflow: auto; display: block; backโฆ <a tabindex="2" href="https://uk.virginmoney.com/security/?ban" target="_blank" rel="noopener">privacy notice</a> <a tabindex="2" href="https://uk.virginmoney.com/cookies/?ban" target="_blank" rel="noopener">cookies notice</a> <button id="_evidon-banner-cookiebutton" class="evidon-barrier-cookiebutton" tabindex="4" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_evidon-barrier-declinebutton" tabindex="5" class="evidon-barrier-declinebutton" aria-label="Reject optional cookies" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225โฆ <button id="_evidon-banner-acceptbutton" tabindex="3" class="evidon-barrier-acceptbutton" style="font-size: 17.6px; margin: 32px 24px; padding: 20px 32px; border: 1px solid rgb(225, 10, 10); display: inline-block; background: rgb(255, 255, 255); border-radius: 0px; color: rgb(225, 10, 10); cursor: pointer; font-family:โฆ <button id="_ev_opt_out_close" tabindex="3" style="position: absolute; top: 0px; right: 2px; color: rgb(225, 10, 10); background: transparent; font-size: 12px; border: 0px; cursor: pointer;">Close โ</button> | |||||||||||||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_468780671|rpid=-785325188|domain=virginmoney.com|reportUrl=/insurance/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/insurance/rb_bf64125xgr","agentUri":"/insurance/ruxitagenโฆ | |||
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_468780671|rpid=-785325188|domain=virginmoney.com|reportUrl=/insurance/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/insurance/rb_bf64125xgr","agentUri":"/insurance/ruxitagenโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_468780671|rpid=-785325188|domain=virginmoney.com|reportUrl=/insurance/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/insurance/rb_bf64125xgr","agentUri":"/insurance/ruxitagenโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| CT06 | warning | title length 66 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 66 chars The evidence, taken from the page as served The page title, as served
<title>Business Accounts - Current & Savings | Business | Virgin Money UK</title> <title>Virgin Money homepage</title> <title>Virgin Money Instagram</title> <title>Virgin Money TikTok</title> <title>Virgin Money X</title> <title>Virgin Money Facebook</title> <title>Virgin Money YouTube</title> <title>Virgin Money LinkedIn</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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/business/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1838219086|rpid=1420086256|domain=virginmoney.com|reportUrl=/business/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/business/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/business/rb_bf64125xgr","agentUri":"/business/ruxitagentjsโฆ | |||
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/business/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1838219086|rpid=1420086256|domain=virginmoney.com|reportUrl=/business/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/business/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/business/rb_bf64125xgr","agentUri":"/business/ruxitagentjsโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/business/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1838219086|rpid=1420086256|domain=virginmoney.com|reportUrl=/business/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/business/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/business/rb_bf64125xgr","agentUri":"/business/ruxitagentjsโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="selected" href="/business/" aria-current="page">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1291809368|rpid=346045219|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1291809368|rpid=346045219|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1291809368|rpid=346045219|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a class="sub-menu--link" href="/brighter-money/category/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_953618498|rpid=1699980491|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |||||||||||
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_953618498|rpid=1699980491|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| AR13 | warning | only 242 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 242 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
Start your search Search Example: 'How to register for online banking' Search Filter Select the area you are interested in Personal banking Business banking Private banking Top queriesDaily limits for making paymentsBranch finderISA transfers | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| CT24 | warning | the page's own content runs to 242 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 242 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 5% 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 5% 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. | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| CT34 | fail | the page's own words are thin: 355 of its 380 words are shared navigation and footer, so it reads as 91% 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: 355 of its 380 words are shared navigation and footer, so it reads as 91% 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 | |
|---|---|---|---|
| CT06 | warning | title length 68 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 68 chars The evidence, taken from the page as served The page title, as served
<title>Switch your Virgin Money mortgage deal | Mortgages | Virgin Money UK</title> <title>Virgin Money homepage</title> <title>Virgin Money Instagram</title> <title>Virgin Money TikTok</title> <title>Virgin Money X</title> <title>Virgin Money Facebook</title> <title>Virgin Money YouTube</title> <title>Virgin Money LinkedIn</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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-137056225|rpid=1839349904|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-137056225|rpid=1839349904|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-137056225|rpid=1839349904|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-111016734|rpid=-1080217568|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-111016734|rpid=-1080217568|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-111016734|rpid=-1080217568|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||
| MS08 | fail | 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โlink opens in a new windowโ; 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 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โlink opens in a new windowโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </a> <a href="https://apps.apple.com/gb/app/virgin-money-mobile-banking/id1482269155?ls=1" target="_blank" data-icon="" rel="noopener"><img src="/img/img_appstore.png" alt="apple app store button" class="mb-3"/> <span class="visually-hidden">Link opens in a new window</span></a> <a href="https://play.google.com/store/apps/details?id=com.virginmoney.uk.mobile.android" target="_blank" data-icon="" rel="noopener"><img src="/img/img_googleplay.png" alt="Download Virgin Money banking app on Google Play" class="mb-3"/> <span class="visually-hidden">Link opens in a new window</span></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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| CT04 | warning | the page shows the year 2024 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 2024 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1013746970|rpid=2141788427|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1013746970|rpid=2141788427|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-407919154|rpid=-1224462136|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||||||||||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |||||||||||||||||||
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-407919154|rpid=-1224462136|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-407919154|rpid=-1224462136|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||||||||||||||||||||
| MS08 | fail | 3 link wording(s) are used for more than one destination, so the same words point at different pages: โapply for a joint accountโ, โapply for a personal accountโ, โbusinessโ; 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 3 link wording(s) are used for more than one destination, so the same words point at different pages: โapply for a joint accountโ, โapply for a personal accountโ, โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </a> <a href="https://clubm-account-opening.ib.apps.virginmoney.com/authentication?applyFor=IM755&sourceId=VMCA1&promocode=EXTnull" class="btn btn-primary mt-2">Apply for a personal account</a> <a href="https://clubm-account-opening.ib.apps.virginmoney.com/authentication?applyFor=IM755&sourceId=VMCA1&promocode=VCAnull" class="btn btn-primary mt-2">Apply for a personal account</a> <a href="https://clubm-account-opening.ib.apps.virginmoney.com/?applyFor=IM755&brandId=VM&sourceId=VMCA1&promocode=VCAnull" class="btn btn-primary mt-2">Apply for a personal account</a> <a href="https://clubm-account-opening.ib.apps.virginmoney.com/?applyFor=IM755&brandId=VM&sourceId=VMCA1&promocode=VCAnull" class="btn btn-primary mt-2">Apply for a personal account</a> <a href="https://clubm-account-opening.ib.apps.virginmoney.com/joint/authentication?applyFor=IM755&sourceId=VMCA1&promocode=EXTnull" class="btn btn-primary mt-2">Apply for a joint account</a> <a href="https://clubm-account-opening.ib.apps.virginmoney.com/joint/authentication?applyFor=IM755&sourceId=VMCA1&promocode=VCAnull" class="btn btn-primary mt-2">Apply for a joint account</a> <a href="https://clubm-account-opening.ib.apps.virginmoney.com/joint/?applyFor=IM755&brandId=VM&sourceId=VMCA1&promocode=VCAnull" class="btn btn-primary mt-2">Apply for a joint account</a> <a href="https://clubm-account-opening.ib.apps.virginmoney.com/joint/?applyFor=IM755&brandId=VM&sourceId=VMCA1&promocode=VCAnull" class="btn btn-primary mt-2">Apply for a joint account</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. | |||||||||||||||||||||
| 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 | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1232131576|rpid=217798743|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1232131576|rpid=217798743|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1232131576|rpid=217798743|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1524915319|rpid=233732214|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1524915319|rpid=233732214|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1524915319|rpid=233732214|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| MS08 | fail | 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โcontact usโ; 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 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โcontact usโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </a> <a href="/contact/mortgages/#additional-borrowing">contact us</a> <a href="/contact/">contact us</a> <a class="btn btn-link " href="/contact/">Contact us</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. | |||
| MS12 | fail | 1 of 1 data tables lack header cells: values are extracted without column meaning | |
What we check Data tables mark their header cells, so each number stays tied to its column. What good looks like Data tables mark their header cells, so each value stays tied to its column. Why it matters Without headers a figure is extracted as a bare number, so it gets quoted against the wrong heading. What we found on this page 1 of 1 data tables lack header cells: values are extracted without column meaning The evidence, taken from the page as served The data tables with no header cells, as served
<table class="table table-stacked"><tbody><tr><td>Company Name:</td><td>Virgin Money</td></tr><tr><td>Sort code:</td><td>40-63-99</td></tr><tr><td>Account No:</td><td>81333402</td></tr><tr><td>Reference:</td><td>Your Account Number</td></tr></tbody></table> 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: data tables mark their header cells, so each value stays tied to its column. 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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| CT06 | warning | title length 72 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 72 chars The evidence, taken from the page as served The page title, as served
<title>Moving House | Existing Mortgage Customers | Mortgages | Virgin Money UK</title> <title>Virgin Money homepage</title> <title>Virgin Money Instagram</title> <title>Virgin Money TikTok</title> <title>Virgin Money X</title> <title>Virgin Money Facebook</title> <title>Virgin Money YouTube</title> <title>Virgin Money LinkedIn</title> | |||
| CT09 | fail | 1 skipped heading level(s) in document order | |
What we check Heading levels step down one at a time, rather than jumping from an H2 straight to an H5. What good looks like Heading levels step down one at a time, without jumping a level. Why it matters A skipped level breaks the trail that says which section a passage belongs to, so it is filed under the wrong one. What we found on this page 1 skipped heading level(s) in document order The evidence, taken from the page as served The page's heading outline, in document order (a jump in level is marked)
H1 Move your mortgage when you move home H3 How it works level jumped H3 Who can port their mortgage? H3 Want a different deal? H3 If your sale and purchase don't happen on the same day H4 How your mortgage is shared H4 If someone doesn't want to move their share H2 Fancy a chat? H3 Got a quick question? H3 Start your residential application H3 0345 600 6622 H2 Related content H2 Get in touch H2 About us H2 Information H2 More from Nationwide
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: heading levels step down one at a time, without jumping a level. 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. | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1117461086|rpid=-1129378498|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1117461086|rpid=-1129378498|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1117461086|rpid=-1129378498|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&โฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| MS10 | fail | the heading structure skips a level in 1 place(s), so the order does not follow | |
What we check A page's headings start at the top level and step down without skipping a level. What good looks like The page's headings start at the top level and step down without skipping a level. Why it matters Content under a skipped level has no clear parent section, so structure taken from the page misplaces its text. What we found on this page the heading structure skips a level in 1 place(s), so the order does not follow The evidence, taken from the page as served The page's heading outline, in document order (a jump in level is marked)
H1 Move your mortgage when you move home H3 How it works level jumped H3 Who can port their mortgage? H3 Want a different deal? H3 If your sale and purchase don't happen on the same day H4 How your mortgage is shared H4 If someone doesn't want to move their share H2 Fancy a chat? H3 Got a quick question? H3 Start your residential application H3 0345 600 6622 H2 Related content H2 Get in touch H2 About us H2 Information H2 More from Nationwide
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 headings start at the top level and step down without skipping a level. 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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1224532217|rpid=-744059993|domain=virginmoney.com|reportUrl=/mortgages/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/mortgages/rb_bf64125xgr","agentUri":"/mortgages/ruxitagโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1224532217|rpid=-744059993|domain=virginmoney.com|reportUrl=/mortgages/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/mortgages/rb_bf64125xgr","agentUri":"/mortgages/ruxitagโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1224532217|rpid=-744059993|domain=virginmoney.com|reportUrl=/mortgages/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/mortgages/rb_bf64125xgr","agentUri":"/mortgages/ruxitagโฆ | |||
| MS08 | fail | 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โfind out moreโ; 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 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โfind out moreโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </a> <a href="/service/support-hub/cost-of-living/tips-to-manage-your-money/" class="btn btn-link btn--icon-right" data-icon-right="">Find out more<div class="svg__wrapper"><svg><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/rebrand-ui.svg#chevron-right"/></svg></div></a> <a href="/mortgages/existing-customers/switch-your-deal/" class="btn btn-secondary">Find out more</a> <a href="/mortgages/tools/overpayment-calculator/" class="btn btn-secondary">Find out more</a> <a href="/mortgages/existing-customers/repaying-your-interest-only-mortgage" class="btn btn-link">Find out more</a> <a href="/mortgages/existing-customers/managing-your-money/" class="btn btn-link">Find out more</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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-385891163|rpid=1709923860|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-385891163|rpid=1709923860|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-385891163|rpid=1709923860|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_267129731|rpid=-1314821292|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_267129731|rpid=-1314821292|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_267129731|rpid=-1314821292|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/current-accounts/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-506143271|rpid=-2028639616|domain=virginmoney.com|reportUrl=/current-accounts/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/current-accounts/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/current-accounts/rb_bf64125xgr","agentUri&quโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/current-accounts/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-506143271|rpid=-2028639616|domain=virginmoney.com|reportUrl=/current-accounts/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/current-accounts/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/current-accounts/rb_bf64125xgr","agentUri&quโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/current-accounts/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-506143271|rpid=-2028639616|domain=virginmoney.com|reportUrl=/current-accounts/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/current-accounts/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/current-accounts/rb_bf64125xgr","agentUri&quโฆ | |||
| MS08 | fail | 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โhereโ; 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 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โhereโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </a> <a href="/current-accounts/fees-and-charges/">here</a> <a href="/virgin/assets/pdf/required-personal-identification.pdf">here</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. | |||
| MS09 | warning | link wording that does not say where it leads: โhereโ | |
What we check Link wording that names no destination, phrases such as click here, read more and details. What good looks like Link wording names its destination, rather than saying click here or read more. Why it matters The destination is stated nowhere on the link itself, so the choice rests entirely on the text around it. What we found on this page link wording that does not say where it leads: โhereโ The evidence, taken from the page as served The links whose text names no destination, as served
<a href="/current-accounts/fees-and-charges/">here</a> <a href="/virgin/assets/pdf/required-personal-identification.pdf">here</a> | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-604994133|rpid=1789936307|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-604994133|rpid=1789936307|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-604994133|rpid=1789936307|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||
| MS08 | fail | 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โlink opens in a new windowโ; 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 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โlink opens in a new windowโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </a> <a href="https://apps.apple.com/gb/app/virgin-money-mobile-banking/id1482269155?ls=1" target="_blank" data-icon="" rel="noopener"><img src="/img/img_appstore.png" alt="apple app store button" class="mb-3"/> <span class="visually-hidden">Link opens in a new window</span></a> <a href="https://play.google.com/store/apps/details?id=com.virginmoney.uk.mobile.android" target="_blank" data-icon="" rel="noopener"><img src="/img/img_googleplay.png" alt="Download Virgin Money banking app on Google Play" class="mb-3"/> <span class="visually-hidden">Link opens in a new window</span></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. | |||
| Check | Result | Evidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/savings/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1096286955|rpid=1454290762|domain=virginmoney.com|reportUrl=/savings/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/savings/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/savings/rb_bf64125xgr","agentUri":"/savings/ruxitagentjs_ICA15โฆ | |||||||||||||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |||||||||||
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/savings/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1096286955|rpid=1454290762|domain=virginmoney.com|reportUrl=/savings/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/savings/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/savings/rb_bf64125xgr","agentUri":"/savings/ruxitagentjs_ICA15โฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| CT13 | warning | main content is 24% 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 24% 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/savings/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1096286955|rpid=1454290762|domain=virginmoney.com|reportUrl=/savings/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/savings/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/savings/rb_bf64125xgr","agentUri":"/savings/ruxitagentjs_ICA15โฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| CT34 | fail | the page's own words are thin: 355 of its 400 words are shared navigation and footer, so it reads as 86% 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: 355 of its 400 words are shared navigation and footer, so it reads as 86% 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 | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-234496544|rpid=-208642764|domain=virginmoney.com|reportUrl=/cards/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/cards/rb_bf64125xgr","agentUri":"/cards/ruxitagentjs_ICA15789NPRTUVXโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-234496544|rpid=-208642764|domain=virginmoney.com|reportUrl=/cards/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/cards/rb_bf64125xgr","agentUri":"/cards/ruxitagentjs_ICA15789NPRTUVXโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-234496544|rpid=-208642764|domain=virginmoney.com|reportUrl=/cards/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/cards/rb_bf64125xgr","agentUri":"/cards/ruxitagentjs_ICA15789NPRTUVXโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CT32 | warning | length 32 | |||||||||||
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 32 The evidence, taken from the page as served The page's description, as served
<meta name="description" content="Want to check the exchange rate?"/> | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1854420340|rpid=1573140680|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||||||||||||
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1854420340|rpid=1573140680|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| CT13 | warning | main content is 16% 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 16% 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1854420340|rpid=1573140680|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&qโฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| CT34 | fail | the page's own words are thin: 355 of its 402 words are shared navigation and footer, so it reads as 86% 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: 355 of its 402 words are shared navigation and footer, so it reads as 86% 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 | |
|---|---|---|---|
| CT32 | warning | length 184 | |
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 184 The evidence, taken from the page as served The page's description, as served
<meta name="description" content="Earn thousands of welcome bonus points when you take out a Virgin Atlantic Credit Card. The airline credit card with travel rewards. Swap points for flights, upgrades and so much more."/> | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1895815886|rpid=199892921|domain=virginmoney.com|reportUrl=/cards/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/cards/rb_bf64125xgr","agentUri":"/cards/ruxitagentjs_ICA15789NPRTUVXfโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1895815886|rpid=199892921|domain=virginmoney.com|reportUrl=/cards/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/cards/rb_bf64125xgr","agentUri":"/cards/ruxitagentjs_ICA15789NPRTUVXfโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_1895815886|rpid=199892921|domain=virginmoney.com|reportUrl=/cards/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/cards/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/cards/rb_bf64125xgr","agentUri":"/cards/ruxitagentjs_ICA15789NPRTUVXfโฆ | |||
| MS08 | fail | 4 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โcheck your eligibilityโ, โterms applyโ and 1 more; 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 4 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โcheck your eligibilityโ, โterms applyโ and 1 more; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </a> <a href="/cards/cardchecker/intro-vaa/" class="btn btn-primary text-center d-block">Check your eligibility</a> <a href="/cards/cardchecker/intro-vaa/" class="btn btn-primary" data-icon-right=""> Check your eligibility </a> <a href="/cards/vaa-cards/reward-plus-terms/" target="_blank" xmlns="http://www.w3.org/1999/xhtml">Terms apply</a> <a href="/virgin/assets/pdf/VM48924.pdf" class="pt-0 border-0 pb-0" target="_blank" data-icon="/assets/svg/rebrand-ui.svg#pdf" data-icon-left="">View all rates and fees in the summary box (PDF, 35Kb)<span class="visually-hidden"> Link opens in a new window</span></a> <a href="/cards/cardchecker/intro-vaa?product=reward-plus-card&productTier=28" class="btn btn-primary">Check your eligibility</a> <a href="/cards/vaa-cards/reward-terms/" target="_blank" xmlns="http://www.w3.org/1999/xhtml">Terms apply</a> <a href="/virgin/assets/pdf/VM48925.pdf" class="pt-0 border-0 pb-0" target="_blank" data-icon="/assets/svg/rebrand-ui.svg#pdf" data-icon-left="">View all rates and fees in the summary box (PDF, 35Kb)<span class="visually-hidden"> Link opens in a new window</span></a> <a href="/cards/cardchecker/intro-vaa?product=reward-card&productTier=28" class="btn btn-primary">Check your eligibility</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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_218136574|rpid=1199444780|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_218136574|rpid=1199444780|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_218136574|rpid=1199444780|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-58483355|rpid=1718948406|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |||||||||||
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-58483355|rpid=1718948406|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-58483355|rpid=1718948406|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| MS09 | warning | link wording that does not say where it leads: โclick hereโ | |||||||||||
What we check Link wording that names no destination, phrases such as click here, read more and details. What good looks like Link wording names its destination, rather than saying click here or read more. Why it matters The destination is stated nowhere on the link itself, so the choice rests entirely on the text around it. What we found on this page link wording that does not say where it leads: โclick hereโ The evidence, taken from the page as served The links whose text names no destination, as served
<a href="/business/finance/">click here</a> | |||||||||||||
| CT34 | fail | the page's own words are thin: 317 of its 383 words are shared navigation and footer, so it reads as 73% 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: 317 of its 383 words are shared navigation and footer, so it reads as 73% 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 | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1831771975|rpid=-1702342509|domain=virginmoney.com|reportUrl=/mortgages/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/mortgages/rb_bf64125xgr","agentUri":"/mortgages/ruxitaโฆ | |||
| CT04 | warning | the page shows the year 2023 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 2023 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1831771975|rpid=-1702342509|domain=virginmoney.com|reportUrl=/mortgages/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/mortgages/rb_bf64125xgr","agentUri":"/mortgages/ruxitaโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1831771975|rpid=-1702342509|domain=virginmoney.com|reportUrl=/mortgages/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/mortgages/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/mortgages/rb_bf64125xgr","agentUri":"/mortgages/ruxitaโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-2987700|rpid=-1507862250|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |||||||||||
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-2987700|rpid=-1507862250|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |||||||||||
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||||||||||||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-2987700|rpid=-1507862250|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quโฆ | |||||||||||||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||||||||||||
| CT34 | fail | the page's own words are thin: 356 of its 409 words are shared navigation and footer, so it reads as 85% 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: 356 of its 409 words are shared navigation and footer, so it reads as 85% 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 | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_465694892|rpid=659086797|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quoโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_465694892|rpid=659086797|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quoโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_465694892|rpid=659086797|domain=virginmoney.com|reportUrl=/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/rb_bf64125xgr","agentUri":"/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js&quoโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="selected" href="/business/" aria-current="page">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_2004837662|rpid=-1396355641|domain=virginmoney.com|reportUrl=/insurance/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/insurance/rb_bf64125xgr","agentUri":"/insurance/ruxitagโฆ | |||
| CT04 | warning | the page shows the year 2026 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 2026 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_2004837662|rpid=-1396355641|domain=virginmoney.com|reportUrl=/insurance/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/insurance/rb_bf64125xgr","agentUri":"/insurance/ruxitagโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_2004837662|rpid=-1396355641|domain=virginmoney.com|reportUrl=/insurance/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/insurance/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/insurance/rb_bf64125xgr","agentUri":"/insurance/ruxitagโฆ | |||
| MS08 | fail | 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โget a quoteโ; 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 2 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ, โget a quoteโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </a> <a href="https://homeinsurance.virginmoney.com/btl-landlords/?utm_source=virgin_money&utm_medium=website_cta" class="btn btn-primary">Get a quote</a> <a href="https://homeinsurance.virginmoney.com/direct/" class="btn btn-primary" data-icon-right=""> Get a quote </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. | |||
| Check | Result | Evidence | |
|---|---|---|---|
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/private/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1132777316|rpid=-1448622074|domain=virginmoney.com|reportUrl=/private/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/private/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/private/rb_bf64125xgr","agentUri":"/private/ruxitagentjs_ICAโฆ | |||
| CT04 | warning | the page carries no date, so there is nothing on it saying how current its content is | |
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 carries no date, so there is nothing on it saying how current its content is The evidence, taken from the page as served The head of this page, as served
The head of the page and the page's own text were read for a date. <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/private/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1132777316|rpid=-1448622074|domain=virginmoney.com|reportUrl=/private/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/private/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/private/rb_bf64125xgr","agentUri":"/private/ruxitagentjs_ICAโฆ | |||
| CT35 | warning | the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template | |
What we check The copyright line at the foot of the page, and the year it states. What good looks like The copyright line states the current year. Why it matters A copyright year in the past reads as a page nobody has attended to, and it is the usual sign of a template copied from somewhere else. Either way an AI treats the content as stale and can present old material as current. What we found on this page the page carries no copyright line in the content as served, so there is nothing on it to date it by, and an absent copyright line is one of the marks of a copied template The evidence, taken from the page as served The foot of this page, as served
The foot of the page was read for a copyright line. <footer class="container footer pattern pattern--bottom bg-dark-2 stroke-primary "> <div class="row"> <div class="col-sm-6 col-md-3"> <h2 class="h3">Get in touch</h2> <ul class="list-unstyled pb-0 "> <li class=""> <a class="btn btn-link " href="/contact/">Contact us</a> </li> <li class=""> <a class="btn btn-link " href="/service/support-hub/">Help and support</a> </li> <li class=""> <a class="btn btn-link " href="/service/financial-wellbeing/">Financial wellbeing hub</a> </li> <li class=""> <a class="btn btn-link " href="/service/ways-to-bank/">Ways to bank</a> </li> <li class=""> <a class="btn btn-link " href="/vmforms/feedback-form/">Feedback</a> </li> <li class=""> <a class="btn btn-link " href="/service/complaints/">Make a complaint</a> </li> </ul> <ul class="list-unstyled list-social"> <li> <a href="https://www.instagram.com/virginmoney/" title="Virgin Money Instagram" target="_blank" rel="noopener"> <svg viewbox="0 0 32 32"> <title>Virgin Money Instagram</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#social-instagram-bg" class="svg__bg"/> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/svg/social.svg?v1.0#soโฆ | |||
| 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 http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0"/> <!--evidon omnitag--> <script type="text/javascript" src="/private/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-dtconfig="rid=RID_-1132777316|rpid=-1448622074|domain=virginmoney.com|reportUrl=/private/rb_bf64125xgr|uam=1|app=8e10568a9231138b|ssc=1|coo=1|owasp=1|featureHash=ICA15789NPRTUVXfghqrux|srsr=20000|xb=*.analytics.google.com*^p.*evidon.*^p.*google-analytic.*^p.*ybg.egain.*^p.*cludo.*^p.*pinterest.*^p.*visualwebsiteoptimize.*^p.*linkedin.*^p.*demdex.*|rdnt=1|uxrgce=1|cuc=4agxwo8z|mel=100000|expw=1|dpvc=1|md=mdcc1=bdocument.referrer,mdcc2=bnavigator.userAgent,mdcc3=dutm_source,mdcc4=dutm_medium,mdcc5=dutm_campaign,mdcc6=dutm_term,mdcc7=dutm_content,mdcc8=bwindow.location.href,mdcc9=dproduct,mdcc10=chdtCode1|lastModification=1785157117101|tp=500,50,0|srbbv=2|agentUri=/private/ruxitagentjs_ICA15789NPRTUVXfghqrux_10341260622154106.js" data-config="{"revision":1785157117101,"beaconUri":"/private/rb_bf64125xgr","agentUri":"/private/ruxitagentjs_ICAโฆ | |||
| MS08 | fail | 1 link wording(s) are used for more than one destination, so the same words point at different pages: โbusinessโ; 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: โbusinessโ; 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 class="" href="/business/">Business</a> <a href="/business/service/sign-in/" class="ctasecondarynav-link"> Business </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. | |||
The first documents discovered on the estate, scored separately from pages.
| Document information | |
|---|---|
| Title | 2024 APP scam performance data โ before the reimbursement requirement was implemented |
| Author | Payment Systems Regulator |
| PDF version, pages, size | 1.7 ยท 22 pages ยท 1192 KB |
| Found on | https://uk.virginmoney.com/current-accounts |
| Check | Result | Evidence | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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
2024 APP scam performance data โ before the reimbursement requirement was implemented February 2026 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. | |||||||||||||||||||||
| 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 | Your M Plus Account and M Plus Saver Terms |
| Author | Virgin Money |
| PDF version, pages, size | 1.7 ยท 36 pages ยท 453 KB |
| Found on | https://uk.virginmoney.com/current-accounts/pca |
| Check | Result | Evidence | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PD28 | warning | 2 of 8 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 2 of 8 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 | Tariff for your M Plus Account and M Plus Saver |
| Author | Virgin Money |
| PDF version, pages, size | 1.7 ยท 4 pages ยท 272 KB |
| Found on | https://uk.virginmoney.com/current-accounts/pca |
| Check | Result | Evidence | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PD16 | fail | the document writes out 4 web addresses as plain text but saves none of them as real, clickable links, so the addresses sit in the text with no link behind them to follow to the source | |||||||||||||||||||
What we check Whether the document's links are recorded as real links, or just web addresses typed as plain text. What good looks like The document's links are recorded as real links, not web addresses typed as plain text. Why it matters When a source is only typed out as text, there is no link behind it to follow, so the reference cannot be opened or checked. What we found on this page the document writes out 4 web addresses as plain text but saves none of them as real, clickable links, so the addresses sit in the text with no link behind them to follow to the source The evidence, taken from the page as served The web addresses written out in the text, with no link behind them
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's links are recorded as real links, not web addresses typed as plain text. 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. | |||||||||||||||||||||
| 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 | M Plus Saver Summary Box |
| Author | Virgin Money |
| PDF version, pages, size | 1.7 ยท 2 pages ยท 238 KB |
| Found on | https://uk.virginmoney.com/current-accounts/pca |
| Check | Result | Evidence | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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
M Plus Saver Summary Box Summary Box Account Name M Plus Saver What is the interest rate? Balance Gross Rate* (%) AER# (%) up to and including ยฃ25,000 1.74 1.75 over ยฃ25,000 1.24 1.25 Interest is calculated on a daily basis and paid on the last working day of each calendar quarter . Can Virgin Money change the interest rate? Y es, if we decrease your rate weโll provide at least two monthsโ notice as described in your T erms. We may increase your rate without giving you notice. What would the 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. | |||||||||||||||||||||
| PD12 | fail | 2-column the document has a table, but its header cells are not identified as headers (0 marked as header, 32 as data): which column and row each number belongs to is not recorded, only where it happens to sit on the page | |||||||||||||||||||
What we check Whether numbers in tables stay attached to their row and column once the text is pulled out. What good looks like Numbers in tables stay attached to their row and column once the text is pulled out. Why it matters A figure that comes loose from its heading is read against the wrong row or the wrong column, so the number an AI system quotes is not the number the document gives. What we found on this page 2-column the document has a table, but its header cells are not identified as headers (0 marked as header, 32 as data): which column and row each number belongs to is not recorded, only where it happens to sit on the page The evidence, taken from the page as served The table's text as it reads out
M Plus Saver Summary Box Summary Box Account Name M Plus Saver What is the interest rate? Balance Gross Rate* (%) AER# (%) up to and including ยฃ25,000 1.74 1.75 over ยฃ25,000 1.24 1.25 Interest is calculated on a daily basis and paid on the last working day of each calendar quarter . Can Virgin Money change the interest rate? Y es, if we decrease your rate weโll provide at least two monthsโ notice as described in your T erms. We may increase your rate without giving you notice. What would the 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: numbers in tables stay attached to their row and column 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 moves the misinformation reading This failure is a frequent and direct cause of 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. | |||||||||||||||||||||
| PD16 | fail | the document writes out 1 web address as plain text but saves none of them as real, clickable links, so the address sits in the text with no link behind it to follow to the source | |||||||||||||||||||
What we check Whether the document's links are recorded as real links, or just web addresses typed as plain text. What good looks like The document's links are recorded as real links, not web addresses typed as plain text. Why it matters When a source is only typed out as text, there is no link behind it to follow, so the reference cannot be opened or checked. What we found on this page the document writes out 1 web address as plain text but saves none of them as real, clickable links, so the address sits in the text with no link behind it to follow to the source The evidence, taken from the page as served The web addresses written out in the text, with no link behind them
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's links are recorded as real links, not web addresses typed as plain text. 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. | |||||||||||||||||||||
| 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 | Digital terms Brochure |
| Author | Virgin Money |
| PDF version, pages, size | 1.7 ยท 8 pages ยท 179 KB |
| Found on | https://uk.virginmoney.com/current-accounts/pca |
| Check | Result | Evidence | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PD12 | fail | 3-column the document has a table, but its header cells are not identified as headers (0 marked as header, 9 as data): which column and row each number belongs to is not recorded, only where it happens to sit on the page | |||||||||||||||||||
What we check Whether numbers in tables stay attached to their row and column once the text is pulled out. What good looks like Numbers in tables stay attached to their row and column once the text is pulled out. Why it matters A figure that comes loose from its heading is read against the wrong row or the wrong column, so the number an AI system quotes is not the number the document gives. What we found on this page 3-column the document has a table, but its header cells are not identified as headers (0 marked as header, 9 as data): which column and row each number belongs to is not recorded, only where it happens to sit on the page The evidence, taken from the page as served The table's text as it reads out
DIVE INTO THE DET AIL Y our Digital Banking T erms Whatโs inside 1. Getting started 2. How can digital banking help? 3. Keeping your account safe 4. How to pull the plug 5. Making sure everythingโs just right 6. If youโre not happy, weโre not happy 7. Making changes 8. Keeping in touch 9. Some other things you need to know There are a few ways to keep on top of your Virgin Money account: โข Via the Virgin Money Mobile Banking app โข Online โข On the phone These T erms cover all these services. 1 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: numbers in tables stay attached to their row and column 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 moves the misinformation reading This failure is a frequent and direct cause of 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. | |||||||||||||||||||||
| PD16 | fail | the document writes out 1 web address as plain text but saves none of them as real, clickable links, so the address sits in the text with no link behind it to follow to the source | |||||||||||||||||||
What we check Whether the document's links are recorded as real links, or just web addresses typed as plain text. What good looks like The document's links are recorded as real links, not web addresses typed as plain text. Why it matters When a source is only typed out as text, there is no link behind it to follow, so the reference cannot be opened or checked. What we found on this page the document writes out 1 web address as plain text but saves none of them as real, clickable links, so the address sits in the text with no link behind it to follow to the source The evidence, taken from the page as served The web addresses written out in the text, with no link behind them
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's links are recorded as real links, not web addresses typed as plain text. 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. | |||||||||||||||||||||
| 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.
| |||||||||||||||||||||
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 “Yes”: regulator statements on the site: financial conduct authority, prudential regulation authority. Listed company reads “Not established”: no clear public-listing indicators in the sampled pages.
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, 114 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