The Challenge
Construction and trades businesses often treat their website as a digital business card: here's what we do, here's our phone number, call us. This paving company was no different. The site had a handful of pages with thin content, no clear keyword targeting, and technical issues that were actively preventing search engines from indexing what little content existed.
The business was heavily seasonal. Paving work in Alberta runs roughly April through October, and the company's revenue was almost entirely concentrated in those months. Marketing had been limited to word-of-mouth and occasional print advertising. When competitors started showing up in search results for "paving company" and "asphalt driveway" queries, the phone started ringing less.
The seasonal dynamic created both a challenge and an opportunity. The challenge: the client needed results before spring, not after. The opportunity: competitors in the trades space rarely invest in SEO during the off-season, which meant winter was the best time to build and earn position gains with less resistance.
Our Approach
The technical audit came first. We found a combination of problems that are common on older trades websites: duplicate content from a poorly configured CMS, pages blocked by a robots.txt file that had been copied from a template without modification, missing or duplicate title tags, and no XML sitemap. These are the kinds of issues that don't matter to someone visiting the site directly but effectively make large portions of the site invisible to search engines. The site had been live for years, but search engines were only seeing a fraction of its pages.
We fixed the technical foundation in the first month: proper robots.txt, XML sitemap submitted and validated, canonical tags on all pages, and a site structure that made sense for both users and crawlers. We also addressed page speed issues, compressing images, implementing lazy loading, and removing unused scripts that were slowing down every page load. The site went from a PageSpeed score in the 30s to passing Core Web Vitals.
Then we built out service-specific pages. The original site had a single "Services" page that listed everything in bullet points. We replaced it with individual pages for each service line: residential paving, commercial paving, asphalt repair, seal coating, concrete work, and excavation. Each page targeted the specific keywords people use when searching for that service, included the geographic areas the company serves, and had enough substantive content to demonstrate expertise. We wrote from the company's actual experience: material selection for Alberta's freeze-thaw cycles, project timelines that account for weather windows, and the differences between residential and commercial specifications.
The content work happened through the winter months. By February, the new pages were indexed and starting to accumulate authority. We tracked keyword positions daily and could see the upward movement accelerating through March and into April, exactly when search volume for paving and construction services begins its seasonal climb. The daily tracking data let us prioritize: pages that were close to page one got additional internal linking and content refinements to push them over the threshold before peak season.
Location targeting was the third pillar. The company served a specific region, and we made sure every service page included the cities and areas within that region. This wasn't keyword stuffing; it was genuinely useful information about where the company operates, travel considerations, and area-specific services. For rural areas, we included context about service radius and project minimums that helped qualify leads before they picked up the phone.
Google Business Profile optimization rounded out the strategy. The existing profile was bare: no photos, no posts, a generic description. We updated it with project photos, service descriptions matching the website content, and a regular posting cadence that kept the profile active through the winter when competitors' profiles went dormant.
The Results
The timing mattered as much as the work itself. Because the technical fixes and content build happened during winter, the site was fully optimized and accumulating ranking signals by the time search demand spiked in spring. Competitors who started their SEO work in spring were months behind.
Daily keyword tracking showed a clear pattern: positions gained steadily through winter with low search volume, then held or improved as volume increased in spring. The site went from virtually invisible in search results to ranking on the first page for its primary service keywords in the markets that mattered.
The 316% traffic growth translated directly to leads. The company reported that the phone was busier than any previous season, with callers specifically referencing what they had found on the website. Several mentioned specific service pages as the reason they called, confirming that the detailed content was doing its job of converting search visitors into prospects.
The seasonal strategy is now repeatable. Each winter, we review keyword performance from the previous season, update content to reflect any new services or service area changes, and publish supporting content that builds authority ahead of the next spring surge. The first year proved the approach. Subsequent years have compounded the gains.
See how we approach SEO for trades and construction businesses or read about seasonal marketing strategies for trades companies.