How to Use Website Opportunity Scores to Prioritise Your Outreach
By Cameron Kirdzik — Founder @WebHunt.ai
· 10 min read
TL;DR
- A website opportunity score estimates buy-likelihood from fixable web weaknesses plus demand signals.
- Prioritise 61–85 scores: clear, fast wins and strong ROI stories; de-prioritise 0–40 unless niche-fit.
- Filter by weakness (HTTPS, mobile, speed, freshness, reviews) to align with your service offering.
- Turn scores into specific first messages using a 5-part framework and proof (screenshots, timings).
- Use quick math to quantify recovered leads and attach a 1-page audit or live draft to accelerate trust.
What a Website Opportunity Score Actually Measures
A website opportunity score is a composite estimate of how likely a local business is to buy web or marketing help. It blends fixable site weaknesses with commercial context (demand, engagement, and recency) to predict “who will take a meeting next.”
- HTTPS status: Whether the site loads securely without warnings.
- Mobile-friendliness: Whether it renders and works on phones (viewport, tap targets, nav).
- Page speed: How quickly above-the-fold content becomes usable.
- Content freshness: How recently the site was updated (pages, blog, schema, GMB links).
- Review momentum/recency: Count and how recently reviews arrive vs competitors.
How this ladders to buy-likelihood:
- Technical risk (HTTPS/mobile): Trust warnings or broken mobile UX suppress calls and form fills.
- Usability (speed): Slower pages shed visitors before conversion.
- Freshness: Infrequent updates correlate with slipping visibility.
- Reviews: Recency shows active demand and a responsive owner.
What scores imply for you:
- Higher (65–85): Clear, urgent fixes with visible ROI (e.g., “Not secure” badge or mobile menu blocking calls). Typical pitch lands fast; scope is tight and provable.
- Lower (0–40): Heavier lift (no site, multi-location constraints) or fuzzy value story. Often longer education cycles.
- Middle (41–60): Opportunity with some teaching required—pair proof (screenshots) with a small pilot.
Sanity check: take three recent wins, rate them 1–5 across HTTPS, mobile, speed, freshness, reviews. If two or more would have landed 60+, you’re aligned with this model.
Key takeaway: You’re not scoring “good marketing.” You’re scoring “how quickly this business will say yes to a specific fix.”
How the Key Signals Work in Practice (and What to Look For)
HTTPS: In Chrome, HTTP pages are flagged “Not secure,” which dents trust and is a minor ranking factor. Fixes: enable auto-SSL (Let’s Encrypt), install certs correctly, and clean up mixed content (HTTP images/scripts on HTTPS pages). 1
Mobile-friendliness: Red flags: missing viewport meta, overlapping tap targets, sticky headers covering call buttons, off-canvas menus that won’t open, or forms that zoom awkwardly. Well over half of local searches happen on mobile, so mobile breakage directly costs leads. 2
Page speed: Culprits: unoptimised images (serve WebP/AVIF), render-blocking JS/CSS, bloated themes/plugins, uncritical fonts, and chat widgets loading early. As load time stretches from ~1s to ~3s, conversion rates typically fall materially. 3
Content freshness: Signals include: last blog/update date, outdated seasonal promos, stale opening hours, or schema that hasn’t been touched in a year. Fresher content generally tracks with improved local visibility and re-crawl frequency. 4
Review momentum/recency: Look beyond rating. A 4.6 average with two reviews in the last 30 days beats a 4.8 average with nothing for six months. Recency drives click-through and call likelihood because it signals current, reliable service.
Score Bands to Priority: A Practical Triage Map
| Score band | Typical weaknesses | Sales cycle | Suggested pitch angle | Initial scope (S/M/L) | Disqualifiers/edge cases |
|---|---|---|---|---|---|
| 0–40 | No site, chain/franchise CMS lock, severe brand constraints | Long | Discovery, roadmap, “phase 0” prototype | L (new build) | Franchises with locked templates; multi-location approvals |
| 41–60 | HTTPS missing, very slow pages, old theme; thin content | Medium | “Trust + speed fix, then refresh” | M (SSL + speed + 1–2 pages) | Owner absent; agency contract in play |
| 61–75 | Mobile/menu issues, LCP 3–5s, stale blog | Short–Medium | “Recover lost mobile leads in days” | S/M (responsive header + CWV + 90-day content) | Custom legacy stack hard to modify |
| 76–85 | HTTPS ok, but speed/freshness gaps; minor UX snags | Short | “Quick wins: +2s faster, tidy mobile UX” | S (tune-up) | Internal dev committed to a rebuild |
| 86–100 | Solid baseline; small gaps in content cadence or reviews | Short | “Keep momentum: cadence + reviews” | S (light retainer) | Highly regulated verticals limiting content |
Use this as your initial triage. The aim is to match your first offer to the dominant weakness and the expected friction.
Filter Leads by Weakness Type to Match Your Services
Here are reproducible filter recipes you can run manually or in tools. If you’d rather not build lists by hand, WebHunt.ai scores live local businesses by HTTPS, mobile, speed, freshness, and review momentum, and lets you filter by trade, location, and specific weakness signals (free to browse; details unlock on paid plans).
Roofers in Phoenix with mobile issues and slow speed:
- Trade: Roofing
- Geo: Phoenix, AZ (or zip cluster)
- Weakness filters: Mobile: failing viewport/tap targets; Speed: LCP > 3s
- Score band: 61–75
Dentists in Austin with no HTTPS:
- Trade: Dental
- Geo: Austin, TX
- Weakness filters: HTTPS = HTTP/"Not secure"; Freshness: last update > 6 months
- Score band: 41–60
Lawyers in Chicago with stale content:
- Trade: Legal (e.g., Personal Injury, Family Law)
- Geo: Chicago, IL
- Weakness filters: Freshness: last post/update > 9 months; Reviews: low recency
- Score band: 61–75
Align filters to offers:
- Mobile/responsive rebuild: Primary signals = mobile fails + header/menu issues; secondary = LCP.
- Core Web Vitals tune-up: Primary = LCP/CLS/INP fails; secondary = image bloat, render-blocking.
- Content refresh calendar: Primary = stale updates/pages; secondary = review recency tapering.
- Review generation/response: Primary = low recency/velocity; secondary = freshness gaps on site.
Geography and demand layer:
- Add city/ZIP plus seasonality (e.g., HVAC pre-summer, roofers pre-monsoon). Higher-demand windows compress sales cycles.
Qualification checklist before outreach:
- Confirm owner contact path (site footer, About page, or use WebHunt.ai owner contact enrichment to pull owner name, direct phone/email with confidence scoring).
- Re-verify the weakness on the live site and screenshot it (include device model and timestamp).
- Scan the top 3 competitors—capture one clean counterexample.
- Note one measurable outcome you’ll reference (e.g., “+10–20% calls captured from mobile”).
By the numbers: Many local categories see a majority of searches on mobile. If the call-to-action is blocked on phones, you’re leaving a large share of leads on the table. 2
Turn a Score Into a Personalised First Message
Use this 5-part framework:
- Lead context (trade, city) 2) Primary weakness (with evidence) 3) Impact (lost trust/leads/speed) 4) Quick-win plan (1–2 steps) 5) Low-friction CTA (10–15 minutes).
Weakness-to-pitch mapping:
- HTTPS: Value: restore trust and remove browser warnings. Proof: screenshot of Chrome “Not secure” badge. 1
- Mobile: Value: unblock calls/forms on phones. Proof: “Menu overlaps call button on iPhone 12; tap target < 48px.”
- Speed: Value: reduce bounce and recover conversions. Proof: LCP 4.2s on 4G; waterfall highlighting render-blocking JS. 3
- Freshness: Value: regain visibility with current pages and hours. Proof: last blog update 10 months ago; outdated promo page. 4
- Reviews: Value: improve click-through with recent social proof. Proof: no reviews in 120 days while competitor added 9.
Subject line swipe file:
- “[City] roofer: fix mobile quote button in 48 hours”
- “Quick HTTPS + speed tidy for your [Trade] site”
- “[City] [Trade]: cut LCP to <2.5s this week”
- “Freshen top 3 service pages = more [City] calls”
- “Lost calls on mobile? 2 screenshots for you, [Name]”
- “One quick win before [season] rush”
Two first-email templates (copy/paste):
For score 61–75 (prime target with clear blockers) Subject: [City] roofer: fix mobile quote button in 48 hours
Hi [Owner],
I pulled up your site on an iPhone 12 and the mobile menu overlaps the tap‑to‑call button. On 4G, LCP sits around ~4s. I’ve attached 2 screenshots and a one‑pager.
Plan: 1) responsive header fix so the call button is always visible, 2) compress/deferral to bring LCP under 2.5s. That typically recovers 10–20% of mobile form starts/calls.
Have 12 minutes this week to review? I can ship this in 3–5 days with before/after metrics.
For score 76–85 (quick wins, lighter scope) Subject: Quick 2‑second win for your [Trade] site
Hi [Owner],
Your site’s foundation looks good. Two quick wins stood out: hero image is 1.8MB (blocking), and the chat widget loads before content. Easy fixes to shave ~2s off LCP and tidy mobile header spacing.
I can implement a light performance pass and mobile spacing fix this week. 10 minutes to walk through the short list and a simple rollout plan?
Voicemail (for either band): “Hi [Owner], it’s [You]. I just sent an email with two screenshots showing your call button hidden on phones and a quick fix to recover those leads this week. I can walk you through in 10 minutes—my number is [number]. I’ll resend the screenshots by text as well.”
Quick math insert (put this in your email or one-pager):
- Estimated leads recovered/month = monthly sessions × mobile share × conversion delta.
- Fill‑in: [4,000 visits] × [0.65 mobile] × [0.03 uplift] ≈ [78 extra actions/month]. Use your actual analytics if available. 5
Worked Example: A 70-Score Roofer With a Broken Mobile Menu and 40 Google Reviews
Lead snapshot:
- Trade: Roofer
- Score: 70
- Primary weakness: mobile menu/header blocks the call button
- Secondary: LCP ~4s on mobile
- Reviews: 40 total, 4.5 average; last 2 within 30 days (healthy momentum)
Why this is a prime target: It sits in the 61–75 band with obvious, fixable blockers and active demand signalled by steady review recency. Expect a short–medium sales cycle.
Evidence package to include:
- Two mobile screenshots (above‑the‑fold header overlap; PageSpeed/Lighthouse timings).
- One competitor’s mobile header where the tap‑to‑call is always visible for contrast.
If you want a ready-made “what to say” brief, the per‑lead Deep Analysis in WebHunt.ai captures screenshots and summarises broken/missing elements, then suggests a concrete pitch angle you can paste into your outreach.
Pitch angle: “Unblock calls on mobile + 2‑second LCP win.”
Scope bullets:
- Responsive header refactor (ensure persistent tap‑to‑call)
- Critical CSS + defer non‑critical JS
- Image compression (WebP) and correct hero sizing
- CDN toggle and cache policy
Timeline: 3–5 days. Outcome: more calls captured from mobile visitors.
First message draft: Subject: Phoenix roofer: your call button is hidden on phones
Hi [Owner],
On an iPhone 12, your mobile menu covers the call button and the hero takes ~4s to become clickable. Attached: a screenshot and a 30‑second screen recording.
I can ship a responsive header fix and cut LCP under 2.5s this week—typically enough to recover double‑digit percentages of mobile calls. Can we hop on a 15‑minute call Tuesday or Wednesday?
—[Name]
Follow-up sequence:
- Day 2 text (where permitted): link to the screenshot and a one‑liner: “This is what visitors see before they can tap to call.”
- Day 4 voicemail: reference risk of missed storm‑season calls and offer the 3–5 day fix.
- Day 7 email: attach a one‑page before/after mockup with the fixed header and projected LCP.
Closing asset: a one‑page mini‑proposal summarising fixes, a 30‑day checkpoint, and an optional ongoing plan for content freshness and review response.
If you prefer not to assemble this from scratch each time, WebHunt.ai can generate a per‑lead AI opportunity brief and a one‑click website‑builder prompt pre‑filled with the business’s NAP and photos, so you can show a live draft quickly.
Spin Insights Into Proof Fast: Audits, Mockups, and Draft Sites
Build a 1‑page audit:
- Hero mobile screenshot of the issue
- Three measurable issues (e.g., HTTPS/mobile/speed) and a competitor contrast
- A simple ROI line tied to calls or form fills using the quick math above
Create a live draft quickly:
- Use the business’s real NAP, services, and photos
- Implement a fixed mobile header with tap‑to‑call
- Trim the hero and defer heavy scripts to pass LCP
Before/after artefacts to attach:
- 15‑second screen recording of the mobile fix
- PageSpeed metrics before/after
- A lightweight performance budget note (image sizes, third‑party limits)
Template handoff checklist:
- Favicon, basic local schema, GMB/GBP link, review widget
- 14‑day post‑launch monitoring plan (LCP/CLS, uptime, error checks)
If you want to accelerate the draft stage, the one‑click website prompt in WebHunt.ai generates a ready‑to‑paste prompt for AI site builders (Replit, Lovable, v0, Bolt) pre‑filled with the business’s details, so you can demo a live first cut the same day.
Operationalise: Cadence, Tracking, and Scaling Your Outreach
Cadence blueprint (7 days, 3 channels):
- Day 1: Email with screenshots + audit
- Day 2: Text (permissioned) with 1 screenshot link
- Day 3: Voicemail referencing the same proof and a 10‑minute review
- Day 5: Email with competitor contrast
- Day 7: Email with draft mockup or short Loom
Pipeline hygiene:
- Stages: Found → Qualified → Contacted → Meeting Set → Closed/Won/Lost
- Required notes: primary weakness, evidence link, pitch angle, next step/date
- Exit criteria: Qualified must include proof screenshot and verified contact path
Metrics to watch weekly:
- Reply rate, meeting rate, show rate, win rate
- Split by weakness type to see which offers land better in your niche
Scale path:
- Add phone‑first for 61–75 scores where issues are visible in a sentence
- Automate first‑touch generation with your templates, then keep manual proof inserts
- A/B test subject lines and the proof element (e.g., swap screenshot vs 15‑sec recording) without dropping the personal observation
For tracking and automation, WebHunt.ai includes a deal pipeline to save leads, track stages, export data, and connect via API/Zapier. If you want booked meetings without dialing yourself, you can also lean on WebHunt.ai’s human cold‑calling marketplace or its AI Voice Agent SDR to pitch and schedule directly onto your calendar with guardrails.
Ready to put this to work?
Score, filter, and prioritise the local businesses most likely to buy from you, then ship proof fast. Start by browsing scored leads and pulling owner contacts in minutes at WebHunt.ai.
Frequently asked questions
What’s a good website opportunity score to start prospecting from?
Begin at 61–85. In this range you’ll see clear, fixable weaknesses (mobile/speed/freshness) and active demand signals, which compress the sales cycle. Below 60 can work if it’s your niche and you have a tight pilot offer; above 85 is great for small retainer upsells or maintenance.
How do I handle leads with a high score but no visible contact info?
Verify the owner name and direct line before investing time. Look at the site footer, About page, and state business records. If you need to speed that up, [WebHunt.ai](https://webhunt.ai) can enrich owner name, direct phone, and email with confidence scoring and line-type checks, so your first touch reaches the decision‑maker.
Do reviews really correlate with buy-likelihood or just online reputation?
Review recency is a demand and responsiveness signal: owners collecting recent reviews tend to be active and reachable, and prospects trust recent social proof even at similar star ratings. Combined with a visible site weakness, steady review momentum indicates a short path to a yes.
How often do scores change, and should I re-run filters weekly?
Scores move when weaknesses change (new SSL, theme swap, content updates) or demand signals shift. Re-run filters weekly in fast-moving categories (home services in peak season) and bi-weekly elsewhere. Save segments so you can quickly re-qualify fresh leads.
What’s the best first offer for mobile-broken sites vs slow sites?
For mobile breakage: a responsive header/nav fix that guarantees a persistent call/CTA, plus a quick LCP tidy. For slow sites: a Core Web Vitals sprint (critical CSS, image formats/sizing, defer non-critical JS) with before/after metrics and a 14‑day follow‑up check.
How do I avoid sounding generic when many businesses share the same weaknesses?
Anchor every message in one concrete observation: device model, element name, and a time-stamped screenshot or 15‑second recording. Pair it with one measurable outcome (e.g., calls recovered) and a mini‑timeline. This level of specificity reads as bespoke even when templated.
Sources
- 1 Google Chrome Going To Mark HTTP Sites “Not Secure”
- 2 Mobile Search Statistics 2026: 45 Data Points You Need to…
- 3 Website Speed and Page Load Time Statistics For 2026
- 4 Content Freshness SEO Factor: The Ultimate Guide to Staying Relevant in 2026
- 5 Solved The table to the right shows estimates of mobile data
About the author
Cameron Kirdzik — Founder @WebHunt.ai
Cameron is the founder of WebHunt.ai, where he helps web designers, agencies, and freelancers find local businesses that need a website. He writes practical, field-tested guides on prospecting and closing local clients.