My Autism Gifts is Rob Hodes's coaching practice for autistic and neurotypical adults building life skills. I worked with Rob (and, on the parts of this story that touch his family, his friend Elizabeth) for about six months in 2026, starting from a WordPress site that had quietly become a liability and ending with a rebuilt business running near capacity. This is the story of what that actually involved — the security work, the platform migration, and the less dramatic but just-as-important fixes to how clients found their way in the door.
The situation
The old site ran on WordPress with the Elementor page builder, hosted through IONOS. It had grown the way a lot of small-business WordPress sites do — plugins added over time, admin access handed out to more people than anyone was still tracking, and no one whose job it was to keep watch on any of it. Rob ran the business; he didn't have the bandwidth to also be its systems administrator.
The original problems
- Unclear admin access. A client-flagged security scan surfaced unauthorized admin accounts left behind by a prior developer.
- Paying for bloat. About $360 a year went to a bundled SEO add-on, on top of plugin bloat left by the original build.
- Slow, manual booking. Scheduling a call took roughly two days of back-and-forth, and there was no intake to prepare Rob or the client beforehand.
- Missed notifications. Form alerts were being rerouted and blocked deep in the site's code, so Rob wasn't seeing them.
- Sparse bookings. The business was sitting at 2 coaching clients.
The security exposure
Rob ran a security scan on the site himself and brought the results to me. Going through it together, we found unauthorized admin accounts that didn't belong to anyone currently involved with the business — leftovers from a prior developer, still sitting there with full access. Rob, Elizabeth, and I worked through the account list together and removed what didn't belong.
So instead of hardening the WordPress site in place, we moved off it entirely.
The rebuild
The new site is hand-coded HTML, CSS, and JavaScript — no CMS, no database, no plugin ecosystem to keep patched. It's version-controlled on GitHub and deploys automatically to Netlify on every push, with DNS cut over to Netlify in early May 2026. Removing WordPress removes the entire class of problem the old site had: there's no admin login to compromise and no plugin supply chain to inherit risk from.
| Before | After | |
|---|---|---|
| Platform | WordPress + Elementor, IONOS hosting | Static HTML/CSS/JS, GitHub + Netlify |
| Admin surface | CMS login, plugin ecosystem, unclear account history | No login surface to compromise; access is git-based |
| Security headers | None configured | CSP, HSTS, X-Frame-Options, Permissions-Policy |
| DNS / network | IONOS default | Cloudflare (DNS/domain management, DDoS protection) |
On top of the platform change, we layered production security headers directly into the Netlify config and put Cloudflare in front of the site for DNS/domain management and DDoS protection — defense that didn't exist on the old setup at all.
What those headers actually do
Tells the browser which sources of scripts, styles, and other content are actually allowed to run on the page — the main defense against injected malicious scripts.
Forces every visit to use HTTPS, closing off downgrade attacks that try to trick a browser into an unencrypted connection.
Stops the site from being embedded in a hidden frame on someone else's page — the standard defense against clickjacking.
Explicitly turns off browser features (camera, microphone, geolocation, and similar) the site never uses, so they can't be abused even if something else goes wrong.
The intake redesign
Security wasn't the only thing costing Rob time. The old "Consultation" page gave a visitor almost nothing to prepare with before their first call — so we renamed it "Clarity Call" and rebuilt it as a warm, guided intake experience: a short set of questions up front, a live Calendly booking widget so the visitor picks a real time slot on the spot, and an automatic confirmation email so nobody's left wondering if the booking went through. This has reduced the call booking experience from manual coordination and back-and-forth communication that previously took two days, if remembered to be done at all, to 2 minutes automatically for every client, saving precious time and money. Both Rob and each client now walk into that first call already knowing what matters, instead of starting from zero.
Cutting a tool that wasn't earning its cost
Rob was paying roughly $360 a year for a bundled SEO add-on through his old host. I built out a free equivalent — Google Search Console, Google Analytics, and Google's other free tools — covering the same ground before the next renewal charge hit, so the ongoing cost dropped to zero without losing the visibility the paid tool provided.
Results
“I gladly recommend Sean. I had the opportunity to meet Sean when he was brought in to assist with the engineering side of correcting my client’s website. Sean’s contribution resolved a security issue and a bloat of products for SEO/AEO left by the original developer at a 90% cost savings per month. My client can now receive all of his alerts that were being rerouted and blocked deep in the coding as well. Sean is timely, reliable, and quite capable due to the training and experience he brought with him. Sean is methodical, engaging, professional, and creatively logical in resolving problems. Though he was already working alongside his family businesses of Retail Therapy Unplugged and Blue Water Detailing, his freshly learned skills from his degree were evident to bring the latest industry standard knowledge. I believe in Sean so much that he is now working on my site as well. Thank you, Sean, for moving the needle forward for my client, and resolving his never-ending loop left behind by the previous website builder team. Thank you, Sean!”
Elizabeth Villalpando · Behavioral Consultant Visit myautismgifts.com ↗
Key takeaways
A security incident is a business-continuity problem, not just an IT problem. The fix that mattered to Rob wasn't a patched plugin — it was not having to think about the site's security again.
Migrate off a compromised platform rather than patch around it. Removing the CMS and plugin ecosystem removed the whole category of risk, not just the one incident.
Free tools can fully replace paid ones. The right free stack matched what a $360/year add-on was doing, with no drop in capability.
Friction in intake shows up as friction in bookings. Giving clients (and Rob) something to prepare with before the first call was worth as much to growth as anything technical.
Carrying similar risk on an old platform?
Security hardening, a platform migration, or a rebuild that treats both as first-class requirements from day one.