A few weeks ago I came across someone posting in a WordPress Facebook group, asking for help with a site that kept breaking after every plugin update. Ordinary stuff, at first — until a few replies in, it came out what the site was actually going to become: a portal where patients would log in, message their provider, and see results. Nobody in the thread was talking about HIPAA. They were talking about a broken contact form.
I wouldn't build that particular thing on WordPress. But the more useful question isn't "would I do this one project on WordPress" — it's the one every healthcare practice with a WordPress site eventually needs a straight answer to: is WordPress HIPAA compliant? Out of the box, no. Made appropriate for a specific, well-scoped use case, yes. Which of those you're dealing with depends on what the site actually does, not what platform it's built on.
Is WordPress itself HIPAA compliant?
This is the wrong question, but it's worth answering directly because it's the one people actually ask. HIPAA doesn't certify software products — there's no compliance seal a CMS, database, or framework can earn and ship with. Instead, it establishes requirements for how covered entities and business associates protect PHI through administrative, physical, and technical safeguards. WordPress core is a tool in the same category as Apache, MySQL, or AWS itself — none of them are "HIPAA compliant" as shipped, and none of them can be, because compliance is a property of a specific, configured deployment, not a product.
We went through this in more depth in an earlier post on what HIPAA-compliant software architecture actually requires — the short version is that AWS being HIPAA-eligible doesn't make an application built on it compliant, and the same logic applies one layer up: WordPress being widely used in healthcare marketing doesn't make a given WordPress installation compliant either. The question that actually matters is what the second half of this post is about.
Does your WordPress site actually handle PHI?
Most WordPress sites built for medical practices are marketing sites: hours, location, provider bios, insurance accepted, a blog. That kind of site carries comparatively little HIPAA risk, because it never touches protected health information in the first place — there's nothing to protect. A lot of "is my WordPress site HIPAA compliant" anxiety gets resolved right here, once someone actually maps out what the site does rather than assuming risk from the industry it serves.
The calculus changes the moment a site starts collecting or transmitting PHI. That's not always as obvious as "a login page" — it includes:
- Appointment request forms that ask for a reason for visit, symptoms, or insurance details.
- "Message us" or intake forms patients use to describe a condition, not just request a callback.
- File uploads — insurance cards, referral letters, photos of a symptom.
- Any real portal functionality — authenticated access to messages, records, results, or billing.
- Analytics and session-replay tools that capture what a visitor typed into a field before they hit submit.
The Facebook thread that started this post was at the far end of that spectrum — a login, messaging, and results portal is a fundamentally different system than a contact form, even though both might start life as "a WordPress site."
Hosting and the BAA
If a hosting provider stores, processes, or transmits ePHI on your behalf, you generally need a signed Business Associate Agreement with them — the same rule that applies to any vendor in the data path. A BAA establishes required contractual responsibilities, and a business associate can also carry direct obligations and liability under the HIPAA Rules independent of that contract. None of that configures your application, though: signing a BAA doesn't encrypt a database, doesn't restrict who can log into wp-admin, and doesn't generate an audit trail. It's also worth knowing HHS carves out narrower "conduit" cases — a courier or ISP that only moves data through without routine access to it — where a BAA isn't required at all, which is a distinction worth getting right rather than assuming every vendor touching a byte of traffic needs one.
This is where a lot of "HIPAA-compliant WordPress hosting" marketing quietly falls short in practice. Many standard managed WordPress plans aren't built for workloads involving ePHI, and won't support the level of infrastructure control that may be appropriate for the site's risk profile — private network isolation, encryption keys you control, custom firewall and access rules, real audit logging at the infrastructure layer. That requires more diligence than picking a host with a HIPAA badge on its pricing page: verify whether the provider will actually sign a BAA where one is required, and whether its service can support whatever your own risk analysis says this specific site needs.
The WordPress plugin problem
WordPress's biggest strength — a plugin for almost anything — is also its biggest HIPAA liability. A perfectly normal, non-exotic WordPress site accumulates a contact form plugin, an off-site backup service, an SMTP relay for outbound mail, an analytics or heatmap tool, a live chat widget, and a security or firewall plugin that phones home with logs — often without anyone treating that list as a decision, just a series of "install this, it's free" moments over a few years.
Each one of those is a data path. A patient types a symptom into a form field; the form plugin routes the submission through its own servers to deliver the email; the SMTP provider now holds a copy; the backup plugin snapshots the entire database off-site every night; the analytics tool may be capturing form input via session replay; the security plugin ships its logs to a SaaS dashboard. Almost none of those vendors have signed a BAA, and most of them were never built with PHI in mind at all. It's the classic "vendors nobody thinks of" problem, except WordPress makes it worse — installing a new plugin takes an afternoon and no security review, which is exactly how these paths appear without anyone deciding they should exist.
Technical safeguards I'd expect once PHI is involved
None of what follows is WordPress-specific — it's the same technology-neutral safeguards covered in more depth in our HIPAA architecture post. The current HIPAA Security Rule doesn't mandate a specific stack; it requires things like unique user identification, access controls, and audit controls, built on an ongoing risk analysis. Encryption is currently an addressable implementation specification rather than an automatic requirement in every circumstance. MFA is not expressly mandated by the current rule, but I'd treat both encryption and MFA as baseline protections for any internet-facing system handling PHI, not options to document your way out of. What's WordPress-specific is that almost none of this is default behavior on a platform built for easy extension, not lockdown:
- Individual user accounts, not shared logins — unique user identification is an explicit requirement, not just good hygiene.
- Role-based access control, with MFA as a baseline — access should be limited according to each person's responsibilities, with MFA enforced anywhere PHI can be reached over the internet.
- Audit logging — who logged in, edited, or exported data, and when, retained somewhere an admin can't quietly edit.
- Encryption at rest and in transit — not just a TLS certificate on the front end, but encrypted database storage and encrypted backups.
- Backups treated as PHI — encrypted, access-controlled, and covered by the same BAA requirements as the live data.
- A real patching cadence for core, themes, and every plugin — WordPress itself recommends keeping all three updated promptly as a baseline security practice, which is a floor, not a HIPAA program, but skipping it undermines everything built on top of it.
- Ongoing vulnerability management — scanning and reviewing the plugin list on a schedule, not just at launch.
- An incident response plan — what actually happens in the first 24 hours of a suspected breach.
This list is about what the system itself needs in place. The checklist further down is about what questions to ask before you build or inherit a WordPress site that touches PHI — the operational side of the same problem.
When WordPress is appropriate
WordPress is a genuinely good fit for public healthcare marketing sites, patient education content, provider directories and location pages, and appointment-request workflows that collect only the minimum information needed and route it directly into an approved scheduling system, rather than storing submissions in WordPress. It's also fine as the front end for a blog or resource library. In all of these cases, the deciding factor is deliberate scope: hosting and plugins locked down, and PHI kept out of the site entirely rather than collected and then protected after the fact.
When a separate application is better
Once a project starts to look like a real patient portal — authentication, secure messaging, medical record access, multi-step clinical intake — WordPress usually stops being the right tool. Not because it's impossible to secure, but because of the ongoing tax: every plugin update becomes a re-audit, every new feature is a potential new PHI path, and the surface area to review keeps growing faster than a small team can reasonably keep up with. A purpose-built application, scoped narrowly to the actual patient workflow, is usually cheaper to secure and far easier to govern over time — the same principle of keeping PHI's footprint small, just applied at the platform-choice level instead of the data-model level. A patient portal we built for a Boston-area practice, designed around HIPAA-aligned technical safeguards and a deliberately limited PHI footprint, is that approach in production: a small, purpose-built application, not a general-purpose CMS retrofitted to carry PHI.
This is exactly the situation from the Facebook thread that started this post: a login-and-messaging patient portal is precisely the case where I'd steer someone toward a small purpose-built application instead of WordPress, even though it's more upfront work than installing another plugin.
A practical checklist
Before collecting any patient information through a WordPress site, a healthcare organization should have a real answer — in writing — to each of these:
- Does any form on this site ever collect health information, even something as small as a "reason for visit" field?
- Who has admin access to WordPress, and does each person log in with an individual account and MFA?
- What plugins are installed, and does each one ever touch form submissions, backups, or site data — and has that vendor signed a BAA where it matters?
- Is the hosting provider willing and technically able to sign a BAA and support the isolation, encryption, and logging that go with it?
- Is there a current, documented security risk analysis specific to this site, not a generic template?
- Is there an owned, working patching process for WordPress core, the theme, and every plugin?
- If the site collects identifiable information from someone seeking care — even before symptoms or records are involved — map exactly where that information goes, and decide whether WordPress should be the system handling it.
Where this leaves you
WordPress isn't HIPAA compliant out of the box, and no vendor badge changes that. It can be made appropriate for the right use case — but the work is almost entirely hosting and lockdown, not theme or plugin shopping: a host willing to sign a BAA where required and capable of supporting the encryption, access controls, logging, and isolation identified by the site's risk analysis, an audited plugin list instead of an accumulated one, individual accounts with MFA, and a patching process someone actually owns. We do exactly this kind of work — hardening an existing WordPress site down to what a specific, well-scoped healthcare use case actually needs, or helping a practice recognize when a workflow has outgrown WordPress entirely and belongs in a purpose-built application instead. If you're not sure which side of that line your site is on, tell us what the site actually collects and we'll give you a straight read.