Audit captured 2026-06-02

Schema is excellent. robots.txt is broken.
PHP 7.4 has been EOL for 3 years.

bestsmile.us has strong on-page schema (Dentist + Organization + AggregateRating present) and 4.9★ / 561 Google reviews. But the homepage is on PHP 7.4 (security risk — EOL November 2022), robots.txt is malformed at the foundation level, and the 1.4 MB HTML payload is producing a 9.4s mobile LCP.

Lighthouse Mobile
53Poor — Good = 90+
Largest Contentful Paint
9.36sPoor — 3.7x Good cutoff
Schema status
StrongDentist + AggregateRating
Off-site authority
294 + 331schema-declared per location

Domain: bestsmile.us · Business: Cosmetic + general + emergency dentistry · Service area: Miramar + Pembroke Pines, FL · Broward County

Scope: This audit covers your homepage only. Service pages, blog posts, and location pages were not crawled in this pass and may have additional findings. Recommended next step if you engage: a full per-page sweep.
46
Overall SEO Health
Critical — multiple urgent fixes
Technical SEO
35
Content quality
65
On-page SEO
55
Structured data
80
Performance / CWV
25
AI search readiness
30
Local SEO
70
01 · TL;DR

Read this if nothing else.

Schema and content are done well. The site is held back by infrastructure issues: PHP 7.4 (EOL), a broken robots.txt missing User-agent + Allow + Sitemap directives, and a 1.4 MB HTML payload from page-builder bloat.

!

robots.txt is malformed

Missing User-agent: directive (5 fails on audit). Missing Allow: /. Missing Sitemap:. Without User-agent:, the Disallow: rules technically apply to no one. Affects all crawlers, including Google. 10-minute fix.

!

PHP 7.4 has been End-of-Life for 3+ years

x-powered-by: PHP/7.4.33. PHP 7.4 EOL was November 2022. No security patches since. Compounded by the fact that the version is publicly exposed via response header. WordPress hosts have free upgrade paths to PHP 8.2+.

!

No <h1> heading

Grep on the homepage HTML returns zero <h1> matches. With strong schema but no H1, you're emitting the structured signal but missing the textual one.

1.4 MB HTML payload

The homepage HTML is 1.4 MB raw — unusually large. Almost certainly page-builder (Divi or Elementor) bloat: inlined CSS, inlined JS, inlined JSON-LD all rendered into the source. Root cause of the 9.4s LCP.

Schema graph is strong

Dentist, Organization, PostalAddress, AggregateRating all emitting. Multi-location practice — verify both Miramar and Pembroke Pines are emitted as separate entities.

Two phone numbers in HTML

(954) 248-2601 and (954) 431-8484. Presumably one per location. Verify each is correctly associated with its location in schema.

02 · Top must-do this week

Four foundational fixes. The first is 10 minutes.

Priority order. In this sequence.

The cosmetic work (schema, content) is done. The plumbing is broken. Fix the plumbing.

#ActionWhy it mattersEffort
1Fix robots.txt — 10-minute foundational fix. Required block:
User-agent: *\nAllow: /\nDisallow: /wp-admin/\nAllow: /wp-admin/admin-ajax.php\n\nSitemap: https://www.bestsmile.us/sitemap_index.xml
Without User-agent, all your other robots.txt rules are non-binding. This is the foundation of crawl access. Fix this first.10 min
2Upgrade PHP from 7.4 to 8.2+. WordPress hosts (SiteGround, Kinsta, WP Engine, Cloudways) all support 8.2+. Test in staging first. Hide the x-powered-by header too.PHP 7.4 has been unpatched for 3+ years. Public version exposure plus EOL = vulnerability scanner red flag. Performance also lifts 20-30% on 8.2 vs 7.4.4-8 hr
3Fix the 9.4s LCP — diagnose the 1.4 MB HTML. Identify the page builder (Divi or Elementor most likely). Disable unused modules. Enable critical-CSS inline + defer non-critical JS. Optimize hero image.At 9s LCP, mobile bounce rate is ~70%+. Site has the authority to convert; visitors aren't waiting around to see it.8-16 hr
4Add a proper <h1>. Example: 'Cosmetic + Family Dentistry in Miramar & Pembroke Pines, FL'.Free ranking weight.5 min
5Verify both locations are separate schema entities. Multi-location practices should emit two Dentist or Place entities, one per address.Combining locations dilutes local-pack eligibility for each city.1-2 hr
6Add 14 AI-crawler allows + ship llms.txt. In the new robots.txt.AI search is 22% of queries. Without explicit access, invisible to those queries.30 min
03 · Technical SEO

What the live HTML actually says.

Live HTML pulled from www.bestsmile.us on 2026-06-02 (apex redirects to www via 301). Server: PHP 7.4.33 + WordPress + Yoast SEO.

Stack detected

CMSWordPress
PHP7.4.33 EOL since Nov 2022 + version exposed
SEO pluginYoast
Page builderLikely Divi or Elementor (1.4 MB HTML payload)
robots.txt5 audit failures
01 CRIT

robots.txt missing User-agent / Allow / Sitemap

Without User-agent:, the file's rules are not bound to any crawler. Audit shows 5 fails on a single file.

evidence: audit-seo-files.sh: 5 FAILs on robots.txt

Fix: Replace the file with the standard block above.
02 CRIT

PHP 7.4 EOL + version exposed

No security patches since November 2022. x-powered-by: PHP/7.4.33 publicly visible.

evidence: Response header: x-powered-by: PHP/7.4.33

Fix: Upgrade to PHP 8.2+ via hosting control panel. Hide x-powered-by via .htaccess or web.config.
03 CRIT

No H1 tag

evidence: grep -oE '<h1[^>]*>[^<]*</h1>' home.html → empty

Fix: Add a descriptive H1 in the hero.
04 WARN

1.4 MB HTML payload

Unusually large. Page-builder is rendering massive amounts of inlined CSS, JS, and JSON-LD into the source.

evidence: wc -c home.html → 1,418,774

Fix: Disable unused page-builder modules. Move CSS to external sheets. Lazy-load below-fold content.
05 OK

Schema graph correct

Dentist + Organization + PostalAddress + AggregateRating present.

evidence: grep -oE '"@type"' home.html shows 10+ types

Fix: Verify both locations are separate entities.
04 · Performance / Core Web Vitals

9.4s LCP. Root cause: 1.4 MB HTML payload.

Lighthouse mobile lab data, captured 2026-06-02. Google's Good zone: LCP <2.5s, FCP <1.8s, CLS <0.1, TBT <200ms.

53
Lighthouse Score
9.36s
LCP
0.082
CLS
!

LCP is 3.7x the Good zone — and the cause is page-builder bloat

A 1.4 MB HTML payload is unusually large for a dental site. Most well-built WP sites are 50-200 KB. Almost certainly Divi or Elementor rendering massive amounts of inlined CSS / JS / JSON-LD into the source. Disabling unused page-builder modules typically cuts this 60-80%.

05 · Structured data (Schema.org)

Schema is the strength of this site.

Dentist + Organization + PostalAddress + AggregateRating is the right baseline for a multi-location dental practice.

Detected types: Dentist, Organization, AggregateRating, PostalAddress, BreadcrumbList, plus standard Yoast graph types.

One thing to verify: the practice has two locations (Miramar + Pembroke Pines). Multi-location practices should emit two distinct entities, each with its own NAP, hours, and phone. Combining dilutes local-pack eligibility for each city.

07 · Local SEO

How your business appears in local search.

Two locations confirmed in HTML: 12741 Miramar Pkwy (Miramar 33027) + 500 N Hiatus Rd (Pembroke Pines 33026). Schema declares two AggregateRating entries: 4.8★ / 294 and 4.9★ / 331. Phones (954) 248-2601 + (954) 431-8484. Dr. Laura Gonzalez named on homepage.

Two-location practices should treat each location as its own SEO entity. Each location page should have its own H1, meta, dedicated Dentist schema with that location's NAP, and ideally its own reviews snippet. The schema already declares two AggregateRating entities (294 + 331 reviews) — verify each is correctly bound to its location.

E-E-A-T opportunity: Dr. Gonzalez is named on the homepage but specific credentials and training history aren't surfaced. For cosmetic dentistry specifically, surfacing credentials (university, fellowships, professional society memberships) is a documented conversion driver. Recommended: a doctor-bio page with full credentials and Person + EducationalCredential schema.

08 · Prioritized roadmap

The order to do this work in.

Ranked by impact divided by effort. Estimates assume a competent WordPress developer.

#ActionEffortImpact
1Fix robots.txt (User-agent + Allow + Sitemap)10 minVery high
2Upgrade PHP from 7.4 to 8.2+4-8 hrHigh (security + perf)
3Fix LCP — disable unused page-builder modules8-16 hrExtreme
4Add proper <h1>5 minHigh
5Split schema into two location entities1-2 hrMedium-high
6Add 14 AI-crawler allows + llms.txt30 minMedium
7Per-procedure pages (veneers, whitening, Invisalign, implants)8-16 hrHigh
8Reduce CLS — width/height attributes on every image2-4 hrMedium