WordPress Development
The shortcut: Stop selling one-off WordPress builds. The money is in $150-$299/month maintenance retainers — six of them outpay any single $2,000 build, and they don't disappear after delivery.
Industry: Software & Tech | Investment level: Micro — $300-$1,000 | Time to launch: 3-6 weeks (LLC + first hosting partner sign-up + first two paying clients gate the launch)
Best for: Someone who can install a theme, debug a plugin conflict, and explain a DNS record to a non-technical client without sounding condescending. You don't need to be a PHP wizard. You need to be the person a small business calls when their site goes down at 9 PM. What you'll likely make: $600-$1,200 month 3, $1,800-$3,200 month 6, $3,500-$6,000 month 12. Math is in Section 4.
Market Opportunity
Every small business owner you know has a WordPress site that someone built three years ago, and they have no idea who maintains it. That's your wedge. WordPress runs roughly 43% of all websites, which sounds like brutal competition until you notice that almost none of those sites have an active caretaker. The friend who built it moved on. The agency went out of business. Plugin updates stopped happening.
So the market isn't "build me a new WordPress site" — it's "please own my existing one." A new build pays $500-$2,000 once and ends. A maintenance retainer pays $150-$299 every month for years. Most freelancers chase the build; the ones making real money chase the retainer.
The trap is framing yourself as a designer. Designers compete with $29 templates and Fiverr listings. The fix is framing yourself as the ongoing site caretaker — the person who handles updates, backups, uptime, and small content edits so the owner never has to log into wp-admin. That role barely has competitors at the small-business level, because most agencies won't touch a $200/month account. Local businesses, churches, restaurants, law firms, and dental practices are the sweet spot.
Launch With AI
Pro section. AI doesn't replace the work — it cuts the parts that drained you (writing the audit Loom script, drafting the monthly maintenance email, troubleshooting a plugin conflict at 9pm, generating placeholder copy that doesn't sound like ChatGPT). Spend the saved time on what AI can't do: picking up the phone when a client's site goes down, walking a dental practice manager through a credential vault setup, and being the operator who actually owns the site.
The trap most first-year WordPress freelancers fall into: they think AI is for AI agencies, not for site caretakers. Backwards. The bottleneck on hitting your sixth retainer client isn't the technical work — it's the writing tail (audit reports, monthly emails, plugin conflict summaries) that eats your only quiet hour each day. AI compresses that into 30 minutes a week and gives you back the afternoon to actually run staged updates.
Important up-front: AI cannot run your weekly staged updates, recover a corrupted database, or replace the credential-vault hygiene from Section 6. It will also confidently hallucinate WordPress hook names and plugin function signatures — every PHP snippet needs a human pass against the live theme. You set the policy; AI scales the documentation around it.
AI Tools You'll Use
| Tool |
Price |
What it does |
| ChatGPT Plus |
$20/mo |
Audit reports, blog content, monthly retainer emails, support-ticket triage, sales SOWs |
| Cursor |
$20/mo |
PHP snippets, custom theme tweaks, child theme functions, plugin fork edits |
| Yoast AI / Rank Math AI |
$99/yr Yoast Premium |
SEO meta titles, descriptions, internal linking suggestions, schema markup |
| Elementor AI / Bricks AI |
included with builder |
Page-section copy, layout suggestions, image alt text, hero variants |
| Loom AI |
free |
Free site audits, monthly retainer walkthroughs, "what changed this month" deliveries |
The Workflow
Free site audit Loom (Loom AI + ChatGPT, ~25 min/audit). This is your conversion machine — 20-30% of free audits become paying retainers. Open the prospect's site, screen-record a 10-minute walkthrough flagging speed issues, broken plugins, missing backups, security gaps. Loom AI auto-titles, auto-summarizes, generates a transcript. Paste the transcript into ChatGPT:
"I just recorded a free WordPress site audit Loom for [prospect, business type]. Below is the Loom AI transcript. Write a 1-page follow-up email: (a) thank-them line that names their business, (b) the 5 things I found (with severity: critical / important / nice-to-have), (c) the recommended fix as either an immediate $499 'cleanup + first month free maintenance' offer OR a $149/mo standard retainer starting next week (let them choose), (d) a one-line close that frames the work as protecting their business, not technical cleanup. Tone: friendly local-business operator, not agency."
Send within 4 hours of the audit. The conversion-to-paid jump from 8% to 25%+ is entirely about written follow-up speed.
Plugin/theme conflict triage (ChatGPT, ~15 min/incident). A client emails "the contact form stopped working." Most freelancers spend 90 min Googling. Paste:
"A client's WordPress site (Astra theme + Elementor + Gravity Forms 2.7.x + WooCommerce 8.x + Wordfence) just had the contact form stop submitting. Browser console shows [paste]. Most likely cause based on plugin version interaction? Give me: (a) 3 ranked hypotheses with evidence, (b) for each, the 60-second test to confirm or rule out, (c) the fix once confirmed, (d) the 1-line client-friendly explanation I can paste into the support reply."
Verify the hypothesis on staging before touching production. ChatGPT misses environment-specific issues — but it ranks the hypothesis space faster than you can.
Custom PHP snippets + child theme functions (Cursor + Claude, ~30-60 min/snippet). Open Cursor with Claude 3.5 Sonnet. Most maintenance retainer clients eventually need a small custom function — a metadata field, a checkout filter, a custom shortcode. Paste:
"I'm writing a child theme function for a WordPress site running [theme + key plugins]. The client wants: when a WooCommerce order ships, send a custom email with the tracking number AND post a message to their Slack #orders channel via webhook. Generate: (a) the action hook function in functions.php, (b) the email template HTML, (c) the Slack webhook POST function, (d) error handling so a failed Slack post doesn't block the email. Include hook names verified against current WordPress core, and an if (!function_exists()) guard. Code only, no setup prose."
You verify hook names on the WordPress hooks reference before pushing to production. The first one of these is 2 hours; the fifth is 30 min because your snippet library grows.
SEO + content for retainer clients (Yoast/Rank Math AI + ChatGPT, ~45 min/post). Premium retainer clients ($299/mo tier) get content posting bundled. Yoast Premium and Rank Math both ship AI generation for meta titles, descriptions, and schema. For a 600-word blog post for a [law firm / dental practice / local restaurant], paste:
"Write a 600-word blog post for [client business + location] targeting the search query [keyword]. Tone: warm local-business owner, not generic SEO. Include: (a) hero paragraph with the local hook (city/neighborhood + relevant local context), (b) three subheaders covering [topic 1, topic 2, topic 3], (c) an internal-link suggestion to their service page, (d) FAQ schema (3 questions) for Rank Math to render, (e) meta title 55-60 chars + meta description 150-160 chars. Output as ready-to-paste WordPress block editor markdown."
Drop into the WordPress block editor. Yoast/Rank Math AI runs the schema and internal-link suggestions automatically. Total time: 45 min instead of 3 hours.
Monthly retainer email (ChatGPT + ManageWP/MainWP export, ~15 min/client). Every retainer client gets a 1-page email the first business day of the month — that's what makes them not churn. ManageWP/MainWP exports updates run, backups taken, uptime score. Paste:
"I run the WordPress maintenance retainer for [client]. Below is the ManageWP export for this month. Write a 1-paragraph client email: (a) the headline number (uptime % this month + plugin updates run), (b) what I fixed (named: 'updated WooCommerce 8.4 → 8.5 after staging test, fixed a Gravity Forms style conflict, cleaned 12 spam comments'), (c) one win for them ('contact form submissions up 18% this month after the speed fix'), (d) any flag for next month (a plugin to deprecate, a theme update to plan). 4 sentences max. Tone: warm operator, not vendor template."
Send via Mailchimp or your email client. The 4-sentence email beats every long-form retainer report — clients read 4 sentences and trust you; they don't read a PDF.
Time Saved Per Week
Roughly 5-7 hours/week once your audit template, snippet library, and report format are built:
- Free site audits + follow-ups: 90 min/audit → 25 min (Loom AI + ChatGPT email)
- Plugin/theme conflict triage: 90 min/incident → 15 min (ChatGPT hypothesis ranking)
- Custom PHP snippets: 2 hours/snippet → 45 min (Cursor + reusable library)
- SEO content posts: 3 hours/post → 45 min (ChatGPT + Yoast/Rank Math AI)
- Monthly retainer emails: 30 min/client → 15 min (ManageWP export + ChatGPT template)
Trade that time for: filing for the Webflow… no, the Bricks Builder agency listing, the third local Facebook group you should be active in, and the WP Engine Agency Partner application. Those compound; admin doesn't.
Total AI Stack Cost
- Budget tier ($20/mo): ChatGPT Plus only. Cursor's free tier handles small PHP snippets; Yoast Free covers basic SEO; Elementor's built-in AI is included; Loom AI is free. Right for the first 60 days while you ship the first 3-4 retainers.
- Full tier ($48/mo): ChatGPT Plus + Cursor + Yoast Premium ($99/yr ≈ $8/mo). Worth it after retainer 4 — the time saved on PHP snippets and SEO content compounds across every premium-tier ($299/mo) retainer client.
- Compare: A junior WordPress contractor doing your audit follow-ups, content writing, and monthly emails runs $400-$1,200/month. The full AI stack is one-tenth that cost and the operator voice your dental and law clients trust stays yours.
Cancel anything you don't open in a 7-day window. The trap on the WordPress side is buying 3 different SEO plugins — pick Yoast OR Rank Math (not both) and stay there.
Your First Win
30 minutes from now your free-audit template is built. Open ChatGPT (free tier works for this one). Paste:
"I'm a freelance WordPress maintenance freelancer in [your city]. Build me a 1-page free site audit template I can use for every prospect. Include: (a) a checklist of 12 things I'll inspect (PHP version, plugin count, last backup date, last core update, SSL status, page speed, Wordfence status, broken links, image alt text coverage, sitemap, GA4 install, WooCommerce safety if applicable), (b) a severity scale (red/yellow/green), (c) a 3-line written summary template I'll fill in after each audit, (d) a 'recommended next step' that pivots into either a $499 'cleanup + month 1 free maintenance' offer OR a $149/mo standard retainer starting next week. Output as a Notion-ready template with each field labeled '[FILL]' for me to complete per audit."
Use the same template on every audit going forward. The audit-to-paid conversion rate jumps from 8% to 25%+ when the prospect leaves the call holding a written diagnostic instead of "I'll send some thoughts." That single template is worth your first $20K in maintenance retainer revenue.
Product / Service Offering
Two products, one of them does the heavy lifting:
- Maintenance retainer ($150-$299/month). Core + plugin updates run weekly on staging first, daily backups via UpdraftPlus or hosting-level snapshots, uptime monitoring through UptimeRobot, monthly security scan, and 30 minutes of content edits. This is the engine.
- One-time builds ($500-$2,000). Five-to-ten-page brochure sites on Astra or GeneratePress with Elementor or Bricks Builder. Every build proposal includes month one of maintenance free, then converts to monthly billing in month two.
Skip e-commerce builds for the first six months. WooCommerce maintenance is a different risk class — checkout breakage, PCI scope, plugin-conflict storms. Brochure and lead-gen sites for service businesses are the clean lane. Pick one page builder and stay with it.
Revenue Model
Unit economics for a solo WordPress freelancer working from a laptop, no employees:
| Service |
Price |
Variable cost (hosting reseller, tools) |
Your time |
Take-home per client/month |
| Basic maintenance |
$149/mo |
~$15 (hosting + ManageWP slot) |
1.5-2 hrs |
~$130 |
| Standard maintenance + 30 min edits |
$199/mo |
~$15 |
2-2.5 hrs |
~$180 |
| Premium maintenance + content posting |
$299/mo |
~$20 |
3-4 hrs |
~$275 |
| One-time 5-page build |
$1,200 |
~$50 (theme + plugins) |
12-18 hrs |
~$1,100 |
Your first $1K month = 6 standard retainers at $199 = $1,194 gross, ~$1,080 take-home. About 12-15 hours of work.
Your first $3K month = 12 retainers at $199 + one $1,200 build = ~$3,588 gross, ~$3,200 take-home. About 30 hours of work.
The retainer math is what separates this from the project-treadmill freelance experience. Fifteen retainer clients at $199/month = $2,985/month before you do a single new build, and those clients almost never quit because they don't want to think about their website. Web maintenance retainer churn typically runs 2-4% monthly — far lower than most subscription software.
Startup Costs
- Domain + business email: ~$15/year domain (Namecheap, Porkbun) + Google Workspace at $7/user/month or Hostinger Business Email at ~$2/month per inbox.
- Managed hosting (your own dev environment): Cloudways at $14/month for the cheapest DigitalOcean droplet, or WP Engine at $25/month for premium hosting.
- Multi-site maintenance dashboard: ManageWP free tier covers updates and backups across unlimited sites; add-ons run $1-$2/site/month. MainWP is the self-hosted free alternative.
- Page builder license: Bricks Builder $79 one-time, or Elementor Pro at $99-$399/year.
- Caching + backups: WP Rocket at $59/year (or $199/year agency tier). UpdraftPlus Premium $70/year, or hosting-level snapshots built into Cloudways and WP Engine.
- 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 insurance for a solo dev runs $800-$2,000/year.
- Password manager (client credentials): 1Password Business $7.99/user/month or Bitwarden Teams $4/user/month. Required, not optional — see Section 8.
Realistic all-in: $300 if you defer insurance for 60 days and start with the free MainWP + Cloudways combo; $1,000 if you bind insurance up front and pay annual on Bricks, WP Rocket, and ManageWP add-ons.
Legal & Formation
Business entity. Single-member LLC the moment you have your second paying client. The filing fee is recoverable in your first month of retainer revenue, and the personal asset protection matters the first time a client's site goes down during Black Friday and they start talking lawsuit. Sole prop is fine for the first 30 days. Get your EIN free at IRS EIN Online — never pay a third party. S-corp election isn't worth the payroll overhead until net profit clears roughly $80K-$100K/year.
Licenses & sales tax. No state requires a license to build WordPress sites. Sales tax is messier than most freelancers realize: custom development billed as professional services is generally not taxable, but the line blurs once you're billing a recurring monthly fee that bundles hosted maintenance. A handful of states tax recurring digital services even when the underlying work is labor. Check your state at Avalara's SaaS sales tax tracker before you write your first retainer invoice. Economic nexus kicks in at $100K in sales or 200 transactions per state, but most solo freelancers stay well under that for years.
Industry-specific risk. The killer trap is the credential lockout blame loop. Client changes their hosting password without telling you, WordPress auto-updates fail because you can't get in, the site breaks, and the client treats it as your fault. Fix this in the contract. Every maintenance MSA needs three things: (1) you hold hosting admin and WordPress admin access as a condition of the retainer, (2) all credentials live in a shared password vault the client owns (1Password or Bitwarden) — not a Google Doc, (3) an escalation clause that pauses the SLA if the client revokes your access. Without this, your first lockout becomes a chargeback and a one-star Google review. Pair it with E&O insurance ($800-$2,000/year) so a single botched plugin update can't bankrupt you.
Marketing & First Customers
Your first ten clients don't come from cold outreach. They come from people who already know your name. The order that works:
- Audit your network. Text or email 25 small-business owners you know — restaurant owners, dentists, church admins, friends who run anything with a website. Not a pitch. A question: "Who currently manages your WordPress site?" About a third will say "uh, nobody really." Those are your first conversations.
- Local Facebook groups and Nextdoor. Post once a week answering one specific WordPress question someone asked. Don't pitch in the post. Pitch in the DM after they reply. Slow on week one, dominant lead source by month three.
- The "free site audit" lead magnet. A 10-minute Loom walking through someone's actual site — speed, security, broken plugins, missing backups — converts at 20-30% to a paying retainer. Offer five free audits per month on LinkedIn and to your warm list. Ask for hosting login first so the audit is real.
- Hosting partner programs. WP Engine Agency Partner and Kinsta Agency Partner get you referral revenue and directory inclusion once you hit modest volume. Worth registering at month four, not day one.
- Upwork as a stopgap. Upwork's 10% flat service fee is fine for filling a slow month, but the buyers there want $300 builds. Skip Google Ads for the first six months — the cost-per-click on "WordPress maintenance" is brutal.
First 90 Days
- Week 1. File LLC. Get EIN free at IRS. Open a business bank account (Mercury, Relay, or your local credit union).
- Week 1-2. Sign up for Cloudways or WP Engine. Spin up a dev environment. Buy your Bricks license and learn it on a demo site. Set up MainWP or ManageWP free tier.
- Week 2-3. Write your maintenance MSA + SOW (Bonsai or Hello Bonsai templates; $200-$400 attorney review before client three). Bake in the credential-access clause from Section 5.
- Week 3-4. Text 25 warm contacts. Offer 3 free site audits per week. Aim for two paying retainers by end of week 4 at $149-$199/month each.
- Week 4-6. Onboard those clients. Document hosting, DNS, plugin list, and backup status in a shared 1Password vault. Run their first staged update.
- Week 6-8. Post one weekly answer in two local Facebook groups. Land your third and fourth retainers. Add UptimeRobot monitoring for every client.
- Week 8-10. Pitch your first one-time build to an existing retainer client (refresh, landing page, blog migration). Target: $1,000-$1,500.
- Week 10-12. Bind E&O insurance. Aim for 6-8 retainers at $199 average + 1 build = ~$1,800-$2,400/month, ~$1,600-$2,200 take-home.
Common Pitfalls
- Updating plugins live without a staging check. A WooCommerce or theme update breaks checkout at 2 AM and you spend Sunday rebuilding. Run every update on staging first (Cloudways and WP Engine include one-click staging) or write an "updates at client's risk" clause and price it lower.
- No shared password vault. Storing client credentials in a Google Doc or your personal 1Password is the lockout disaster waiting to happen. Use a shared Bitwarden or 1Password vault the client owns. They keep access, you have access, nobody is guessing passwords at midnight.
- Building WooCommerce sites in your first six months. Checkout, payment integrations, PCI scope, tax plugins, and shipping calculators turn a $1,500 build into a 60-hour nightmare with permanent support liability. Brochure and lead-gen sites only until you have a year of retainer income to absorb a bad WooCommerce build.
- Chasing $300 builds on Upwork. Bottom-bid builds attract clients who haggle over every revision and never become retainers. Your minimum build is $1,000, and every build proposal includes month one of maintenance free, converting to a retainer in month two. If they won't take the retainer, they're not your client.
Get your full launch plan — take the free 60-second quiz.