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.
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.
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
Found by manual crawl, not the automated grader. They affect patients every day they're live — and none require a redesign.
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.
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.
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.
Repoint to the real profiles (facebook.com/campbelldental1, instagram.com/campbelldentaldetroit); delete the duplicate header block.
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.
Highest-urgency item on the list. Verify the production booking URL first, then point all CTAs to it.
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.
Reconcile to the dentists who actually practice here; feature them consistently; de-duplicate bios.
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
Estimated distribution — exact per-star counts are not published by Google. Keep nurturing this; it's the practice's best organic advantage.
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.
Add a crawlable, text-based NAP block (name, address, phone) to the footer and Contact page, matching the GBP exactly.
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.
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.
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.
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.
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.
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.
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.
Every image lacks an alt attribute — a miss for accessibility and image search alike.
FixAdd descriptive, location-aware alt text on all content images.
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.
The body mentions the right words, but none appear in title tags, meta, or headers — so they do no ranking work.
Fix priority: sitemap, robots.txt, and schema first — foundational for both crawl and AI. Confirm the 12 post-op document pages are intentionally indexable.
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.
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.
Add Identity + LocalBusiness schema, publish an llms.txt, and raise the share of crawlable server-rendered text.
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.
Server response is fast (0.06 s). The drag is unused JS (≈14.6 s mobile savings) and uncompressed imagery.
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.)
133
Total backlinks
106
Referring domains
26
Domain strength
8
Page strength
0
.edu / .gov links
Domain strength is only 26 despite 106 referring domains — a tell that the links are low quality. The red flags:
Audit and file a Google disavow for the spam domains; monitor for negative-SEO patterns.
Real, high-value links exist. Keep them — and align the business name across all of them (see §2.4).
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.
The mass at 31–100 is the opportunity: "dentist Detroit," "dental implants Detroit," "emergency dentist Detroit."
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.
Start with the items that stop the bleeding — they're low effort and high impact — then build the foundation, then grow authority.
Server IP 198.202.211.1 · DNS domaincontrol.com (GoDaddy) · Web server Cloudflare
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.
Get in touch with our team.