Skip to content
ADIMIZE

Website case study

Marshall Hauling: a Duda site that took 10 seconds to load on a phone, rebuilt as 52 pages

The old site loaded its main content in 10.41 seconds on mobile, ran three review widgets and had no page for any town it served. The new one loads in 3.34 seconds and has a page for every town, service and question customers ask.

Marshall Hauling · Marshall, MI · Launched August 2026 · Visit the live site

Marshall Hauling homepage, desktop

The business

Marshall Hauling

Marshall Hauling is a veteran-owned junk removal and dumpster rental company in Marshall, Michigan. It started in 2021 with one dump trailer and now runs 10 and 20 yard dumpsters plus junk removal across Calhoun County and the towns around it, from Battle Creek and Albion to Jackson and Coldwater.

The business already had the hard part: 159 five-star Google reviews and prices it was willing to publish. The website wasn't pulling its weight. It was slow on phones, it contradicted itself, and it had no pages for the towns the calls come from.

The old site

What they had before.

Front end: what customers saw

Mobile speed
Lighthouse scored the old homepage 58 on mobile. The main content took 10.41 seconds to show up and the first paint took 5.89 seconds.
Dead buttons
Four buttons pointed at old http:// links that went nowhere. A customer ready to call or book hit a dead end.
Reviews
Three separate review widgets competed on the page, and one of them was broken. Each one loaded its own scripts from its own server.
Pricing
Dumpster prices were on the homepage but not on the dumpster page, which is where search traffic lands. Dumpster dimensions were never published anywhere.
Conflicting facts
The footer said closed Sundays while the Google profile said 9 to 3. The site claimed over 20 years in business for a company founded in 2021, and the Facebook link was misspelled.
Town coverage
The business served 21 communities and none of them had a page. Someone searching for dumpster rental in Battle Creek had nothing to land on.
Terms
The Terms link opened an editable Google Doc instead of a page on the site.

Back end: what Google and AI saw

Third-party load
The mobile homepage made 108 requests and weighed 2.09 MB. Main-thread work ran 3.59 seconds, with 2.5 seconds of that spent running JavaScript.
Structured data
There was no schema anywhere on the site. Google and AI tools had to guess the hours, prices and service area from the page text.
Title tag
The homepage title led with the phrase Bin Rental. Michigan customers don't search that, so the strongest on-page signal was spent on the wrong words.
Logo file
The logo image was labeled on every page as a junk removal company in Knoxville, TN. That's a different business in a different state.
Best practices
Lighthouse scored best practices 69 on both mobile and desktop. The page logged browser errors to the console and set third-party cookies.

What we built

The new site, piece by piece.

Structure
The sitemap lists 52 pages: 11 core pages, 6 buying guides, 12 service pages, 19 town pages and 4 town-level dumpster rental pages. The guides cover dumpster sizing, junk removal vs. a dumpster, cost, moving cleanouts, what they take and where the junk goes.
Migration
Every old URL 301-redirects to a live page in one hop. The Search Console verification token carried over, so the business kept its full search history through the move.
Design
Colors come straight from the company logo, deepened where needed so text passes contrast rules. The owner story, crew photo and job photos are the business's own, and there is no animation library or carousel slowing the page down.
Pricing tools
Prices sit on every page that needs them: $375 for a 10 yard, $525 for a 20 yard, junk removal from $95. A live estimator, to-scale dumpster drawings with the real can dimensions and a "Do you take this?" item lookup answer the questions before the phone rings.
Online booking
Book Now buttons on the homepage and dumpster pages open the online booking flow. The booking script loads only after the page is ready, and if it ever fails the button falls back to the quote form with the service already filled in.
Quote form
Each request goes straight to the owner's inbox. If a send ever fails, the form says so and shows the phone number instead of pretending it worked. A hidden field and a fill-time check screen out bots.
Schema
Every page carries a business record with hours, location, prices, the 19 towns served and the 159-review rating. Service, FAQ and breadcrumb schema sit on top, generated from the same data files as the visible copy so they can't drift apart.
AI search
robots.txt explicitly allows GPTBot, OAI-SearchBot, ChatGPT-User, PerplexityBot, ClaudeBot and Google-Extended. Published prices, dimensions and item answers give AI tools real numbers to quote.
Speed
The new build scored 90 on mobile and 100 on desktop in Lighthouse. Mobile main content loaded in 3.34 seconds on 0.48 MB and 37 requests.

Old vs new

Side by side.

Marshall Hauling new homepage, desktop
Marshall Hauling old homepage, desktop
OldNew
Homepage on desktop, old site vs new. Drag, or use the arrow keys.
Marshall Hauling new homepage, mobile
Marshall Hauling old homepage, mobile
OldNew
Homepage on a phone, old site vs new. Drag, or use the arrow keys.

Old site: Lighthouse capture, August 20, 2026. New site: captured September 27, 2026.

 Old siteNew site
Mobile performance (Lighthouse)5890
Desktop performance (Lighthouse)92100
Mobile Largest Contentful Paint10.41s3.34s
Mobile page weight2.09 MB0.48 MB
Mobile requests10837
Best practices (Lighthouse)6996
Town pagesNone for 21 communities served19 town pages + 4 town dumpster pages
Structured dataNoneBusiness, Service, FAQ and breadcrumb schema
Dumpster dimensionsNot publishedPublished with to-scale drawings
ReviewsThree widgets, one brokenReviews built into the page, no widget

How a build like this runs, start to finish: See how we work →