Core Web Vitals for dental websites: what actually moves bookings
Private patients do not wait for a 4MB hero video of a slow-motion smile. They are on a phone, often on the practice Wi-Fi they do not yet have, comparing two clinics before a school run. Core Web Vitals are the least romantic part of a dental website and one of the few that correlates with a form actually submitting.

Measure the page they land on
Homepage scores are a vanity metric in this sector. The money pages are Invisalign, implants, emergency, fees and the location page a Maps user hit. Run Lighthouse and, more importantly, CrUX field data on those URLs. A lab-only green circle on a cached desktop homepage is how agencies hide a 6-second mobile LCP on the implant gallery.
The usual dental offenders
Uncompressed before-and-after carousels. Autoplaying hero video. Three chat widgets. A review plugin that pulls the entire Google dump on first paint. A booking iframe that shifts the page when it wakes up. Cookie banners that steal the first tap. None of this is mysterious. It is a stack of “just one more” decisions.
Fix images first: modern formats, real dimensions, lazy-load everything below the first screen, and stop using a 3,000-pixel smile as a CSS background. Then kill the second chat vendor. Then make the booking embed reserve its height so the Book button does not jump.
INP is the one reception notices
Interaction to Next Paint is the delay after tap. On dental sites it shows up as “the form froze” and a patient who rang instead, or did not. Heavy page builders, unused animation libraries and third-party review popups are the usual cause. If a field takes half a second to focus, you will see it in abandoned forms before you see it in Search Console.
A sane target
Good field LCP on mobile for a treatment page. No layout jump on the cookie or booking modules. A form that accepts input immediately. You do not need a 100. You need a page that a parent can use one-handed outside school. That is the brief to give the developer, and it is more useful than “make it faster”.
What to tell the developer, exactly
Give them the five URLs that make money and the mobile CrUX numbers on each. Ask for a cap on third-party scripts and a budget for LCP image weight. Ask them to reserve space for the cookie banner, the booking embed and the review stars so CLS is not a surprise. If they work in a page builder, agree which blocks are banned on treatment pages: sliders, counters, background video, “just one more” animation.
Then agree a re-test after every plugin update. Dental sites go yellow again the week someone installs a new chat. Put the re-test in the retainer so it is not a favour. If the agency cannot talk about field data, they are decorating, not maintaining.
Hosting and the last mile
A slow origin will beat a beautiful image pipeline. If Time to First Byte is poor, fix hosting before you argue about WebP. If the booking iframe is served from a distant region, the page will feel broken even when Lighthouse is polite. Measure the embed separately. Patients do not care which vendor caused the spinner. They care that the next clinic’s button worked.
Photography still matters. Compress it. Do not delete it. A fast page of stock offices will lose to a slightly heavier page of your actual rooms. The job is to keep the real rooms and lose the junk around them.
A one-hour rescue list
If you only have an hour with a developer, do this in order. Replace the homepage and treatment hero with a correctly sized image. Lazy-load the gallery. Remove the second review widget. Give the booking embed a min-height. Stop the chat from loading on mobile until tap. Defer the analytics that are not the one conversion pixel you trust. Re-test the implant URL on a mid-range Android. That hour usually recovers more bookings than a brand refresh of the same cost.
Write the new baseline down. Next month you will need it, when someone adds a popup and swears it is light.
Share the monthly field report with the principal in one slide: the five URLs, mobile LCP, and whether a form was abandoned. If they can see the implant page losing a second, they will approve the next cull of widgets. If they only hear “Google likes speed”, they will approve another video. Make the vital signs as concrete as a broken autoclave: a number, a page, a patient action that did not happen.