Smileline
Marketing

Website checks

Every check the website check runs on your site, by area, with its severity and what it means.

The website check runs 338 checks in 20 areas. Each one is listed once below, under its area, worded as it appears on the Issues tab without its count: on your site, Pages have no title reads 3 pages have no title. Open an issue there for how to fix it and the pages it affects.

Each check has a severity:

  • Error: something that stops Google or patients reaching a page. Errors count most towards Health.
  • Warning: something that clearly costs rankings or trust. Warnings count towards Health.
  • Notice: worth knowing, but it never changes Health. Every accessibility check is a notice; the Accessibility report scores them on their own.

How the scores are worked out explains Health and the other scores.

A note in brackets after a check's name says when it counts towards a score or runs only in some cases:

  • AI search: counts towards the AI search score.
  • PageSpeed: needs Google PageSpeed Insights. It isn't checked while Setup says Speed checks need a Google key, nor on a page Google couldn't measure.
  • Chrome UX Report: needs Chrome's figures from real visitors, which Google has only for pages with enough visitors. It isn't checked while Setup says Speed checks need a Google key.
  • Search Console: needs Search Console connected.
  • Google profile: compares your website with your Google profile. These checks are coming soon; for now they show as not checked, even with your profile connected.
  • UK only: runs only for practices in the UK.
  • not in the US: runs for practices in every country Smileline serves except the US.

A check that can't be done, for want of what it needs, is never counted as a pass: it is left out of the scores.

Status codes

CheckSeverityWhat it means
Pages fail with a server errorErrorThe server answered with a 5xx error, so visitors see an error page and Google may drop the page if it keeps happening.
Pages can't be found or are refusedErrorThese addresses answer with a 4xx code (not found, gone, forbidden). People who follow a link to them hit a dead end.
Pages didn't answerErrorThe server didn't respond in time or dropped the connection, so the page couldn't be read at all.
Addresses point to a domain that doesn't existErrorThe domain name didn't resolve, so nobody can reach these pages.
Addresses can't be openedErrorThe address is written in a way browsers can't open.
Google got a server error on pages (Search Console)ErrorSearch Console says Google's last visit failed with a server error, even if the page works for you now.
Google found pages missing (Search Console)ErrorSearch Console says Google got a 404 for this address.
Pages say "not found" but load normallyWarningThe page reads like an error page yet tells search engines it is fine, so Google wastes time on it and may treat it as thin content.
Addresses that don't exist still load a pageWarningAsking for a made-up address returned a normal page instead of a 404, so every mistyped or old link looks like a real page to Google.
Google thinks pages are empty error pages (Search Console)WarningSearch Console treats the page as a soft 404: it loads, but looks empty or like an error, so Google won't show it.
Pages don't say they are web pagesNoticeThe server doesn't send the text/html content type for these pages, so some browsers and crawlers may not read them as web pages.

Redirects

CheckSeverityWhat it means
Addresses redirect more than onceErrorEach extra hop slows visitors down and Google may stop following before it reaches the page.
Addresses redirect in a loopErrorThe redirects lead back to where they started, so the page never loads for anyone.
Redirects end on a broken pageErrorThe redirect works but the page it lands on is missing or failing.
Pages redirect with a timed refreshErrorA meta refresh moves visitors after a delay. It is slow, confusing for screen readers, and Google may not pass the page's value on.
Secure addresses redirect to insecure onesErrorVisitors on a secure https:// page are sent to an http:// page, which browsers mark as not secure.
Google hit a redirect error on pages (Search Console)ErrorSearch Console says the redirect was too long, looped or pointed nowhere when Google tried it.
Addresses use a temporary redirectWarningA temporary redirect (302 or 307) tells Google the old address will be back, so it may keep showing the old one.
Addresses redirect permanentlyNoticePermanent redirects are fine, but links that still use the old address add a step for every visit.
Pages redirect with a Refresh headerNoticeThe server sends visitors on with a Refresh header, which search engines don't treat as a proper redirect.
Pages redirect with JavaScriptNoticeThe page sends visitors elsewhere with a script. Crawlers and AI tools that don't run scripts never see the move.
Links go through a redirectNoticeThese links point to an old address that redirects, adding a step for visitors and for Google.
Links to other sites redirectNoticeThe other site has moved these pages. Redirects can break later, leaving a dead link.
Images or files are loaded through a redirectNoticeThe page asks for a file at an old address that redirects, which delays loading.
Redirects aren't linked from your siteNoticeThese redirecting addresses were only found in a sitemap or as the start address, not through your own links.
Google sees pages as redirects (Search Console)NoticeSearch Console treats the address as a redirect, so it indexes the target instead.

Crawlability

CheckSeverityWhat it means
Google was refused access to pages (Search Console)ErrorSearch Console says Google got 401, 403 or another refusal, often a firewall or security plugin blocking it.
Files your pages need are blocked by robots.txtWarningGoogle can't load these scripts, styles or images, so it may see a broken version of your pages.
Addresses use underscoresWarningGoogle reads hyphens as spaces between words but underscores as part of a word, so dental_implants reads as one word.
Addresses have a double slashWarningA double slash in the path makes a second copy of a page at a slightly different address.
Addresses have too many parametersWarningAddresses with many ?key=value parts multiply into near-identical pages that waste Google's visits.
Pages are built with framesWarningOld-style frames split a page into separate documents that search engines index poorly.
Pages have no doctypeWarningWithout <!DOCTYPE html> at the top, browsers fall back to an old display mode and the page can look wrong.
Pages don't declare their character setWarningWithout a declared encoding, accents and symbols can show as garbled characters.
Pages have tags that end their head earlyWarningAn image, text or other body tag inside the head closes it early, so Google ignores the title, canonical or robots tags after it.
Pages have a broken HTML outlineWarningThe page is missing its head or body, or has more than one, so browsers and Google have to guess where things belong.
Google is blocked from pages by robots.txt (Search Console)WarningSearch Console says robots.txt stopped Google crawling this page.
Pages are blocked by robots.txtNoticeYour robots.txt tells Google not to crawl these pages, so they can't rank on their own content.
Files from other sites are blocked to crawlersNoticeAnother site's robots.txt stops Google loading a file your pages use. It only matters if the file shapes what the page shows.
Addresses are very longNoticeLong addresses are hard to read, share and remember, and are often cut off in search results.
Addresses use capital lettersNoticeAddresses are case-sensitive, so /Implants and /implants can count as two pages.
Addresses have accented or special charactersNoticeAccents and symbols get encoded into long strings when shared, and some tools handle them badly.
Addresses contain spacesNoticeSpaces turn into %20 in links and break easily when pasted.
Addresses repeat part of themselvesNoticeAddresses like /blog/blog/ usually come from a broken relative link, which can create endless fake pages.
Search or sorting pages can be crawledNoticeSite search results and sorted lists can produce endless variations that use up Google's visits.
Pages are more than 3 clicks from the home pageNoticePages buried deep get visited less by Google and found less by patients.

Indexability

CheckSeverityWhat it means
Pages give Google conflicting instructionsWarningThe page says both index and noindex (or follow and nofollow). Google picks the stricter one.
Pages tell Google not to follow their linksWarningA page-wide nofollow stops Google following any link on the page, so the pages it links to get found less.
Pages have their robots tag in the wrong placeWarningRobots tags outside the head can be ignored.
Pages Google shouldn't index still show in search (Search Console)WarningSearch Console shows impressions for a page that is noindex, redirected, broken or pointed elsewhere. Searchers land on the wrong page or a dead one.
Google visited pages but left them out (Search Console)WarningSearch Console says Google read the page and chose not to index it, usually because it adds little beyond your other pages.
Google doesn't know pages yet (Search Console)WarningSearch Console has never seen this address, so it can't appear in search.
Pages are set to stay out of GoogleNoticeA noindex tag keeps the page out of search results. That's right for thank-you or private pages, and a costly mistake on a treatment page.
Pages are kept out of Google by the serverNoticeThe server's X-Robots-Tag header says noindex. It doesn't show in the page itself, so it is easy to miss.
Pages repeat their robots instructionsNoticeSeveral robots tags, or the same rule in both the page and the server header, make later changes easy to get wrong.
Pages keep their images out of GoogleNoticenoimageindex keeps the page's photos out of Google Images, where patients also look for practices.
Pages have an expiry date for GoogleNoticeunavailable_after tells Google to drop the page after a date. It is often left over from an old offer.
Pages have a faulty base tagNoticeA broken or repeated <base> tag changes where every relative link on the page points.
Google knows pages but hasn't visited them (Search Console)NoticeSearch Console says Google found the address but hasn't crawled it yet.
Google saw noindex on pages (Search Console)NoticeSearch Console says Google left the page out because of noindex.

Canonical URLs

CheckSeverityWhat it means
Pages have more than one canonicalErrorWhen a page names several canonicals, Google may ignore them all.
Secure pages name an insecure canonicalErrorThe https:// page asks Google to index its http:// copy, which browsers mark as not secure.
Pages name a broken canonicalErrorThe canonical points at a page that is missing or failing, so Google may drop both.
The www and non-www versions of your site don't agreeErrorYour site should open under one address and send the other one there. Here one version loads separately or not at all.
Pages have a canonical that isn't an addressWarningThe canonical is empty or not a web address, so Google ignores it.
Pages' canonicals contain a #WarningGoogle ignores everything after # in a canonical, so it may not point where you meant.
Pages have their canonical outside the headWarningGoogle only reads the canonical in the head.
Canonicals keep tracking codesWarningThe canonical includes ad or session codes (utm_, gclid and the like), naming one tagged copy instead of the clean page.
Pages' headers and HTML name different canonicalsWarningThe server's Link header and the page disagree on the canonical, so Google may ignore both.
Pages name the home page as their canonicalWarningPointing a treatment or blog page's canonical at the home page asks Google to drop it. It is usually a theme setting gone wrong.
Pages name a canonical that redirectsWarningThe canonical points at an address that moves elsewhere.
Canonicals point to pages that point elsewhereWarningPage A names B, and B names C. Google may not follow the chain.
Pages' canonicals lead back in a loopWarningPages name each other as canonical, so Google can't tell which to index.
Pages name a canonical Google can't indexWarningThe canonical target is noindex or blocked by robots.txt, so neither page may show in search.
Google picked a different main page for pages (Search Console)WarningSearch Console says Google ignored your canonical and indexes another page as the original.
Google sees pages as copies with no canonical (Search Console)WarningSearch Console found the page duplicates another and no canonical says which one to keep.
Pages have no canonicalNoticeA canonical tag names the main address of a page. Without one, Google guesses, and links with tracking codes can count as copies.
Pages have a relative canonicalNoticeA canonical like /implants works, but a full address can't be misread on a copied or staging site.
Pages name another site as their canonicalNoticeGoogle is asked to credit another domain with this page, for example an old domain or a copied template.
Pages point Google to other pagesNoticeThese pages name a different page as the one to index. That's right for copies and wrong for pages that should rank.
Canonical pages aren't linked from your siteNoticeOther pages name it as the one to index, but none of your pages link to it.

Titles & descriptions

CheckSeverityWhat it means
Pages have no titleErrorThe title is the blue link people click in Google. Without one Google makes one up, often badly.
Pages have more than one titleWarningGoogle uses one of them, not necessarily the one you wrote.
Pages have their title outside the headWarningTitles outside the head can be ignored.
Titles are cut off in search resultsWarningGoogle cuts titles off after about 70 characters, so the end of a longer one disappears.
Titles are too shortWarningA very short title wastes the space Google gives you to say what you offer and where.
Pages repeat their title as their main headingWarningUsing different words in the title and the H1 lets the page match more of the ways people search.
Pages have no meta descriptionWarningThe description is the text under your link in Google. Without one, Google picks words from the page, which rarely make people click.
Pages have more than one meta descriptionWarningWith several descriptions, Google may ignore them all.
Pages have their description outside the headWarningDescriptions outside the head can be ignored.
Descriptions are cut off in search resultsNoticeGoogle shows about 150 characters; the rest is cut.
Descriptions are shortNoticeThere's room for about 150 characters to convince someone to choose your page.
Pages use their title as their descriptionNoticeThe description should add what the title can't fit.
Your site has no faviconNoticeGoogle shows the small site icon next to your result on phones. Without it you get a generic globe.
Pages share badly on social mediaNoticeMissing Open Graph tags (title, description, image, address) make links shared on Facebook, WhatsApp or LinkedIn show without a proper picture or text.
Pages share a different address than their canonicalNoticeog:url and the canonical disagree, so shares and search credit different addresses.
Pages' sharing images don't loadNoticeShared links show no picture because og:image is broken.
Pages have no X (Twitter) cardNoticePosts on X show a plain link instead of a large preview.

Content

CheckSeverityWhat it means
Pages are mostly code, little textWarningReadable text is 10% or less of the page's HTML. Heavy page builders do this; it slows pages and gives Google little to read.
Pages have very little textWarningPages under 200 words rarely rank for treatments people compare carefully.
Pages have no main headingWarningThe H1 tells visitors, screen readers and Google what the page is about.
Pages still have placeholder textWarningTemplate filler (lorem ipsum) is still on the page for patients to see.
Pages have several main headingsNoticeOne clear H1 makes the page's main topic obvious.
Main headings are longNoticeA long H1 is hard to take in at a glance.
Pages have no subheadingsNoticeSubheadings break the page into answers people can scan, and AI tools quote them.
Pages skip heading levelsNoticeScreen readers and search engines read headings as an outline; jumping from H2 to H4 breaks it.
Pages have empty headingsNoticeEmpty headings confuse screen readers and add noise.
Pages may have spelling mistakesNoticeTypos make a practice look careless. Names and clinical terms may be flagged too, so check each one.
Pages are hard to readNoticeLong sentences and long words make the page hard going for patients. Measured on English pages only.

Duplicates

CheckSeverityWhat it means
Pages share their title with another pageErrorPages with the same title compete with each other in Google and look identical in results.
Pages share their description with another pageErrorCopied descriptions make different pages look the same in Google.
Pages have the same text as another pageErrorGoogle shows only one of the copies, and may not pick the one you want.
Pages load at two addressesWarningThe same page opens with and without a trailing slash, in different capitals or with tracking codes, and nothing says which one counts.
Pages share their main heading with another pageNoticeThe same H1 on several pages makes it unclear which page answers what.
Pages are almost the same as another pageNoticePages that only swap a town or treatment name, like location pages from one template, read as copies.
CheckSeverityWhat it means
Links on your site are brokenErrorThese links lead to a missing or failing page on your own site.
Links are written wronglyErrorThe link address has a typo (a missing slash or colon, spaces) so it goes nowhere.
Links point to a developer's computerErrorLinks to localhost, a private network address or a file on someone's computer only worked while the site was being built.
Links to other sites are brokenWarningThe other site's page is gone or failing.
Links to your own pages are nofollowWarningnofollow tells Google to ignore the link, so your own pages lose the boost it would give.
Links on secure pages use http://WarningLinks to your own pages over http:// cost a redirect or land on an insecure copy.
Link addresses are extremely longWarningAddresses over 2,000 characters break in some browsers and crawlers.
Pages have an enormous number of linksWarningMore than 3,000 links on one page dilutes each one and is usually a menu or footer gone wrong.
Pages have links crawlers can't followWarningButtons or links that work only through a script have no real address, so Google and AI tools can't follow them.
Links to other sites were refusedNoticeThe other site refused our check (403). Many sites do that to crawlers while working fine for people.
Links to other sites are nofollowNoticeFine for ads and paid links; for trusted sources like a health service or a dental association a normal link is better.
Links have no text (AI search)NoticeIcon or image links with no text or alt give screen readers, Google and AI tools nothing to say where they go.
Links say only "click here" or similar (AI search)NoticeWords like "read more" don't say where a link goes, to people, screen readers, Google or AI tools.
Links open a file instead of a pageNoticeLinking straight to an image or code file sends visitors to a bare file with no way back to your site.
Pages are linked from only one page (AI search)NoticeA page with a single link pointing to it is easy for visitors, Google and AI tools to miss.
Pages in your sitemap aren't linked from your siteNoticeNothing on your site links to these pages, so visitors can't reach them and Google sees them as unimportant.
Pages don't link to the rest of your siteNoticeA dead-end page gives visitors no next step, such as booking or a related treatment.
Pages are reached only through nofollow linksNoticeEvery link to these pages tells Google to ignore it, so Google may never find them.
Pages are linked only from hidden pagesNoticeThe only links to these pages sit on pages kept out of Google, so they carry little weight.
Links to your own pages carry tracking codesNoticeutm_ or session codes on your own links create extra copies of pages and muddle your visit reports.

Images

CheckSeverityWhat it means
Images on your site don't loadErrorVisitors see a broken picture where it should be.
Images from other sites don't loadWarningAn image you show from another site is gone.
Pages have images without alt textWarningScreen readers can't describe the image and Google Images can't tell what it shows.
Pages have very long alt textNoticeAlt text over 100 characters is tiring to listen to and often stuffed with keywords.
Images are large filesNoticeImages over 100 KB slow pages down on phones, especially big photos straight from a camera.
Pages have images without a set sizeNoticeWithout width and height, the page jumps as images load, which annoys visitors and hurts Core Web Vitals.
Pages could load their images faster (PageSpeed)NoticeLighthouse found images that are bigger than shown, poorly compressed or in old formats.
Pages show stretched or squashed images (PageSpeed)NoticeImages displayed at the wrong shape look distorted.
Pages have alt text that repeats nearby words (PageSpeed)NoticeScreen readers read the same words twice when alt text repeats the caption or link next to it.

Performance

CheckSeverityWhat it means
Pages take over 3 seconds to arriveErrorThe page's HTML alone took over 3 seconds to download, before any images or scripts. Visitors on phones give up.
Pages are too big for Google to read in fullErrorGoogle reads only the first 2 MB of a page's HTML, so anything after that is invisible to it.
Script and style files on your site are missingErrorPages ask for code that isn't there, so menus, forms or the layout may not work.
Pages are sent uncompressedWarningCompression makes pages several times smaller to download. It is a server setting.
Script and style files are sent uncompressedWarningUncompressed code files take longer to download.
Script and style files aren't cachedWarningWithout cache headers, returning visitors download the same files again on every page.
Script and style files aren't minifiedWarningMinifying strips spaces and comments from code files, making them smaller.
Pages load over 2 MB of scripts and stylesWarningThat much code makes phones slow to show and use the page.
Pages load over 100 script and style filesWarningEach file is another request that slows the page down.
Pages fail Core Web Vitals for real visitors (Chrome UX Report)WarningChrome users' own visits show slow loading, slow responses or a jumping layout. Google uses this in rankings.
Your site fails Core Web Vitals for real visitors (Chrome UX Report)WarningAcross all your pages, real Chrome visitors find the site slow or jumpy.
Script and style files from other sites are missingNoticeA widget or tool your pages load from elsewhere is gone.
Pages show their main content slowly to visitors (Chrome UX Report)NoticeLargest Contentful Paint for real visitors is over 2.5 seconds.
Pages respond slowly to taps (Chrome UX Report)NoticeInteraction to Next Paint for real visitors is over 200 ms, so buttons and menus feel laggy.
Pages jump around while loading (Chrome UX Report)NoticeCumulative Layout Shift for real visitors is over 0.1: content moves as the page loads, causing mis-taps.
Pages are blank for a while for visitors (Chrome UX Report)NoticeFirst Contentful Paint for real visitors is over 1.8 seconds.
Pages' servers answer slowly (Chrome UX Report)NoticeTime to First Byte for real visitors is over 0.8 seconds.
Pages score below 90 for mobile speed (PageSpeed)NoticeLighthouse's mobile performance score is below the good band (90 to 100).
Pages show their main content slowly in testing (PageSpeed)NoticeIn Lighthouse's phone test the largest image or text block took over 2.5 seconds.
Pages jump around in testing (PageSpeed)NoticeIn Lighthouse's test the layout shifted by more than 0.1.
Pages are busy running scripts (PageSpeed)NoticeScripts blocked the page for over 200 ms in testing, so taps wait.
Pages are blank for a while in testing (PageSpeed)NoticeNothing appeared for over 1.8 seconds in Lighthouse's test.
Pages fill in slowly in testing (PageSpeed)NoticeThe page took over 3.4 seconds to visibly fill in on Lighthouse's phone test.
Pages wait for files before showing anything (PageSpeed)NoticeScripts and styles in the head hold up the first paint.
Pages' first responses are slow (PageSpeed)NoticeLighthouse found the document slow to arrive, redirected or uncompressed.
Pages hide text while fonts load (PageSpeed)NoticeText stays invisible until the web font arrives.
Pages are built from too many elements (PageSpeed)NoticeA very large page structure makes every change slow, often from page builders nesting boxes.
Pages find their main image late (PageSpeed)NoticeThe largest image is lazy-loaded or hidden in a script, so it starts downloading late.
Pages have elements that push content around (PageSpeed)NoticeLighthouse found what moves the layout: unsized images, late fonts or injected banners.
Pages make the browser redo their layout (PageSpeed)NoticeScripts read and change the layout in a way that stalls the page.
Pages send old-browser code to every browser (PageSpeed)NoticeCompatibility code for old browsers adds weight modern phones don't need.
Pages load the same code twice (PageSpeed)NoticeTwo plugins bundle the same library, doubling the download.
Pages load files over old HTTP/1.1 (PageSpeed)NoticeHTTP/2 and HTTP/3 load many files at once; HTTP/1.1 queues them.
Pages are slowed by other companies' scripts (PageSpeed)NoticeChat widgets, review badges, trackers and embeds from other sites take a big share of loading time.
Pages load files one after another (PageSpeed)NoticeFiles that only start once another has finished delay the page.
Pages are very heavy to download (PageSpeed)NoticeThe page downloads several megabytes, costly on mobile data.
Pages load styles they don't use (PageSpeed)NoticeMost of the CSS downloaded isn't used on the page.
Pages load scripts they don't use (PageSpeed)NoticeMuch of the JavaScript downloaded never runs on the page.
Pages spend long running JavaScript (PageSpeed)NoticePhones spend seconds running the page's scripts.
Pages keep the browser busy (PageSpeed)NoticeLayout, styles and scripts keep the phone's processor tied up.
Pages reload fully when visitors go back (PageSpeed)NoticeSomething on the page stops the browser keeping it ready for the Back button.
Pages have jerky animations (PageSpeed)NoticeAnimations that the browser can't hand to the graphics chip stutter.

Mobile

CheckSeverityWhat it means
Pages aren't set up for phonesErrorWithout a viewport tag phones show the desktop layout zoomed out, and Google ranks the mobile version of your site.
Pages don't fit the phone's widthErrorThe viewport tag doesn't say width=device-width, or fixes a pixel width, so the page doesn't adapt to the screen.
Pages have more than one viewport tagWarningBrowsers use one of them, maybe not the right one.
Pages stop visitors zooming inWarningThe viewport tag blocks or limits pinch-zoom, which people with poor eyesight rely on.
Pages use Flash or other dead pluginsWarningNo current browser or phone runs Flash or Java applets.
Pages have buttons too small to tap (PageSpeed)NoticeCall, book and menu buttons that are small or crowded are hard to hit on a phone.

Security

CheckSeverityWhat it means
Pages aren't secure (http://)ErrorBrowsers label http:// pages Not secure, which puts patients off, and Google prefers secure pages.
Your security certificate has expiredErrorBrowsers show a full-page warning instead of your site until it is renewed.
Your server still accepts outdated encryptionErrorSSL and TLS 1.0 and 1.1 are broken; browsers have dropped them.
Your security certificate is for a different addressErrorThe certificate doesn't cover this domain (or its www version), so browsers warn visitors.
Your server allows weak encryptionErrorOld ciphers can be cracked, exposing what visitors send.
Secure pages load insecure filesErrorImages, scripts or styles load over http:// on an https:// page. Browsers block them or drop the padlock.
The http:// version of your home page doesn't redirectErrorPeople who type your address without https:// get an insecure copy, and Google sees two home pages.
Pages send form details insecurelyErrorA contact or booking form posts to an http:// address, or sits on an insecure page, so patients' details travel unencrypted.
Your site doesn't use HTTPSWarningThe home page opens over http://, without encryption.
Your security certificate expires within 14 daysWarningAutomatic renewal normally happens a month ahead, so this suggests it is failing.
Your server doesn't support SNIWarningWithout SNI, a shared server may show the wrong certificate to some visitors.
Pages' forms put personal details in the addressWarningA form asking for an email, phone or message uses GET, so the details end up in browser history and server logs.
Your server lists the files in its foldersWarningAnyone can browse folders on the server and see files never meant to be public.
Your site doesn't insist on HTTPSNoticeAn HSTS header tells browsers to always use https://, skipping the insecure first request.
Pages have no Content Security PolicyNoticeA Content Security Policy limits which scripts can run, making injected code much harder to exploit.
Pages let browsers guess file typesNoticeWithout X-Content-Type-Options: nosniff, a browser may run a disguised file as a script.
Pages can be framed by other sitesNoticeAnother site could show your page inside its own and trick visitors into clicks.
Pages' forms don't say how they send detailsNoticeA form asking for an email, phone or message has no method, so if its script doesn't load, the browser puts the details in the address.
Pages rely on third-party cookies (PageSpeed)NoticeBrowsers are blocking cookies set by other sites, so embeds that need them may stop working.
Pages use browser features being removed (PageSpeed)NoticeCode that relies on them will break as browsers update.
Pages stop visitors pasting into fields (PageSpeed)NoticeBlocking paste frustrates people using password managers or copying their details.
Chrome reports problems on pages (PageSpeed)NoticeChrome's developer tools logged issues such as blocked cookies or mixed content.
Pages ask for the visitor's location straight away (PageSpeed)NoticeUnexpected permission prompts make people leave or say no.
Pages ask to send notifications straight away (PageSpeed)NoticeNotification prompts on arrival feel pushy.

Structured data

CheckSeverityWhat it means
Pages have structured data Google can't useErrorStructured data tells Google your address, hours and reviews. Here it has syntax errors or lacks required details, so Google ignores it.
Your site doesn't describe your practice as a dentist (AI search)WarningNo page carries Dentist or LocalBusiness structured data, so Google and AI tools can't reliably tie the site to your practice, address and hours.
Pages mark up reviews of your own practiceWarningGoogle never shows review stars a business publishes about itself, and markup that breaks its review rules can lead to a manual penalty.
Google rejected the structured data on pages (Search Console)WarningSearch Console found invalid items, so the page can't get rich results.
Pages' structured data is missing useful detailsNoticeGoogle recommends more properties than are present, such as a phone number, logo or image.
Pages have no structured dataNoticeStructured data helps Google and AI tools understand pages, such as articles, people or services.
Pages' practice details are incompleteNoticeYour Dentist or LocalBusiness data lacks details Google recommends, such as phone, opening hours or map position.
Pages describe the practice only as a general businessNoticeGoogle recommends the most specific type. Dentist says more than LocalBusiness or MedicalBusiness.
CheckSeverityWhat it means
Pages are blocked to AI search tools (AI search)Warningrobots.txt stops ChatGPT, Claude, Perplexity or Google's AI from reading these pages, so they can't recommend or quote you.
Your site has no llms.txt (AI search)Noticellms.txt is a proposed plain-text summary of your site for AI tools. It is optional: Google says its AI features don't need it.
Your llms.txt isn't laid out as expected (AI search)NoticeThe file should start with a # heading and list links as "- [name](address)".
Your llms.txt links to broken pages (AI search)NoticeAI tools following the file land on missing pages.
Pages stop Google quoting them (AI search)Noticenosnippet or max-snippet:0 keeps the page out of search snippets and Google's AI Overviews.
Pages have a very large amount of text (AI search)NoticeOver 50 KB of text on one page buries the answers; people and AI tools find what they need faster on focused pages.
Pages haven't been updated in 6 months (AI search)NoticeIts last-updated date is over 6 months old. Prices, team and hours go stale, and AI tools favour fresh pages.
Pages have little structure for machines to read (AI search)NoticeThe page is built from plain boxes without header, nav, main, article, section, aside or footer tags, so tools can't tell content from menus.
Pages are hard to scan (AI search)NoticeLong paragraphs, missing subheadings or skipped heading levels make it hard for patients and AI tools to pick out answers.

Accessibility

CheckSeverityWhat it means
Pages use ARIA attributes on the wrong elements (PageSpeed)NoticeScreen readers get confusing information about these elements.
Pages hide everything from screen readers (PageSpeed)Noticearia-hidden on the body makes the whole page silent to screen readers.
Pages have ARIA roles missing required details (PageSpeed)NoticeSome elements declare a role but not the attributes it needs.
Pages have ARIA lists or menus without their items (PageSpeed)NoticeA menu or list role is missing the child roles screen readers expect.
Pages have ARIA items outside their list or menu (PageSpeed)NoticeItem roles need the right parent to make sense.
Pages use ARIA roles that don't exist (PageSpeed)NoticeScreen readers ignore misspelled or invented roles.
Pages have ARIA attributes with invalid values (PageSpeed)NoticeInvalid values give screen readers wrong information.
Pages use misspelled ARIA attributes (PageSpeed)NoticeAttributes that don't exist are ignored.
Pages have buttons with no name (PageSpeed)NoticeIcon buttons without text are announced as just "button", so blind visitors can't tell what they do.
Pages reuse IDs that labels depend on (PageSpeed)NoticeLabels pointing at a repeated ID describe the wrong element.
Pages have form buttons with no text (PageSpeed)NoticeSubmit buttons without a value are announced without a purpose.
Pages have image buttons without alt text (PageSpeed)NoticeImage buttons need alt text to say what they do.
Pages have form fields without labels (PageSpeed)NoticeContact and booking fields with only placeholder text can't be identified by screen readers, and the hint disappears once typing starts.
Pages have dropdowns without labels (PageSpeed)NoticeA dropdown without a label is announced without saying what it chooses.
Pages have videos without captions (PageSpeed)NoticeDeaf visitors, and anyone watching with the sound off, miss what is said.
Pages repeat keyboard shortcuts (PageSpeed)NoticeThe same access key on two elements makes one unreachable.
Pages have ARIA buttons or links without names (PageSpeed)NoticeCustom buttons and links need a name for screen readers.
Pages use ARIA attributes where they don't apply (PageSpeed)NoticeSome ARIA attributes only work in certain situations.
Pages have pop-ups without a name (PageSpeed)NoticeScreen readers can't say what a pop-up is about.
Pages let keyboard users reach hidden elements (PageSpeed)NoticeKeyboard focus lands on things screen readers are told to skip.
Pages have custom fields without names (PageSpeed)NoticeCustom input widgets need a name for screen readers.
Pages have meters without names (PageSpeed)NoticeScreen readers can't say what the meter measures.
Pages have progress bars without names (PageSpeed)NoticeScreen readers can't say what is progressing.
Pages use ARIA attributes that aren't allowed (PageSpeed)NoticeSome roles forbid certain attributes, such as a label on plain text.
Pages have text roles containing buttons or links (PageSpeed)Noticerole="text" hides the button or link inside it.
Pages have switches without names (PageSpeed)NoticeCustom checkboxes and switches need a name.
Pages have tooltips without names (PageSpeed)NoticeScreen readers can't announce an empty tooltip.
Pages have tree menu items without names (PageSpeed)NoticeItems in an expanding menu need names.
Pages make keyboard users tab through the whole menu (PageSpeed)NoticeThere's no skip link, heading or landmark to jump to the content.
Pages have text that's hard to see (PageSpeed)NoticePale text on light backgrounds (or similar) is hard to read, especially for older patients and in sunlight.
Pages have badly built definition lists (PageSpeed)NoticeScreen readers can't pair terms and definitions.
Pages have definition items outside a list (PageSpeed)Noticedt and dd only make sense inside dl.
Pages have links that look like plain text (PageSpeed)NoticeLinks shown only by colour are invisible to colour-blind visitors.
Pages have badly built lists (PageSpeed)NoticeLists contain things other than list items.
Pages have list items outside a list (PageSpeed)NoticeScreen readers can't announce them as a list.
Pages have embedded objects without a description (PageSpeed)NoticeEmbedded objects need text describing them.
Pages change the keyboard order (PageSpeed)NoticeA tabindex above 0 makes the Tab key jump around unpredictably.
Pages have table cells pointing at missing headers (PageSpeed)NoticeScreen readers can't tell which header a price or time belongs to.
Pages have table headers that label nothing (PageSpeed)NoticeHeader cells should describe data cells.
Pages mark parts with an invalid language (PageSpeed)NoticeScreen readers pick the wrong voice for that text.
Pages have form fields with more than one label (PageSpeed)NoticeScreen readers may read only one of them.
Pages declare two different languages (PageSpeed)Noticelang and xml:lang disagree on the html tag.
Pages have skip links that go nowhere (PageSpeed)NoticeThe "skip to content" link can't receive focus or has no target.
Pages have no main section (PageSpeed)NoticeScreen reader users jump to the main landmark to skip menus.
Pages use retired ARIA roles (PageSpeed)NoticeRetired roles may stop working in screen readers.
Pages' forms don't help browsers fill them in (PageSpeed)NoticeValid autocomplete values let phones fill in name, email and phone in one tap, so more booking forms get finished.
Pages hide elements that still act like controls (PageSpeed)NoticeElements marked decorative are still focusable or labelled.
Pages have SVG images without a description (PageSpeed)NoticeSVGs marked as images need a title or label.
Pages repeat tables' captions in their summary (PageSpeed)NoticeScreen readers read the same words twice.
Pages give elements roles they can't have (PageSpeed)NoticeSome HTML elements can't take certain ARIA roles.
Pages have identical link text going to different places (PageSpeed)NoticeScreen reader users hear a list of links that all sound the same.
Pages have embeds without a titleNoticeMaps, videos and booking widgets in an iframe need a title so screen readers can say what they are.

Local & compliance

CheckSeverityWhat it means
Your website and Google profile show different details (Google profile)WarningYour name, address or phone on the website differs from your Google Business Profile. Google trusts details that match everywhere.
Your Google profile doesn't link to this website (Google profile)WarningThe website button on your Google Business Profile is missing, broken or goes to another site.
Your Google profile's phone number isn't on the website (Google profile)WarningNo page links or lists the number on your Google profile, so Google can't confirm they're the same practice.
Your site doesn't link to the GDC (UK only)WarningGDC guidance expects practice websites to give the General Dental Council's address or a link to gdc-uk.org.
Your site doesn't show GDC registration numbers (UK only)WarningGDC guidance expects each dental professional named on the site to show their registration number and qualifications.
Your site doesn't explain how to complain (UK only)WarningGDC guidance expects your complaints procedure on the website, and who patients can contact if unhappy with the outcome.
Your site doesn't show your CQC rating (UK only)WarningIn England, once the CQC has rated a practice, its website must show the rating and link to the report. Not doing so can lead to a fine.
Your website and Google profile show different opening hours (Google profile)NoticePatients who see two sets of hours may turn up when you're closed.
Pages have no tap-to-call linkNoticeMost people looking for a dentist are on a phone. A tel: link lets them call in one tap.
Pages have call links without the country codeNoticetel: links in international format (+44...) work for every caller, including visitors from abroad.
Pages have no way to bookNoticeA visible booking button turns interest into appointments, especially on treatment pages.
Your site has no mapNoticeA map on the contact page helps patients find you and confirms your location.
Pages load tracking before visitors agree (not in the US)NoticeAnalytics or advertising tags ran during our visit although we never accepted cookies. Privacy law requires consent first. Google's own tags are left out, since consent mode loads them before consent by design.

International

CheckSeverityWhat it means
Pages have invalid language codesErrorGoogle ignores hreflang codes it doesn't recognise, such as en-UK (it should be en-GB).
Pages list two pages for the same languageErrorGoogle can't tell which address is meant for that language.
Pages point to language versions that don't loadErrorAn alternate language address is missing, failing or redirected.
Pages' language versions don't point backErrorGoogle ignores a language pair unless both pages name each other.
Pages leave themselves out of their language listWarningEach version must list itself as well as the others.
Pages point to language versions that point elsewhereWarningAn alternate version names a different canonical, so the pair conflicts.
Pages point to language versions Google can't indexWarningAn alternate version is noindex or blocked by robots.txt.
Pages don't say what language they are inWarningWithout a lang attribute or hreflang, screen readers may use the wrong voice and search engines must guess.
Pages declare an invalid languageWarningThe lang attribute isn't a real language code.
Pages give two languages the same addressWarningOne page can't be both the English and the Italian version.
Pages use relative hreflang addressesWarningGoogle needs full addresses, https:// included, in hreflang.
Pages have hreflang outside the headWarningGoogle only reads hreflang links in the head.
Pages list only one language versionWarningA language set needs at least two versions to mean anything.
Pages have no default language versionNoticex-default tells Google which version to show everyone else.
Pages' hreflang and page language disagreeNoticeThe page lists itself under one language but its html tag declares another.

JavaScript

CheckSeverityWhat it means
Pages say noindex until JavaScript runsErrorGoogle reads the noindex in the page as sent and may never run the script that removes it, so the page stays out of search.
Pages say nofollow until JavaScript runsWarningGoogle may obey the nofollow before the script removes it.
Pages' canonicals are changed by JavaScriptWarningThe canonical in the HTML as sent differs from, or is removed in, the finished page. Google may use either.
Pages show most of their text only with JavaScript (AI search)WarningWithout scripts, less than half the text is there. Most AI tools don't run scripts, so they see a nearly empty page.
Pages get their canonical only from JavaScriptNoticeGoogle may index the page before it sees the canonical.
Pages' titles are set by JavaScriptNoticeThe title in the HTML as sent differs from the finished page. AI tools that don't run scripts see the first one.
Pages' descriptions are set by JavaScriptNoticeThe description changes after scripts run.
Pages' main headings are set by JavaScriptNoticeThe H1 changes or appears only after scripts run.
Pages show most of their links only with JavaScript (AI search)NoticeWithout scripts, less than half of the page's links to your site exist, so crawlers that don't run scripts can't move around.
Pages have JavaScript errors (PageSpeed)NoticeErrors in the browser console can break menus, forms or booking widgets.
Pages use Google's retired #! crawling schemeNoticeGoogle stopped supporting #! addresses years ago.
Pages load the same tracking code twiceNoticeThe same Google Analytics or Tag Manager ID loads more than once, which double-counts visits and conversions.

Sitemaps & robots.txt

CheckSeverityWhat it means
Your robots.txt has mistakesErrorLines crawlers can't read are ignored, so the rules may not do what you meant.
Your robots.txt can't be readErrorWhen robots.txt fails with a server error or endless redirects, Google stops crawling the whole site until it can read it.
Your robots.txt blocks Google from the whole siteError"Disallow: /" keeps every page out of Google. It is usually left over from when the site was being built.
Sitemaps can't be readErrorThe sitemap is missing, isn't valid XML, or isn't in the sitemap format, so Google can't use it.
Sitemaps are over the size limitErrorA sitemap may hold at most 50,000 addresses or 50 MB; past that it is ignored.
Addresses in your sitemap shouldn't be thereErrorThe sitemap lists pages that are missing, redirect, are noindex, blocked or point to another canonical. Google trusts sitemaps that list only live, indexable pages.
Your robots.txt is over Google's 500 KB limitWarningGoogle ignores rules past the first 500 KB.
Your site has no sitemapWarningA sitemap lists your pages so Google finds new and updated ones quickly.
Your robots.txt doesn't mention your sitemapWarningCrawlers other than Google look for the sitemap in robots.txt.
Addresses in your sitemap use http://WarningYour secure site's sitemap lists insecure addresses.
Your site has no robots.txtNoticeNot required, but robots.txt is where you point crawlers at your sitemap and keep them out of admin areas.
Addresses are listed in more than one sitemapNoticeHarmless, but it suggests two tools are making sitemaps.
Pages aren't in your sitemapNoticeGoogle may find these pages later than the ones your sitemap lists.

On this page