The Wastemasters: A bilingual marketing site and lead capture system for a Miami junk removal company
Replacing a bare-bones web presence with a bilingual English/Spanish site built for local SEO: 13 service-area landing pages, hardened lead capture, and Google Business Profile integration across Miami-Dade and Broward County.
- The Wastemasters
- Junk Removal
- Sep 2025
- shipped

The problem
The Wastemasters is a junk removal company serving Miami-Dade and Broward County. The business was running on word-of-mouth and a Google Business Profile with no supporting web presence. Customers searching for junk removal in specific neighborhoods (Kendall, Doral, Hialeah, Coral Gables) were landing on competitors who had pages built for those searches. Spanish-speaking customers, roughly half the local market, had even fewer options.
The company needed a site that did three things: show up in local search results across 13 service areas, convert visitors into estimate requests, and work equally well in English and Spanish. Generic website templates don't handle any of those well. Local SEO requires per-location pages with structured data. Bilingual sites need proper hreflang tags and localized content, not machine translation. Lead capture needs to be hardened against spam without creating friction for real customers.
What we built
Bilingual site architecture
Full English and Spanish versions at / and /es/ with 26 mirrored pages. Every page carries hreflang tags pointing to its counterpart language. A shared component set renders both languages through a lang prop, so copy changes propagate cleanly without duplicating component logic. Spanish content was written for South Florida Spanish, not textbook Castilian.
13 service-area landing pages
Each city or neighborhood in the service area (Kendall, Hialeah, Homestead, Coral Gables, Aventura, Key Largo, Doral, Miami Beach, North Miami, Hollywood, Fort Lauderdale, Pembroke Pines, Miramar) gets its own landing page in both English and Spanish. Each page includes LocalBusiness JSON-LD with the company's address and geo-coordinates, BreadcrumbList structured data, city-specific title tags and meta descriptions, canonical URLs, and OpenGraph locale tags. This is what search engines need to surface the right page when someone searches "junk removal in Kendall" or "recogida de basura en Hialeah."
Lead capture with hardened API
A clean estimate request form that sends notifications to the team via email. The Cloudflare Worker behind it is hardened against abuse: KV-backed rate limiting (5 requests per 60 seconds per IP), per-field max length validation, CRLF injection guards on email fields, and a 32KB request size cap. Real customers never notice the protections. Bots and injection attempts get blocked silently.
Google Business Profile optimization
A /review page that redirects directly to the Google Business write-review URL using the verified Place ID, making it easy for the team to text satisfied customers a single link after a job. The GBP was audited and corrected: recategorized from "Garbage collection service" (recurring pickup, wrong category) to "Junk removal service" (on-demand hauling, correct), along with an optimized service list and a rewritten 750-character business description.
SMS call-to-action
A "Text us" CTA with a direct sms: link sits below the estimate form. In service-based businesses in Miami, a significant share of customers prefer texting over filling out forms. Meeting them where they are.
How it's built
The frontend is React with Vite and Tailwind CSS, deployed as a static site on Cloudflare Pages. The site loads instantly on mobile, which is critical for local service searches that are almost entirely phone-based.
The lead capture runs on a separate Cloudflare Worker with Resend for transactional email. Rate limiting uses Cloudflare KV for distributed state across edge locations. The worker deploys independently from the frontend, so the marketing site can be updated without touching the lead pipeline.
No database. No CMS. A static site with a hardened API endpoint. For a local service business, this is the right architecture: fast, cheap to host, resilient, and zero maintenance burden on the client.
What changed for the business
The Wastemasters went from invisible in local search to having dedicated landing pages for every neighborhood they serve, in both languages their customers speak. The Google Business Profile went from miscategorized and generic to accurately reflecting the service with proper structured data supporting it.
The estimate request form gives the team a direct line from interested customers to their inbox, with built-in protections against the spam and bot traffic that plague unprotected contact forms on small business sites. The /review redirect simplified the process of collecting Google reviews: the single highest-leverage local SEO signal for service businesses.
The stack at a glance
- Frontend: React, Vite, Tailwind CSS
- Lead capture: Cloudflare Worker, Resend (email), KV (rate limiting)
- SEO: Per-page LocalBusiness + BreadcrumbList JSON-LD, hreflang, canonical URLs
- Bilingual: Full EN/ES with shared component architecture
- Infrastructure: Cloudflare Pages (static), Cloudflare Workers (API)
- Domain: thewastemasters.com
A junk removal company doesn't need a SaaS subscription or a WordPress plugin ecosystem. It needs a fast site that ranks, a form that works, and a number to call. Everything custom, nothing rented, no monthly fees beyond the domain.