Case study / Clark’s Junk Removal & Demolition / Junk removal / Portsmouth, RI
A Rhode Island hauler was earning search impressions on ten pages. Ten weeks after the rebuild, he was earning them on seventy-three.
Clark’s had a Wix site with auto-generated URLs, no city pages, and no service depth. It ranked for the handful of terms a five-year-old business ranks for by default, and nothing else. We rebuilt it as a 73-page Next.js property engineered for how AI search retrieves local answers. Sixty-eight days later it was ranking for 720 queries that had never returned it at all.
- pages earning search impressions — same 68-day window, YoY
10 → 73
pages earning search impressions — same 68-day window, YoY
- queries now ranking that didn’t rank a year ago — 250 in the top 10
720
queries now ranking that didn’t rank a year ago — 250 in the top 10
- non-branded queries in the top 10 — 171 → 319, same window YoY
+87%
non-branded queries in the top 10 — 171 → 319, same window YoY
- Lighthouse mobile performance — run August 9, 2026
97 / 100
Lighthouse mobile performance — run August 9, 2026
+74% organic clicks and +65% impressions, July YoY · 36.0 → 17.6 average position · 41.2 → 8.7 for “portsmouth junk removal” · position 1.1 for “junk removal portsmouth ri” at 17.9% CTR · July 2026 is the highest-click and highest-impression month in the full 16-month Search Console record
The situation
Ranked at home. Invisible everywhere else.
Clark’s Junk Removal & Demolition runs junk removal, dumpster rentals, and demolition out of Portsmouth, Rhode Island, covering Newport County, the East Bay, and Southern Massachusetts. Family-owned, founded 2022, 68 verified reviews across five platforms, a 5.0 average on 45 Google reviews.
The old site was on Wix. Wix is not slow — it posts the highest Core Web Vitals pass rate of any major site builder. The problem was architecture. The indexed URL set was auto-generated slugs: /services-3, /services-4, /services-8, /about-1, /about-2, /contact-9, and — indexed and collecting impressions — /copy-of-junk-removal. Zero city pages with real content. Zero dedicated sub-service pages. Across the whole of June 1 – August 7, 2025, exactly ten URLs on the domain surfaced in Google at all, and six of them were Wix junk slugs.
To be clear about what was working: Clark’s already ranked for the obvious head terms in his home town. Five years of business and 45 five-star Google reviews will do that. He was position 2.3 for “junk removal portsmouth ri” and top-ten in Newport, Middletown, and Tiverton before we touched anything. What he did not have was reach. Ten pages cannot answer hundreds of different questions. Every query that wasn’t a head term — every neighboring town, every specific service, every long-tail phrasing someone types or asks an AI assistant — returned nothing.
What we built
Seventy-three pages, written page by page.
Complete rebuild on Next.js + React, Tailwind, Vercel. 73 pages, written page by page rather than templated.
The obvious move on a local service site is templated city pages — same paragraph, swap the town name. We refused it. Templated city content is the exact pattern Google devalues and AI retrieval systems skip.
- 28 city pages, each naming real neighborhoods, landmarks, and road names — 5 to 12 genuine neighborhoods per page, not a radius list
- 30 sub-service pages, each with a unique intro, items-handled list, and 4–5 FAQs
- Rural towns given full pages on purpose — Little Compton, Rehoboth, Dighton, Berkley, Freetown. Low competition means a real page is a cheap number one
- Full internal linking web with breadcrumbs and descriptive anchor text
The AI-search layer
LocalBusiness JSON-LD on the home page and all 28 city pages with full NAP, hours, geo, social profiles, and aggregate rating. Service schema on service pages, FAQPage on the FAQ page, Review schema on highlighted reviews. Canonical URLs, OG and Twitter Card meta sitewide, one H1 per page, descriptive alt text and filenames carrying service plus city.
The conversion layer
A sticky mobile Call / Text / Quote bar on every page. A trust bar under every hero — Same-Day, Licensed & Insured, Family-Owned, 10% Military and First Responder. Full pricing published rather than hidden behind a form — a full rate card, 11 line items. Navigation collapsed from 30+ items to 6, with /services as the master directory.
On navigation
The client’s instinct was to cut the sub-service pages because the menu was overwhelming. That would have thrown away the entire asset. Thirty dedicated service pages are the citation surface — when someone asks an AI assistant who removes pianos in Newport County, the model needs a specific page with location signals, pricing context, and FAQ schema to cite. Nav bloat is a menu problem with a menu fix. Keep the pages, fix the menu.
Clark’s already ranked for junk removal in Portsmouth. What he couldn’t do was answer any of the other seven hundred questions people were asking. That’s not a rankings problem — it’s a surface area problem, and you fix it by building the pages.
Results
What actually changed.
Two identical 68-day windows, one year apart — June 1 – August 7, 2025 on the old Wix site against June 1 – August 7, 2026 on the new build. Nothing blended across launch.
Search footprint, year over year
| Metric | 2025 | 2026 | Change |
|---|---|---|---|
| URLs earning impressions | 10 | 73 | 7.3x |
| Total queries ranking | 528 | 884 | +67% |
| Non-branded queries in top 20 | 240 | 460 | +92% |
| Non-branded queries in top 10 | 171 | 319 | +87% |
| Non-branded clicks | 51 | 79 | +55% |
Traffic, same window
| Metric | 2025 | 2026 | Change |
|---|---|---|---|
| Organic clicks | 225 | 310 | +38% |
| Impressions | 12,520 | 14,856 | +19% |
| Average position | 36.0 | 17.6 | — |
| CTR | 1.80% | 2.09% | — |
July, head to head
| Metric | July 2025 | July 2026 | Change |
|---|---|---|---|
| Clicks | 92 | 160 | +74% |
| Impressions | 5,058 | 8,331 | +65% |
| Position | 35.8 | 20.1 | — |
Terms the old site could not reach
| Query | Position, 2025 | Position, 2026 |
|---|---|---|
| portsmouth junk removal | 41.2 | 8.7 |
| junk removal ri | 23.3 | 12.0 |
| junk removal rhode island | 23.3 | 13.5 |
| dumpster rental near me | 10.5 | 1.6 |
| junk haulers near me | 5.6 | 1.4 |
| dumpster rental rhode island | 17.6 | 14.4 |
Head terms the old site already held, tightened
| Query | Position, 2025 | Position, 2026 | CTR now |
|---|---|---|---|
| junk removal portsmouth ri | 2.3 | 1.1 | 17.9% |
| junk removal tiverton ri | 6.7 | 4.6 | 22.2% |
| junk removal middletown ri | 4.4 | 2.7 | — |
| junk removal newport ri | 7.0 | 5.9 | 8.6% |
| dumpster rental portsmouth ri | 5.7 | 4.8 | 10.2% |
| junk removal near me | 9.9 | 8.8 | 5.5% |
Did not rank at all in 2025
| Query | 2025 | Position now |
|---|---|---|
| construction dumpster rental | did not rank | 1.0 |
| dumpster rental service | did not rank | 1.0 |
| tiverton junk removal | did not rank | 1.9 |
| tiverton ri junk removal | did not rank | 2.2 |
| deep river junk removal | did not rank | 3.5 |
| newport ri junk removal | did not rank | 4.6 |
| little compton junk removal | did not rank | 4.7 |
| piano removal providence | did not rank | 5.4 |
| middletown ri junk removal | did not rank | 6.4 |
| little compton ri junk removal | did not rank | 7.9 |
New pages, current position
| Page | Position |
|---|---|
| /service-areas/little-compton-ri | 5.4 |
| /services/piano-removal | 6.1 |
| /service-areas/mattapoisett-ma | 9.5 |
| /service-areas/barrington-ri | 9.7 |
| /service-areas/wareham-ma | 9.8 |
| /services/grizzly-bag | 10.6 |
Indexation
The sitemap contains 73 URLs — 30 service, 28 city, 15 core. 72 earned impressions in the first 68 days. All 58 service and city pages earned impressions — 13 in the top 10, 40 in the top 20, median position 15.3.
- Performance
97
Performance
- Accessibility
95
Accessibility
- Best Practices
96
Best Practices
- SEO
92
SEO
First Contentful Paint 1.0s · Largest Contentful Paint 2.4s · Cumulative Layout Shift 0. Mobile audit run August 9, 2026, Lighthouse 13.2.0.
Before and after
The old site and the new one, side by side.
| What | Old Wix site | New build |
|---|---|---|
| Indexed URL pattern | /services-3, /about-2, /copy-of-junk-removal | /services/piano-removal, /service-areas/little-compton-ri |
| City pages with real content | 0 | 28 |
| Dedicated sub-service pages | 0 | 30 |
| Structured data | None identified in the index | LocalBusiness, Service, FAQPage, Review |
| Pricing published on site | No | Full rate card, 11 line items |
| URLs earning impressions | 10 | 73 |
| Non-branded queries in the top 10 | 171 | 319 |
| Position, “portsmouth junk removal” | 41.2 | 8.7 |
| Lighthouse mobile performance | — | 97 |
Methodology
How this was measured.
Source
All search figures from Google Search Console for clarksjunkremoval.com, exported August 9, 2026. Lighthouse from a mobile audit run August 9, 2026, Lighthouse 13.2.0.
Launch date
The new site replaced the Wix build at the end of May 2026. The first city page impression is dated June 7, 2026, with zero impressions on any /service-areas/ URL in the preceding 16 months — that is the date the new architecture entered Google’s index.
Why year-over-year
Junk removal demand is seasonal. Comparing June–August 2026 to the preceding spring would overstate the result. Comparing it to the identical 2025 window does not. Every figure here comes from two exports filtered to identical 68-day calendar windows. Nothing is blended across the launch date.
What the old site already did well
Clark’s ranked position 2.3 for “junk removal portsmouth ri” and inside the top ten for Newport, Middletown, and Tiverton before the rebuild. Those gains are reported as tightening, not transformation. The transformation is in footprint.
On average position
Against the immediately preceding 68 days, average position reads worse (13.2 → 17.6). That is expansion, not decline — impressions rose from 4,648 to 14,856 as 58 new pages entered the index and began ranking for queries the old site never appeared for. A site ranking for far more queries shows a higher average position number. The 30.9 shown in Search Console’s 16-month header is the blended lifetime average — dominated by the old site — and sits between the 2025 window (36.0) and the 2026 window (17.6).
Query counts
Non-branded top-ten and top-twenty counts are raw Search Console counts and include some queries outside Clark’s service area. Both years are counted identically, so the comparison is valid, but 319 should not be read as 319 commercially relevant rankings. Individually named queries are all in-market.
Impression sampling
Search Console anonymizes rare queries, so query-level impression totals don’t sum to the performance chart totals, and the gap is larger in 2026 because the query tail is longer. All click and impression totals come from the daily performance chart, which is not sampled.
Regressions
“junk removal jamestown ri” ranked 7.7 in the 2025 window and does not appear in the 2026 top 884. The Jamestown city page exists and ranks, but lower. A cluster of long-form variants such as “junk removal newport rhode island” also dropped out while their shorter equivalents entered the top ten, at zero clicks either way — Google consolidating variants rather than lost visibility.
What is not claimed
This case study reports search performance only. Lead volume, cost per lead, booked jobs, and revenue are not reported because lead attribution was not instrumented during this window. When it is, this gets a V1.1 with those numbers or it doesn’t get them at all.
The daily-chart and pages exports behind the click, impression, position, and page-count figures are committed and hashed in the code registry. Query-level figures — the query counts and per-keyword positions — and the Lighthouse report remain verification pending until their exports are wired.
Where this stands
The website layer alone.
In ten weeks Clark’s went from ten pages surfacing in Google to seventy-three, from 171 non-branded top-ten rankings to 319, and from invisible to top-ten across Newport, Middletown, Tiverton, Little Compton, Barrington, Fall River, New Bedford, Wareham, and Mattapoisett. On a build that scores 97 for mobile performance. The AI-search work is still early — Google Business Profile optimization, review velocity, and citation consistency haven’t started. This is the website layer alone.