Veterinary Roots has already built the hardest asset in local marketing — a genuine reputation across five claimed Google listings, all still collecting reviews this month. The websites underneath are throwing it away. Every figure in this report was measured directly from the live properties.
| property | domain | pages | indexable | orphans | median words | images w/o alt |
|---|---|---|---|---|---|---|
| Bothell Pet Hospital | bothellpethospital.com | 509 | 45 | 449 | 914 | 946 |
| Elliott Bay Animal Hospital | elliottbayah.com | 36 | 35 | 12 | 269 | 84 |
| Lynnwood Animal Hospital | lynnwoodanimalhospital.com | 38 | 37 | 3 | 674 | 152 |
| Rainier Veterinary Hospital | rainiervet.com | 126 | 49 | 88 | 1,466 | 212 |
| Fir Grove Veterinary Hospital | firgrovevet.com | 17 | 16 | 3 | 305 | 32 |
| Veterinary Roots (group) | vetroots.com | 18 | 18 | 1 | 836 | 171 |
| Rainier Animal Fund | rainieranimalfund.org | 98 | 96 | 34 | 628 | 158 |
Bothell Pet Hospital is the largest site in the group — and 464 of its 509 pages (91%) are telling Google they are duplicates of something else. They cannot rank.
/staging/2169/* — which returns HTTP 406Root cause: a WordPress migration off a staging install where the canonical tags were never
repointed. bothellpethospital.com/services/ still declares
bothellpethospital.com/staging/2169/services/ as its canonical, and that URL is dead.
Verified three ways: the full crawl corpus, plus independent live fetches of
/about-leptospirosis/, /a-weighty-issue-dog-or-cat-obesity/ and
/services/ on 2026-07-21. Independently corroborated by DataForSEO’s own crawler,
which could only reach 84 of the 509 pages by following links.
Knock-on effects: 329 blog posts and 76 service pages sit in the canonicalised-away set;
449 of 509 pages are orphans unreachable from the homepage; 319 URLs are /tag/
archive bloat. This is a single configuration fix with the largest surface of anything in this report.
Elliott Bay carries the entire group. Its estimated traffic (54,114/mo) is roughly five times every other property combined — on the strength of a #7 position for “veterinarians near me emergency”.
| property | keywords | top‑3 | top‑10 | est. monthly traffic | striking distance |
|---|---|---|---|---|---|
| Bothell Pet Hospital | 395 | 5 | 24 | 1,746 | 23 |
| Elliott Bay Animal Hospital | 732 | 11 | 65 | 54,114 | 85 |
| Lynnwood Animal Hospital | 844 | 8 | 53 | 5,590 | 65 |
| Rainier Veterinary Hospital | 1,000 | 10 | 32 | 2,825 | 55 |
| Fir Grove Veterinary Hospital | 210 | 9 | 34 | 2,357 | 15 |
| Veterinary Roots (group) | 403 | 1 | 18 | 692 | 16 |
| Rainier Animal Fund | 714 | 1 | 17 | 722 | 16 |
These already rank on page two. Moving them is editing, not building.
| property | rank | US volume/mo | keyword |
|---|---|---|---|
| Elliott Bay Animal Hospital | #28 | 450,000 | emergency dog clinics near me |
| Elliott Bay Animal Hospital | #12 | 90,500 | animal hospital |
| Elliott Bay Animal Hospital | #16 | 40,500 | veterinarian 24 hour near me |
| Lynnwood Animal Hospital | #29 | 110,000 | vet for emergency |
| Lynnwood Animal Hospital | #17 | 74,000 | day care for dog near me |
| Lynnwood Animal Hospital | #11 | 27,100 | urgent care veterinarian |
| Rainier Veterinary Hospital | #29 | 5,400 | seattle animal medical center |
| Rainier Veterinary Hospital | #20 | 2,400 | cat over grooming |
| Rainier Veterinary Hospital | #25 | 2,400 | cat is over grooming |
| Bothell Pet Hospital | #12 | 2,400 | elliott bay animal hospital |
| Bothell Pet Hospital | #22 | 1,900 | howdershell animal clinic |
| Bothell Pet Hospital | #17 | 1,300 | bothell pet & feed supply |
| Fir Grove Veterinary Hospital | #12 | 1,600 | puyallup valley veterinary clinic puyallup wa |
| Fir Grove Veterinary Hospital | #18 | 1,600 | fair grove vet |
| Fir Grove Veterinary Hospital | #11 | 1,000 | roadrunner pharmacy |
The tell in Bothell’s list: it ranks #12 for “elliott bay animal hospital” — a sister hospital’s brand — and for competitors’ names, but not for its own services. Fir Grove is the same: it ranks for “puyallup valley veterinary clinic” and for “fair grove vet”, a misspelling of itself.
Not one of the seven properties clears 70 on mobile performance. Bothell sits at 28, inside Lighthouse’s red band.
| property | perf mobile | perf desktop | accessibility | SEO | field CWV | DFS OnPage score |
|---|---|---|---|---|---|---|
| Bothell Pet Hospital | 28 | 44 | 86 | 85 | AVERAGE | 78.65 |
| Elliott Bay Animal Hospital | 45 | 42 | 77 | 85 | — | 94.16 |
| Lynnwood Animal Hospital | 47 | 35 | 89 | 85 | — | 98.18 |
| Rainier Veterinary Hospital | 56 | 55 | 72 | 77 | AVERAGE | 87.9 |
| Fir Grove Veterinary Hospital | 53 | 68 | 88 | 100 | — | 77.88 |
| Veterinary Roots (group) | 50 | 55 | 95 | 85 | — | 95.95 |
| Rainier Animal Fund | 56 | 66 | 86 | 85 | — | 96.22 |
WeissStd.ttf and WeissStd-Bold.ttf.www.rainieranimalfund.org does not resolve at all (NXDOMAIN). Only the
apex works, so anyone typing “www” reaches a dead page.bothellpethospital.com/staging/2169/* returns HTTP 406 while being cited as
the canonical URL for 25 pages.This is the good news, and it should be said first: the local layer is healthy. All five hospitals hold claimed Google Business Profiles, every phone number matches the website exactly, and 2,403 reviews were pulled in full — expected count equalled returned count on every listing, so nothing here is sampled.
| listing | rating | reviews | claimed | 2024 | 2025 | 2026 YTD | newest review | phone vs site |
|---|---|---|---|---|---|---|---|---|
| Firgrove Veterinary Hospital | 4.6 | 896 | ✓ | 75 | 80 | 40 | 2026-07-19 | ✓ match |
| Bothell Pet Hospital | 4.8 | 527 | ✓ | 49 | 37 | 20 | 2026-07-06 | ✓ match |
| Rainier Veterinary Hospital | 4.6 | 466 | ✓ | 35 | 43 | 19 | 2026-07-10 | ✓ match |
| Elliott Bay Animal Hospital | 4.8 | 355 | ✓ | 33 | 17 | 32 | 2026-07-15 | ✓ match |
| Lynnwood Animal Hospital | 4.4 | 159 | ✓ | 15 | 17 | 13 | 2026-07-08 | ✓ match |
The nonprofit outranks every hospital. Rainier Animal Fund carries the strongest domain authority the group owns — and the corporate site is the weakest thing they have.
| property | domain rank | backlinks | referring domains | broken |
|---|---|---|---|---|
| Rainier Animal Fund | 207 | 1,029 | 132 | 0 |
| Rainier Veterinary Hospital | 187 | 2,507 | 347 | 4 |
| Bothell Pet Hospital | 172 | 527 | 250 | 1 |
| Elliott Bay Animal Hospital | 165 | 553 | 180 | 0 |
| Fir Grove Veterinary Hospital | 140 | 146 | 50 | 0 |
| Lynnwood Animal Hospital | 118 | 190 | 72 | 0 |
| Veterinary Roots (group) | 54 | 72 | 41 | 0 |
Every hospital checked against the same 26 veterinary and local directories. Bothell and Lynnwood are listed on three.
| directory | Elliott Bay | Rainier | Firgrove | Bothell | Lynnwood |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | |
| Yelp | ✓ | ✓ | ✓ | ✓ | ✓ |
| ✓ | ✓ | ✗ | ✓ | ✓ | |
| AAHA | ✓ | ✓ | ✗ | ✗ | ✗ |
| Apple Maps | ✓ | ✓ | ✗ | ✗ | ✗ |
| BBB | ✓ | ✗ | ✓ | ✗ | ✗ |
| ✓ | ✓ | ✗ | ✗ | ✗ | |
| MapQuest | ✓ | ✓ | ✗ | ✗ | ✗ |
| DVM360 | ✓ | ✗ | ✗ | ✗ | ✗ |
| PetDesk | ✗ | ✗ | ✓ | ✗ | ✗ |
| VetRatingz | ✗ | ✗ | ✓ | ✗ | ✗ |
| Veterinarians.com | ✓ | ✗ | ✗ | ✗ | ✗ |
| Yellow Pages | ✓ | ✗ | ✗ | ✗ | ✗ |
| YouTube | ✗ | ✓ | ✗ | ✗ | ✗ |
| Angi | ✗ | ✗ | ✗ | ✗ | ✗ |
| Bing Places | ✗ | ✗ | ✗ | ✗ | ✗ |
| Chamber of Commerce | ✗ | ✗ | ✗ | ✗ | ✗ |
| Foursquare | ✗ | ✗ | ✗ | ✗ | ✗ |
| Healthgrades | ✗ | ✗ | ✗ | ✗ | ✗ |
| Hotfrog | ✗ | ✗ | ✗ | ✗ | ✗ |
| Manta | ✗ | ✗ | ✗ | ✗ | ✗ |
| Nextdoor | ✗ | ✗ | ✗ | ✗ | ✗ |
| Thumbtack | ✗ | ✗ | ✗ | ✗ | ✗ |
| Vets Directory | ✗ | ✗ | ✗ | ✗ | ✗ |
| Vetstreet | ✗ | ✗ | ✗ | ✗ | ✗ |
| Wellness.com | ✗ | ✗ | ✗ | ✗ | ✗ |
| listed on | 11 / 26 | 8 / 26 | 5 / 26 | 3 / 26 | 3 / 26 |
Apple Maps and Bing Places gaps matter more than their traffic share suggests: they are the default map and search surfaces on non‑Chrome mobile, where “near me” intent is highest.
Nothing in this report is an estimate, an industry average, or a guess. Every number was measured directly from the live websites and from Google, on 2026‑07‑20.
| what was measured | how |
|---|---|
| Every page, rendered | A real Chromium browser opened all 842 pages across the seven sites — not a text scrape. Captured titles, headings, word counts, image alt text, structured data, internal links and canonical tags. |
| Page speed | Google PageSpeed Insights, mobile and desktop, on every site. |
| Search rankings | Every keyword each site currently ranks for in Google, with position and search volume — 4,298 in total. |
| Link authority | Full backlink profile per site: referring domains, anchor text, domain strength, broken links. |
| Google listings | Every Google Business Profile located and read, plus all 2,403 reviews downloaded in full — not a sample. |
| Directories | Each hospital checked by name and by phone number against 26 veterinary and local directories. |
| Independent crawl | A second, separate crawler run against each site to confirm what search engines can actually reach by following links. |
Page and speed data come from the sites themselves and from Google’s own PageSpeed service. Ranking, backlink, Google‑listing, review and directory data come from DataForSEO, a commercial search‑data provider. Each figure on these sheets is generated straight from those stored measurement files, so any number here can be traced back to its source record.
Report generated 2026-07-21 05:56 UTC.