I've built and maintained 235+ WordPress sites over 18 years. Everyone talks about the build phase — the stack, the design, the launch. Almost nobody talks about what happens in month 14, when the client calls because the contact form stopped working and they have no idea why.
Here's what that side of the business actually looks like.
Plugins are a slow-motion liability, not a one-time decision. Every plugin you install is a future maintenance ticket. A contact form plugin updates, a caching plugin conflicts with it, and suddenly a site that "just worked" for a year breaks with zero code changes on your end. I've learned to treat every plugin add as a recurring cost, not a checkbox — fewer plugins, chosen for longevity over features, has saved me more support hours than any performance optimization.
Clients don't report bugs, they report symptoms. "The site looks weird" can mean a broken layout, an SSL cert expiring, a hosting outage, or their browser cache. Non-technical clients can't triage, so they won't — which means your intake process has to do the triage for them. A simple "what page, what device, screenshot" request up front cuts diagnosis time in half.
Hosting is where most "your website is broken" tickets actually live. Cheap shared hosting is the single biggest source of recurring client complaints I see — not code, not design, hosting. A site that's technically well-built on bad hosting still generates support tickets that feel like your fault. Vetting hosting up front is part of the deliverable, even if nobody puts it in the contract.
Scope creep on maintenance is worse than scope creep on builds. A build has a defined end date, so scope creep gets negotiated. Maintenance doesn't — "can you just also update this text" turns into unpaid ongoing work if you don't draw a line early. We now bundle a fixed number of monthly edits into any retainer, explicitly, so both sides know where "included" ends.
None of this is technically interesting. But if you're a developer thinking about freelance or small-agency work, the unglamorous truth is that post-launch support is where most of the actual friction — and actual margin — lives, not the build itself.
Top comments (0)