Smith's Roofing
3402 Industrial Way, Colorado Springs, CO 80906
jane@smithsroofing.example
https://smithsroofing.example
Platform: WordPress 6.x with Astra theme
Reviewed: April 16–18, 2026
Summary
Your site is doing the basics, the address is on the page, the phone number is clickable, the brand is consistent across pages. There are five concrete issues holding it back, ranked below by impact on lead generation. Three are fixable inside the existing site without a rebuild. Two would benefit from a rebuild but are not urgent on their own.
1. Speed High impact
Finding. Mobile PageSpeed score of 42 out of 100. Largest Contentful Paint is 4.8 seconds; the Google threshold is 2.5. The site renders at 4.3 seconds on a real iPhone 12 over a fast home Wi-Fi network. On 4G mobile the same page takes 7.1 seconds.
What is causing it. A 1.9 MB hero image (uncompressed JPEG, served at full resolution to all devices), three blocking JavaScript files in the <head> (Google Tag Manager, Facebook Pixel, an unused jQuery plugin), and the Astra theme's default web-font load that pulls Roboto in five weights from Google Fonts.
Recommendation. Compress and serve the hero image as a responsive srcset (target 200–400 KB at the largest viewport). Move tracking scripts to defer-loaded variants and remove the unused jQuery plugin. Self-host the two font weights actually used. Estimated impact: mobile PageSpeed score moves from 42 to roughly 75–85; LCP drops to under 2.5 seconds.
2. Mobile experience Medium impact
Finding. At 360 px (small phone), the primary contact-form fields overflow horizontally by 14 px, forcing a sideways scroll. Two of the navigation links wrap onto a second line. Three buttons are below the WCAG 2.2 AA 44×44 px tap-target floor (currently 32×32 px).
What is causing it. The Astra theme's container uses a fixed 1140 px max-width with 15 px gutters; on small viewports the form stretches its input elements to 100% but the wrapping fieldset retains a hardcoded padding that pushes content past the right edge.
Recommendation. Override the form container's padding with a responsive rule (5 px gutters under 480 px). Set a minimum height of 44 px on every .button class. Move the second nav-line items into a hamburger menu under 640 px so they no longer wrap. Estimated effort to fix: 1 to 2 hours of CSS work without a rebuild.
3. Local SEO foundation Medium impact
Finding. Title tags are present on every page but six of nine pages share the identical pattern (“Smith's Roofing — Colorado Springs Roofing”), producing low keyword diversity in Google search-result snippets. Meta descriptions are missing on the about, gallery, and contact pages. LocalBusiness schema is present on the homepage only; service pages do not include it. Sitemap is auto-generated by Yoast and submitted to Google Search Console correctly. NAP (name, address, phone) matches the Google Business Profile exactly across all pages.
What is causing it. Default WordPress page templates do not differentiate per-page metadata; the Yoast Local SEO add-on covers the homepage but not service pages.
Recommendation. Write a unique, keyword-targeted title and meta description for each of the nine pages (target 50–60 characters for titles, 130–160 for descriptions). Extend the LocalBusiness schema to every service page, with the areaServed property listing the actual cities you cover. Estimated effort: 3 to 4 hours of content work.
4. Accessibility (WCAG 2.2 AA) High impact
Finding. WAVE flags 14 contrast errors, primarily light-gray body text (#9CA3AF) on white, which measures 2.85:1 against the WCAG floor of 4.5:1. Three form fields lack associated <label> elements (the placeholder text is doing double duty). The skip-to-content link is missing entirely. The hamburger menu opens via a div with a click handler, which fails keyboard navigation. ADA-compliance lawsuits are a real and rising risk for small-business sites in 2026; this site would not survive a basic compliance review.
What is causing it. The Astra theme's default color palette has insufficient contrast on body text; the form fields are built with the WPForms plugin which omits explicit labels by default; the hamburger is a third-party JS snippet not native to the theme.
Recommendation. Darken body text to at least #4A5463 (7.4:1 contrast ratio). Add explicit <label> tags to every form field, with for/id bindings. Add a skip-to-content link to the page header. Replace the hamburger snippet with a <button>-based equivalent that supports Enter and Space. Estimated effort: 4 to 6 hours of theme overrides, or one of the items that a rebuild would resolve cleanly.
5. Conversion path High impact
Finding. The phone number appears on the homepage and contact page but is missing from five of the nine pages, including the gallery and three service pages. On mobile, the primary CTA (“Get a free estimate”) sits below the fold; visitors must scroll about 600 px before encountering it. The contact form is on its own page, three clicks from the homepage on mobile. There is no “sticky” or “floating” phone-call button on mobile.
What is causing it. Header design relies on a desktop-first layout where the phone number occupies the right rail. On mobile that rail collapses entirely, dropping the phone number off the visible page.
Recommendation. Move the phone number into the mobile header bar so it appears on every page on every viewport. Add a sticky bottom-bar on mobile with two buttons: “Call now” (tel:…) and “Get a quote” (link to the form). Move the homepage primary CTA above the fold on mobile. Estimated effort: 2 to 3 hours of theme work, or one of the items that a rebuild would resolve cleanly.
Recommended next steps
- Fix the speed problem first. The 1.9 MB hero is the highest-leverage change you can make without touching anything else. One hour of work; the largest impact on lead generation of anything in this report.
- Add the missing meta and schema. Three to four hours of content work; meaningful SEO improvement within a couple of weeks of Google re-crawling the site.
- Address the accessibility errors. The contrast and labels are the legal-risk floor. Cover those within thirty days.
- Decide whether to rebuild. Items 4 and 5 are workable on the existing platform but they reflect deeper structural issues. If you are also unhappy with how the site looks, a rebuild is the cleaner path. If the visual side is fine, the patches above will get you to a healthy site without one.
If a rebuild is the right call
The standard plan is $175 a month, flat. Two to three weeks of build, custom-coded, with the speed, accessibility, and conversion-path issues above resolved by construction rather than by patch. The full plan is on the pricing page; if you want the math on what a fixed site actually returns, the return-on-investment page walks through the four levers with a worked example. If you want to talk it through, the discovery call is the right next step. There is no obligation either way.
— Jon Ajinga, Pikes Peak Web Designs
hello@pikespeakwebdesigns.com · (928) 315-9094