Website Speed Optimization
The shortcut: Don't sell hourly speed work. Sell a fixed-price "before and after" PageSpeed audit + remediation package with a documented score diff. Hourly competes with offshore. Score-diff competes on trust.
Industry: Software & Tech
Investment level: Micro — $500-$2,000
Time to launch: 3-6 weeks (tooling setup + first 2 audit case studies + a one-page rate card gate the launch)
Best for: A developer or technical marketer who already knows Chrome DevTools, can read a Lighthouse waterfall, and has touched WordPress, Shopify, or a JAMstack site in anger. You're a fit if you can compress an image without making it look like a 2003 JPEG, set up Cloudflare without breaking the site, and explain LCP to a non-technical client without making them feel stupid. What you'll likely make: $800-$1,500 month 3, $2,200-$3,800 month 6, $4,500-$8,000 month 12. Math is in Section 4.
Market Opportunity
Most freelancers selling "website speed optimization" lose to a $50 Fiverr gig because they price by the hour and describe the work in jargon the buyer can't evaluate. The buyer — a WooCommerce store owner whose checkout takes 7 seconds, a marketing manager whose CMO just forwarded a PageSpeed screenshot — doesn't want hours. They want a number that goes up.
That's the wedge. A fixed-price package with a measured before/after Core Web Vitals diff. Same work, different shape. A $500-$1,500 audit + remediation beats a $75/hour offer because the client can sign it without three rounds of scoping.
The demand is real. Core Web Vitals have been a Google ranking signal since 2021, and the metrics shifted in March 2024 — INP (Interaction to Next Paint) replaced FID as the interactivity metric. Google Core Web Vitals docs. A lot of work done before that switch now scores worse than the client thinks. Every site that hasn't been touched since is a potential audit.
The trap is competing on "I'll make your site faster." The clients who pay $1,000+ are the ones whose revenue is tied to load time — Shopify and WooCommerce stores where a 1-second cut moves conversion, SaaS landing pages where signup rate is the only metric that matters. Aim there, not at brochure sites.
Launch With AI
Pro section. Speed work is one of the cleanest fits for AI in the entire freelance stack. The cold-with-screenshot email, the audit report, the before/after narrative, the monitoring memo — every word ChatGPT can draft. You spend the saved hours on the work no AI can do for you: actually loading the site in WebPageTest's Moto G4 + 3G profile, watching the waterfall play frame by frame, and deciding which third-party script the client absolutely will not let you remove.
The trap most first-year speed consultants fall into: they paste a Lighthouse report into ChatGPT and ship the response as the audit. AI happily recommends "lazy load images" on a Next.js site that already lazy-loads everything, "use a CDN" on a site already on Cloudflare, and "remove unused JS" without naming the specific script. AI is for the writing tail (audit reports, before/after narratives, cold emails, monitoring memos) — but every diagnosis, every cache config, every third-party-script triage call gets your eyes on it.
Important up-front: AI cannot run WebPageTest on a Moto G4 + 3G, watch the LCP frame paint live, or have the conversation with the client's marketing director about why removing the HubSpot pixel is non-negotiable. It will also confidently recommend a cache config that breaks the WooCommerce checkout. You own every cache decision, every third-party-script call, every CDN config; AI scales the writing and the prospecting around them.
AI Tools You'll Use
| Tool |
Price |
What it does |
| ChatGPT Plus |
$20/mo |
Audit reports, cold-with-screenshot emails, before/after narratives, monitoring memos |
| Claude Pro |
$20/mo |
Long-context Lighthouse + WebPageTest waterfall analysis, multi-page audit synthesis |
| Cursor |
$20/mo |
Edge function code (Cloudflare Workers), critical-CSS extraction scripts, asset-pipeline configs |
| PageSpeed / GTmetrix / WebPageTest (free) |
$0 |
The actual measurement — these stay manual; AI summarizes, never measures |
| Loom AI |
free |
Before/after walkthroughs for clients, "here's what I changed" videos for the marketing team |
The Workflow
Cold-with-screenshot prospecting batch (ChatGPT, ~90 min/30 prospects). The cold-with-screenshot email is the entire top-of-funnel. Manually run PageSpeed on 30 sites in one niche (independent Shopify stores, local law firms, niche WooCommerce shops). Paste each screenshot's metrics into ChatGPT in batch:
"I'm a freelance speed consultant. Below are PageSpeed Insights mobile scores for 30 sites in the [niche, e.g., independent Shopify cosmetics] vertical. For each, generate a 4-line cold email: (a) the site name + the score, (b) the SINGLE biggest issue from the report (not a list — pick one: usually 'uncompressed hero images costing X seconds of LCP' or 'render-blocking 3rd-party scripts adding X seconds before paint'), (c) the fixed-price offer ($500 intro for first 5 clients, $750 standard after), (d) one sentence linking to a before/after case study. Tone: confident, specific, NEVER generic 'I noticed your site is slow.' Subject line: 'Your mobile PageSpeed is X — quick fix?' Format: ready-to-paste."
Send 30/week from your domain (Resend or your existing email). 2-5% conversion on a clean list — that's 1-2 paid audits/week from cold alone.
Audit report generation from Lighthouse + WebPageTest (Claude long-context, ~45 min/audit). Run Lighthouse + WebPageTest manually. Save the JSON. Paste into Claude:
"Below are the Lighthouse JSON + WebPageTest waterfall for [client site]. Generate the audit report: (a) the 1-paragraph executive summary in plain English (specifically: 'Your site loads in X seconds on a 3G phone. The biggest cost is Y. We can cut it to Z.'), (b) the prioritized fix list — each fix gets: what it is, why it matters in 1 sentence, the estimated PageSpeed point gain, the implementation effort (low/medium/high), (c) the 3 fixes I'll do in this engagement (the highest-impact ones I can deliver in 8-12 hours), (d) the 3 fixes that are out of scope (third-party script removal that requires marketing buy-in, theme rebuild, infrastructure changes), (e) the before/after measurement plan (run Lighthouse 3x on each, take the median, screenshot the results). Format as a Notion-ready 4-page report. Tone: senior consultant who respects the client isn't a developer."
Read every recommendation. The "remove unused JS" line is the kind of generic advice that betrays you didn't actually open the waterfall.
Implementation + verification (Cursor + manual testing, ~6 hrs/audit). This is where AI is least useful and you're most expensive. Image compression (Imagify pass), caching (WP Rocket config), CDN setup (Cloudflare Pro or BunnyCDN), critical CSS extraction (Cursor for the script), render-blocking script defer/async (manual review of every script tag). Use Cursor for the code:
"Generate a Cloudflare Worker that: (a) intercepts requests for /wp-content/uploads/.jpg|.png, (b) checks if the request has Accept: image/webp, (c) if yes, rewrites the URL to /wp-content/uploads/.webp/[filename].webp and serves that, (d) if the .webp doesn't exist (404 from origin), falls back to the original. Include the script that pre-generates .webp versions of every existing image (run once via wp-cli or a Node script). Output: worker.js + the pregeneration script."*
Run Lighthouse 3 times after every change. Score variance is real — 5 points either direction is noise, 15 points is signal.
Before/after deliverable + Loom walkthrough (ChatGPT + Loom AI, ~30 min/audit). The before/after is the case study. Paste:
"Below are the before/after Lighthouse + WebPageTest results for [client]. Mobile PageSpeed went from [X] to [Y]. LCP from [Xs] to [Ys]. Generate the before/after deliverable: (a) the 1-page client memo with the headline numbers and 3-bullet 'what changed' summary, (b) the 1-paragraph testimonial-request email (specific ask: 'mind if I quote the score change in a public case study? I won't name your company unless you say it's OK.'), (c) the public case study skeleton for Indie Hackers + dev.to (problem, baseline metrics, what I changed in priority order, results, gotchas, time spent — NEVER include the client's name without permission). Tone: confident, factual, no hyperbole. Output paste-ready."
Record a 3-min Loom showing the before/after trace. Loom AI auto-titles + transcribes. The Loom converts to monitoring retainer at 30%+ — they see you actually understand the site, not just the score.
Monthly monitoring retainer memo (ChatGPT, ~15 min/client/month). $149/month per client, mostly passive. Paste:
"I run the monitoring retainer for [client]. This month: PageSpeed mobile [X→Y], desktop [X→Y], LCP [X→Y]. They added a [HubSpot/Klaviyo/Drift] script on [date] that cost [N] points — I deferred it and recovered [M] points. Generate the 1-page client retainer memo: (a) score trend (last 4 months in a single sentence), (b) what changed this month (script additions, theme updates, plugin updates with score impact), (c) what I'd recommend for next month (one specific action), (d) total monitoring cost so far this year vs estimated revenue impact (use the 'every 100ms = 1% conversion' Akamai rule, conservative). Tone: senior advisor. Output as Notion-ready 1-pager."
Send first business day of every month. 5 retainers at $149 is $745 MRR floor that covers tooling and base expenses before you sell a single audit.
Time Saved Per Week
Roughly 5-8 hours/week once your cold-email batch template, audit report format, and monitoring memo template are built:
- Cold-with-screenshot batch: 4 hours/30 emails → 90 min (ChatGPT batch)
- Audit report writing: 3 hours → 45 min (Claude long-context)
- Before/after deliverable: 90 min → 30 min (ChatGPT + Loom AI)
- Monthly monitoring memo: 60 min/client → 15 min (ChatGPT template)
- Public case study draft: 3 hours → 45 min (ChatGPT)
Trade that time for: 30 more cold emails/week, the second public case study on dev.to, and the actual hands-on WebPageTest run on Moto G4 + 3G that AI literally cannot do for you.
Total AI Stack Cost
- Budget tier ($20/mo): ChatGPT Plus only. Cursor free tier covers the Cloudflare Worker scripting. PageSpeed/GTmetrix/WebPageTest are all free. Right while you're shipping the first 2 free case studies.
- Full tier ($60/mo): ChatGPT Plus + Claude Pro + Cursor. Worth it once you're at 5 paid audits/month — Claude long-context on a full Lighthouse JSON + 60-row waterfall catches insights ChatGPT misses.
- Compare: A junior dev for prospecting + audit writing + monthly memos runs $3,500-$6,000/mo offshore. The full AI stack is one-hundredth that cost — and you keep eyes on every cache config before deployment.
Cancel anything you don't open in a 7-day window. Skip Cursor entirely if you stay on WordPress + Cloudflare default config — most $750 audits don't need custom edge code.
Your First Win
30 minutes from now your "is this site worth a cold email?" prospecting filter is built. Open ChatGPT (free tier works). Paste:
"I'm a freelance speed consultant pitching $500-$1,500 fixed-price audit + remediation packages. Build me the 1-page prospecting filter I run BEFORE wasting time on a cold email: (a) the 8 disqualifiers — site already scores 80+ mobile (skip), site is on Squarespace/Wix (limited fix surface — skip unless they're paying), site has fewer than 5 visible products / under 20 monthly visits estimate (no revenue tied to speed — skip), homepage is over 5MB transferred (probably an unrescuable theme — flag for full rebuild quote, not audit), site uses a known-broken caching plugin (LiteSpeed on non-LiteSpeed servers — skip, they need infra fix first), client niche is brochure-only with no checkout/signup (no revenue ROI on speed — skip), CMS is unknown / custom-built (audit time triples — only quote if budget is 2x), site loads behind a login (can't audit — skip), (b) the 6 green-light signals (Shopify/WooCommerce store with $X+/month implied revenue, SaaS landing page with form/signup, site scoring 30-60 mobile (sweet spot — big improvement available), site has identifiable cause in PageSpeed top 3 issues (uncompressed images / render-blocking scripts / unminified CSS), homepage under 8MB (rescuable), client niche has obvious revenue tie to speed), (c) the 1-paragraph 'this site isn't a fit' note I save in my CRM with the disqualifier reason. Tone: senior consultant. NEVER 'I'd love to help' filler."
Use the filter on every cold-email batch. Half your prospects get filtered out before email — which means your remaining cold emails convert at 5-8% instead of 1-2%, and you stop wasting Tuesday mornings on sites that were never going to pay $750.
Product / Service Offering
You're selling one productized package with a clean upsell:
- Speed Audit + Fix Pack ($500-$1,500 one-time) — full Core Web Vitals diagnosis (LCP, INP, CLS), a written report with priority fixes, then the actual implementation: image compression (Imagify or ShortPixel), caching (WP Rocket), CDN setup (Cloudflare or BunnyCDN), render-blocking resource fixes, third-party script audit. 1-2 days of work per site. Before/after PageSpeed screenshots in the deliverable. This is the bread and butter.
- WooCommerce or Shopify Speed Remediation ($1,500-$2,500 one-time) — same package scoped for e-commerce: product image pipeline, lazy-loading carousels, deferring tracking pixels, theme bloat removal.
- Monthly Performance Monitoring ($99-$249/month retainer) — DebugBear or GTmetrix automated tracking, monthly report, one round of fixes per quarter when scores drift. Low time per client, high retention because clients don't want to think about it.
Pick the audit + fix pack as your launch product. Once you have 5-8 shipped with screenshots, layer the monitoring retainer on top. Going retainer-first without a fix-pack pipeline starves you of the trust signal that closes the recurring sale.
Revenue Model
Unit economics for a solo speed consultant working from a laptop, billing through Stripe, no employees:
| Service |
Price |
Variable cost (tools + payment fees) |
Your time |
Take-home per engagement |
| Speed Audit + Fix Pack (standard site) |
$750 |
$59 (WP Rocket) + $22 (Stripe 2.9% + $0.30) |
8-12 hours |
~$669 |
| WooCommerce / Shopify remediation |
$1,800 |
$59 + $52 |
16-24 hours |
~$1,689 |
| Monthly monitoring retainer |
$149/mo |
$39 (DebugBear) + $4.62 |
30-45 min/mo |
~$105/mo |
| Quarterly re-audit add-on |
$250 |
$7.55 |
2-3 hours |
~$242 |
Your first $1K month = 2 audit + fix packs at $500 (intro pricing) = $1,000 gross, ~$880 take-home. Roughly 16-20 hours of work.
Your first $3K month = 3 audit + fix packs at $750 + 5 monitoring retainers at $149 = $3,000 gross, ~$2,650 take-home. The retainers take almost no time.
Five retainer clients at $149/month is $745 in MRR (monthly recurring revenue) that covers your tooling and base expenses regardless of whether you sell an audit that month. That's why you build the recurring side — it covers your floor so project work becomes profit, not survival.
Startup Costs
- Tooling stack: WP Rocket at $59/year per site (bill the license to the client) — WP Rocket pricing. DebugBear at $39/month once you have retainer clients — DebugBear pricing. GTmetrix paid tier at $10-$20/month for white-label reports — GTmetrix plans. Free tiers of Google PageSpeed Insights, Chrome Lighthouse, and WebPageTest cover most diagnostic work.
- CDN + images: Cloudflare free tier handles 90% of cases; Pro at $20/month when you need edge image work. BunnyCDN at ~$0.01/GB is cheaper for high-traffic sites — Cloudflare plans. Imagify or ShortPixel plugins run $5-$15/month per site, usually billed to the client.
- Site crawler: Screaming Frog free tier covers 500 URLs; £149/year for unlimited on bigger e-commerce sites.
- LLC + EIN + insurance: $35-$500 LLC filing — LLC University 50-state table. EIN is free directly at IRS EIN Online — never pay a third party. E&O (errors and omissions) insurance for a solo developer runs $800-$2,000/year through Hiscox or Insureon.
- Payment + contracts: Stripe at 2.9% + $0.30/transaction, no monthly fee — Stripe pricing. MSA (master services agreement) + SOW (statement of work) templates from Bonsai at $25/month or a one-time attorney review for $200-$500.
Realistic all-in: $500 if you defer the LLC and insurance for the first 60 days while you ship 2 case studies; $2,000 if you file the LLC, bind a year of E&O, and pay for the full tooling stack up front.
Legal & Formation
Business entity. Single-member LLC the day you cash your first check. The LLC separates your personal bank account from the day a client claims your image-compression script broke their checkout during Black Friday. Filing fee is recoverable in your first audit. Sole prop is fine for a 30-day test, but switch before client number three. EIN is free at IRS EIN Online — never pay a third party. S-corp election is worth running the math on once you clear roughly $80K-$100K in net profit; below that the payroll-and-filings overhead eats the savings.
Licenses & sales tax. No state-licensed certification exists for speed work. The fuzzy area is sales tax. Custom development services are non-taxable in most states, but if you bundle a monitoring retainer with hosted access to a dashboard, some states (Texas, New York, Washington) treat that as taxable SaaS. Check your state's current rules at Avalara's SaaS tax tracker. Cross $100K in sales or 200 transactions in a state and you have economic nexus there even without a physical presence.
Industry-specific risk. The single biggest trap is overpromising a PageSpeed score guarantee. Google's score fluctuates with server load, third-party scripts, and Google's own data-collection methodology. Promise "90+ score guaranteed" and you'll get a dispute the week after handoff when the client adds a HubSpot pixel and the score drops to 64. The fix: scope the guarantee to what you changed — "a documented improvement of at least 30 PageSpeed points against the same configuration measured the day work begins" — and write into the SOW that adding new third-party scripts post-engagement voids the commitment. Cap total liability at fees paid in the prior 12 months. Carry E&O — a botched cache config that takes a Shopify store offline during a flash sale can produce losses that dwarf your project fee.
Marketing & First Customers
Your first 5 audit clients come from sites you can find without anyone introducing you. Run PageSpeed Insights on a list of local businesses or niche e-commerce stores. Sites scoring under 50 on mobile are your prospects.
- The cold-with-a-screenshot email. Pick 30 sites in one niche (independent Shopify stores, local law firms, niche WooCommerce shops). Run PageSpeed Insights on each. Email the ones scoring under 50: "Your site is scoring 38 on mobile. The biggest issue is uncompressed hero images costing about 4 seconds of LCP. I fix this for $500 fixed price. Here's a before/after I did for [previous client]." Conversion is 2-5% on a clean list.
- Two free case studies first. Offer your first 2 audits at $0 in exchange for before/after screenshots and a written testimonial. You're buying social proof, not giving away work. Without case studies every cold email is theoretical.
- Indie Hackers and dev.to write-ups. Post a public case study with actual numbers ("Cut LCP from 6.2s to 1.8s on a Shopify store — here's the exact stack"). Indie Hackers readers buy; dev.to ranks in Google for long-tail terms a year later.
- Upwork as a side channel. Upwork's 10% flat fee is bearable for filling slow weeks, but rates trend lower than direct outreach. Use it for client #6-#10, not client #1.
- WordPress and Shopify Facebook groups. Owners post screenshots of slow sites all day. Helpful answers (not pitches) build the inbound.
First 90 Days
- Week 1. File LLC. Get EIN free from the IRS. Set up Stripe. Buy a WP Rocket license for your own dev site and learn it in depth.
- Week 1-2. Set up tooling: PageSpeed Insights, Lighthouse, WebPageTest, Cloudflare account, BunnyCDN account, Screaming Frog. Build a one-page audit report template.
- Week 2-3. Bind E&O insurance ($800-$2,000/year) through Hiscox or Insureon. Draft MSA + SOW templates from Bonsai. Write a one-page rate card: $500 intro, $750 standard, $1,800 e-commerce, $149/month monitoring.
- Week 3-4. Ship 2 free case-study audits. Capture before/after screenshots and written testimonials. These are the only marketing assets that matter.
- Week 4-6. Send 30 cold-with-screenshot emails per week. Price the first 2 paid clients at $500 to remove buying friction. Aim for 2 paid by end of week 6.
- Week 6-8. Publish your first public case study on Indie Hackers and dev.to. Cross-post to LinkedIn.
- Week 8-10. Raise standard pricing to $750. Pitch the monitoring retainer to past clients: "I can keep your score from drifting for $149/month."
- Week 10-12. Day-90 targets: 5 paid audits delivered, 2-3 monitoring retainers signed, ~$2,000-$2,500 gross for the month. Two case studies live and ranking.
Common Pitfalls
- Promising a PageSpeed score you can't control. Client adds a chat widget after handoff and the score drops 20 points. Scope the guarantee to the diff at the moment of work, not the ongoing score. Put it in the SOW.
- Ignoring third-party scripts in the diagnosis. HubSpot, Intercom, ad pixels, analytics tags — usually the biggest drags, and the client controls them. Audit them up front and document which ones are out of scope. Otherwise you'll get blamed for a slow site you didn't cause.
- Pricing by the hour. Hourly puts you in the same bucket as a $15/hour offshore freelancer. Productized fixed-price packages with before/after diffs are the only model that holds margin at $500+.
- Skipping E&O insurance. A botched cache config that crashes a client's checkout during a sale produces real losses. Even with the LLC, gross-negligence claims can pierce the veil. $800-$2,000/year is the cheapest insurance you'll ever buy.
Get your full launch plan — take the free 60-second quiz.