SEO Audit — Campbell Dental & Orthodontics
Dental Authority Sites
SEO Audit · Prepared June 26, 2026
SEO & Growth Audit · Dental

A trusted local practice with a website that's holding it back.

Campbell Dental & Orthodontics ranks #1 for its own name and holds a 4.7-star reputation across 852 reviews — but the website doesn't yet reflect that strength. This audit walks through what we found and the order to address it.

campbelldental1.com 5705 W. Vernor Hwy · Detroit, MI 48209 Webflow · Cloudflare
Overall grade
C
Your page could be better
27 prioritized recommendations
The scorecard

Strong brand visibility and excellent reviews, sitting on a weak technical foundation.

Performance grades well on raw load, but on-page SEO and AI-search readiness drag the practice down. The visibility is real; the foundation underneath it is thin.

Performance A+ Links C+ Usability C On-Page D GEO · AI F
A+
Performance
Fast raw load & page weight — but mobile PageSpeed tells a worse story.
C+
Links
133 backlinks across 106 domains, but the profile is partly toxic.
C
Usability
Mobile speed and embedded iframes drag the experience down.
D
On-Page SEO
Thin content, generic titles, no meta descriptions, no schema.
F
GEO · AI Search
Invisible to AI answer engines — the cheapest edge available.
Executive summary

A genuinely strong local brand — held back by fixable defects, not a broken build.

Campbell Dental & Orthodontics ranks #1 for its own name, pulls an estimated 3,900 organic visits a month, and holds a 4.7-star reputation across 852 reviews — a real local advantage. The website, though, isn't yet doing it justice.

It displays as many as five different phone numbers (none matching the number on Google), links social icons to an unrelated business in Florida, routes its main "Book" button to what looks like a test scheduler, and shows a doctor roster that contradicts the homepage. Underneath, the technical foundation is thin — no schema, no sitemap, no meta descriptions, 512 words of body copy, and a 38/100 mobile PageSpeed score. The backlink profile is partly toxic and likely needs a disavow.

None of this requires a rebuild. It requires a focused remediation pass, sequenced in §10.

3,900

Est. monthly organic visits — but mostly branded terms

4.7

Google rating across 852 reviews — the standout asset

27

Prioritized fixes detailed in this report

§1 · Critical trust defects
P0 · Critical

The defects to fix first

Found by manual crawl, not the automated grader. They affect patients every day they're live — and none require a redesign.

1.1 — The website shows up to five phone numbers. None match Google.

P0

This is the single most important fix in the audit. On the Contact page, the number a visitor reads (787-8814) differs from the number their phone dials when tapped (842-3772) — and not one of these is the number Google shows patients.

Number
Where it appears
(313) 921-5516
Google Business Profile — the canonical number. Not shown anywhere on the website.
(313) 961-1862
Homepage "$49" popup CTA + Dental Emergency page
(313) 842-3771
Site header ("Call Us Today"), every page
(313) 842-3772
Contact-page click-to-call link — one digit off the header
(313) 499-0141
Footer phone icon (tel: link), every page
(313) 787-8814
Footer ADA line + the contact page's visible "Give Us a Call" text
Fix

Choose one number — ideally a single CallRail tracking line that forwards to the front desk — hard-code it in every template slot, and make the Google Business Profile match byte-for-byte.

1.2 — Social & map icons link to a different, unrelated business

P0

A site-wide secondary nav block points its Facebook, Instagram, and Google Maps icons to Ocean One Stuart — a restaurant in Florida — leftover scaffolding from the Webflow template this site was cloned from. The correct profiles already exist in the footer.

Fix

Repoint to the real profiles (facebook.com/campbelldental1, instagram.com/campbelldentaldetroit); delete the duplicate header block.

1.3 — The primary "Make an appointment" button points to a test account

P0

Every booking CTA links to flexbook.me/testcampbe/. The testcampbe slug strongly implies a sandbox, not the live scheduler. If so, online appointment requests may be going nowhere.

Fix

Highest-urgency item on the list. Verify the production booking URL first, then point all CTAs to it.

1.4 — The homepage doctor contradicts the "Meet the Doctors" page

P0

The homepage features one dentist — Dr. G. Ghannam, DDS (U-M, 1985). The Meet the Doctors page lists a completely different group — Koleilat, Sayed, Ayoubi, Mahjoub, Elmuradi — some with out-of-state (Ohio) affiliations, and at least two bios duplicated. For a medical/YMYL site, contradictory provider info erodes both rankings and patient trust.

Fix

Reconcile to the dentists who actually practice here; feature them consistently; de-duplicate bios.

1.5 — Stale, contradictory signals throughout

P1
+Footer reads "Copyright 2024" — it's 2026.
+A COVID-era "Keeping Our Patients & Team Safe" banner still runs site-wide, linking off-domain to minidentalimplantsdetroitmi.com.
+Promos conflict: a $49 cleaning popup vs a $79 cleaning card vs a $2,999 implant offer vs "Free Exam & X-Rays" — no single clear new-patient offer.
+Dr. Ghannam's bio says "over 20 years" but cites a 1985 graduation (~40 years).
§2 · Local SEO & Google Business Profile
P0

Where a Detroit practice wins or loses

The profile itself is excellent. The website's local signals are not — and that gap is costing rankings.

4.7

Google rating

852

Reviews

Claimed

Profile claimed & linked

Pass · Strongest asset
Review star distribution
5 ★
~702
4 ★
~70
3 ★
~15
2 ★
~15
1 ★
~50

Estimated distribution — exact per-star counts are not published by Google. Keep nurturing this; it's the practice's best organic advantage.

2.2 — The website doesn't even display its own address

P0

The grader couldn't find a NAP block on the page (missing address; it only detected phone 961-1862). The address lives only inside an embedded map iframe — invisible to most parsers.

Fix

Add a crawlable, text-based NAP block (name, address, phone) to the footer and Contact page, matching the GBP exactly.

2.3 — No Local Business schema

P1

No LocalBusiness / Dentist structured data anywhere. Add JSON-LD with NAP, geo, hours, and sameAs socials; Physician per provider; AggregateRating tied to the 852 reviews.

2.4 — Brand-name inconsistency across citations

P1

The entity appears as "Campbell Dental," "Campbell Dental & Orthodontics," "Campbell Orthodontics" (CareCredit), and "MyG Dental" (DemandForce). Search engines read this as a fuzzy, less-trustworthy entity. Pick one name; set it everywhere.

2.5 — The Mexicantown / 48209 bilingual opportunity

Opportunity

The practice already flags "Hablamos español" and sits in Southwest Detroit, where few competitors target Spanish-language demand. Build dedicated /es/ service pages, translate the GBP description, and target "dentista en Detroit" intent.

§3 · On-Page SEO
Grade D

The content needs more depth

3.1 — Title tags are generic and far too short

P0

Homepage title is "Campbell Dental | Home" — just 22 characters (target 50–60), no location, no service. Other pages title verbatim as "Contact," "General Dentistry," etc.

FixRewrite all ~40 titles to [Service] in Detroit, MI | Campbell Dental & Orthodontics.

3.2 — Meta descriptions are missing

P1

No meta description detected — Google auto-generates the snippet, forfeiting message control and click-through.

FixWrite unique 150–160 character descriptions on every indexable page.

3.3 — Thin content

P1

Word count is 512. Service pages run on 1–3 sentences, partly duplicated on-page.

FixExpand core service pages to 500–800 words of unique, locally-relevant copy.

3.4 — Duplicate H1 + heavy header sprawl

P1

More than one H1 on the homepage. Header frequency: H2 ×16, H3 ×18, H4 ×14. The "$49" modal markup repeats ~12× in source.

FixOne H1 per page; collapse the repeated modal to a single instance.

3.5 — 40 of 40 images missing alt text

P2

Every image lacks an alt attribute — a miss for accessibility and image search alike.

FixAdd descriptive, location-aware alt text on all content images.

3.6 — No canonical · no lang · no hreflang

P1

Compounds the www/non-www split: the root serves non-www, but Google indexes www.

FixAdd self-referencing canonicals, set lang="en", and 301 to one host.

Keyword distribution — present on the page, absent where it counts

The body mentions the right words, but none appear in title tags, meta, or headers — so they do no ranking work.

Top single keywords
dental12
learn11
teeth7
dentistry4
Top phrases
dental implants3
same day2
dental emergency2
missing teeth2
§4 · Technical SEO
Mixed

Secure transport, missing crawl basics

Fix priority: sitemap, robots.txt, and schema first — foundational for both crawl and AI. Confirm the 12 post-op document pages are intentionally indexable.

Check
Status
SSL / HTTPS redirect
✓ Pass
HTTP/2 + HTTP/3
✓ Pass
robots.txt
✕ Not found
XML sitemap
✕ Not found
Schema.org structured data
✕ None detected
Canonical tag
✕ Missing
Inline styles (Webflow)
⚠ Present
iFrames (Maps + YouTube)
⚠ Present
JavaScript errors
✓ None
Analytics / GTM
✓ Present
Read this first

Transport security is excellent — SSL, HSTS, HTTP/3 all pass. The gap is everything search engines need to understand the site: no robots.txt, no sitemap, no schema, no canonical.

Inline styles and iframes (Maps + YouTube) are Webflow artifacts — not fatal, but they bloat the page and block clean parsing. Canonicalize or noindex the post-op document pages if they aren't meant to rank.

§5 · GEO / AI Search readiness
Grade F

Invisible to AI answer engines — and that's the cheapest edge available.

Most local dental sites also score F here. Moving early is a low-cost way to get found in AI Overviews and chat assistants before competitors do.

0
AI Overview traffic — the site captures nothing from answer engines
16%
Rendered content LLMs can read easily — the rest is locked behind JS
None
Identity schema or llms.txt — LLMs can't attribute ownership
Fix

Add Identity + LocalBusiness schema, publish an llms.txt, and raise the share of crawlable server-rendered text.

§6 · Performance & Core Web Vitals
Grade A+ *

A+ on paper. A serious asterisk on mobile.

The grader's raw load/size score is A+. But Google's real-world PageSpeed Insights tells a worse story — especially on mobile, where Largest Contentful Paint hits 38.3 seconds. We show both; we don't hide the conflict.

Metric
Mobile
Desktop
PageSpeed score
38
45
Largest Contentful Paint
38.3 s
1.9 s
Time to Interactive
39 s
9.5 s
First Contentful Paint
2.4 s
0.6 s
Page weight: 3.98 MB
Images = 2.69 MB at 0% compression
Images — uncompressed · 2.69 MB
Scripts, fonts & other · 1.29 MB

Server response is fast (0.06 s). The drag is unused JS (≈14.6 s mobile savings) and uncompressed imagery.

Fix

Compress and serve next-gen images, defer unused JS, and reduce redirects. The 38.3 s mobile LCP is the single biggest performance liability. (Core Web Vitals show "insufficient real-world data" — typical for low-traffic sites.)

§7 · Backlinks & off-page
Grade C+

A profile that needs a clean-up, not a campaign

133

Total backlinks

106

Referring domains

26

Domain strength

8

Page strength

0

.edu / .gov links

7.1 — The profile is partly toxic and likely needs a disavow

P1

Domain strength is only 26 despite 106 referring domains — a tell that the links are low quality. The red flags:

+Anchor "Start Own SEO business" ×36 — unrelated and manipulative.
+Telegram link-scheme anchors: "JOIN OUR TELEGRAM …darksidelinks", "…quarterlinks25".
+Spam referring domains: seo-tip.com, wants.cfd, takes.sbs, urls-shortener.eu.
+TLD/geo skew: heavy .cfd / .sbs / .top and NL 36 · FI 18 · FR 14 domains — a foreign PBN footprint.
Fix

Audit and file a Google disavow for the spam domains; monitor for negative-SEO patterns.

Pass · Protect these

7.2 — Legitimate citations to keep

Real, high-value links exist. Keep them — and align the business name across all of them (see §2.4).

Indeed (97) CareCredit (91) DemandForce (83) find-us-here wimgo fyple
§8 · Rankings & visibility
Opportunity

Visible — but almost only for its own name

Nearly all traffic is branded. The only meaningful non-brand foothold is "vernor dental care" (#6). But 118 keywords sit at positions 31–100 — a deep pool of near-miss terms ready to push onto page one with the on-page fixes above.

Keyword position distribution
Pos 1
7
Pos 2–3
1
Pos 4–10
8
Pos 11–20
19
Pos 21–30
21
Pos 31–100
118

The mass at 31–100 is the opportunity: "dentist Detroit," "dental implants Detroit," "emergency dentist Detroit."

Keyword
Pos
Vol/mo
Traffic
campbell dental
1
2,900
882
campbell dentist
1
2,900
882
campbells dentist
1
2,900
882
dentist campbell
1
320
97
campbell dental detroit
1
170
52
vernor dental care
6
590
20
campbell dds
1
40
12
bell dental
71
2,900
6
§9 · Social & email deliverability
P2 · Quick wins

Quick wins still on the table

Two of these matter more than the rest: a missing SPF and DMARC record leave the practice's email open to spoofing and weak deliverability.

Signal
Status
Facebook page
✓ campbelldental1
Instagram
✓ campbelldentaldetroit
X / Twitter
✕ None
LinkedIn
✕ None
YouTube
✕ None
Facebook Open Graph tags
✕ Missing
X Cards
✕ Missing
SPF record
✕ Missing
DMARC record
✕ Missing
§10 · Prioritized roadmap

Sequenced for real-world impact, not generic severity.

Start with the items that stop the bleeding — they're low effort and high impact — then build the foundation, then grow authority.

1
Week 1Low effort · high impact

Stop the bleeding

+Verify the booking link isn't a test account; repoint all CTAs.
+Unify to one phone number across the site; match the Google Business Profile (921-5516).
+Remove the Ocean One Stuart links; delete the duplicate header block.
+Add a crawlable text NAP block to footer + Contact.
+Retire stale signals — copyright year, COVID banner, conflicting offers.
2
Weeks 2–4Medium effort

Foundation & signals

+Reconcile the doctor roster; de-duplicate bios.
+Rewrite all titles + meta descriptions (service + Detroit + brand).
+Add LocalBusiness / Dentist / Physician / Organization / AggregateRating schema.
+Resolve www/non-www (301 + canonicals); add lang; publish robots.txt + XML sitemap and submit to Search Console.
+Add SPF + DMARC; add OG/X tags; add image alt text.
3
Months 2–3Ongoing

Growth & authority

+File the backlink disavow; align business name across all citations.
+Expand service pages to 500–800 words; launch a local content hub.
+Compress images + defer unused JS (kill the 38 s mobile LCP).
+Build /es/ bilingual pages for the Mexicantown market.
+Add llms.txt + raise rendered-content ratio for AI search.
+Stand up a review-generation flow feeding the GBP.
Appendix A · Full recommendation list

All 27 recommendations

On-Page SEO
11
+XML sitemap
+robots.txt
+Meta description
+Lengthen title
+Canonical tag
+Remove duplicate H1
+Schema markup
+Keyword distribution
+Image alt attributes
+Increase text content
+lang attribute
Usability
3
+Optimize mobile PageSpeed
+Optimize desktop PageSpeed
+Remove iFrames
Performance
1
+Remove inline styles
GEO
2
+llms.txt
+Identity schema
Local / Social / Other
10
+Local Business schema
+Add address + phone to site
+X profile
+YouTube channel
+LinkedIn profile
+Facebook OG tags
+X cards
+Facebook pixel
+SPF record
+DMARC record
Appendix B · Technology stack
Cloudflare Google Analytics Google Tag Manager Google Font API Google Hosted Libraries jQuery HSTS HTTP/3

Server IP 198.202.211.1 · DNS domaincontrol.com (GoDaddy) · Web server Cloudflare

Appendix C · Methodology

Findings combine an automated SEO grader (grades, rankings, backlinks, PageSpeed, GBP data) with a manual crawl of the homepage and contact page — the trust defects in §1, which automated tools don't surface. Core Web Vitals show "insufficient real-world data" per Google. Category grades are diagnostic, not absolute benchmarks.