EU compliance audit for WordPress: accessibility, NIS2/DORA, AI Act

EU compliance audit for WordPress: accessibility, NIS2/DORA, AI Act

8 min read
Guide

#Who delivers EU compliance audits for WordPress?

WP Poland is one senior developer, Mariusz Szatkowski, working with WordPress since 2006 from Gdynia. I run each EU compliance audit myself, on WooCommerce stores, regulated-sector portals and sites sold into public procurement, without bringing in anyone else. I sit on the WordCamp Europe organising team (2024-2027), which keeps my practice tied to accessibility and security practitioners across Europe, not just directive summaries.

#What does the EU compliance audit include?

One purchase, three regimes on the WordPress layer:

  • Accessibility (EAA / WCAG 2.2 AA) - storefront, checkout, forms, media
  • Cybersecurity and supply chain (NIS2 / DORA) - plugins, hosting, ICT integrations, incident path
  • AI Act - labelling of AI-generated content, on-site model usage policies

Deliverables: written report, prioritised remediation backlog, procurement evidence pack.

#Where is the audit available?

I work remotely for clients in Poland, Germany, the Nordics, Portugal, Spain, and the wider EU. Report languages: English and Polish. The audit needs staging access or a production copy with read-only restrictions where possible.

#How much does the EU compliance audit cost?

Individual quote - depends on how many regimes apply, store or portal size, plugin and integration count, and whether P0 remediation runs in parallel with the audit.

ScopePriceNotes
Baseline audit (one regime)individual quoteE.g. EAA only on a WooCommerce store
Full audit (EAA + NIS2/DORA + AI Act)individual quoteConsolidated report and single backlog
Post-audit remediationindividual quoteOptional, separate timeline

I do not publish fixed public price lists because regime scope differs between a micro-store and a financial portal.


#What is an EU compliance audit for WordPress?

EU procurement teams increasingly score accessibility, cybersecurity, and AI on the same supplier sheet. You already have articles on WCAG, BFSG, and EAA, NIS2 and DORA on WordPress, and AI Act content labelling. What was missing is a service that closes all three threads on one WordPress install without three vendors and three inconsistent reports.

The EU compliance audit is a consolidated technical review: what on your site breaches or risks breaching obligations under Directive 2019/882 (EAA), Directive 2022/2555 (NIS2), Regulation 2022/2554 (DORA), and Regulation 2024/1689 (AI Act). I do not re-explain the directives here - links point to my blog posts and EUR-Lex.

Deadlines drive traffic: EAA applies to new services from 2025-06-28, NIS2 is transposed in member states with duties for essential and important entities, DORA covers financial services from 2025-01-17, and the AI Act phases in from 2025. If a buyer asks for evidence before you sign, this audit answers in a format procurement can file.

#Audit scope for EAA, NIS2, DORA and the AI Act

The table below is the technical scope on WordPress. Legal detail and implementation checklists live in the linked articles - here I only state what I measure on your install.

RegimeAudit scope on WordPressDeeper reading
Accessibility / EAAWCAG 2.2 AA on purchase paths, forms, keyboard navigation, contrast, media, accessibility statementWCAG, BFSG, and EAA compliance stack
NIS2 / DORAPlugin and ICT integration register, hardening, 24h/72h incident path, DORA register-of-information fields, third-party riskNIS2 and DORA: 2026 compliance stack
AI ActAI-generated content labelling, model usage policy, auto-summarisation forms, on-site chatbotsAI Act: labelling AI-generated content

The audit does not replace legal counsel or a formal VPAT. It does give a technical gap map that external lawyers or auditors can fold into a broader assessment without rescanning code.

#What do you get after an EU compliance audit?

At the end of the engagement you receive three artefacts procurement actually reads:

  1. Written report (PDF) split across the three regimes. Each finding has a P0-P3 priority, evidence (screenshot, code excerpt, log), and remediation instructions a WordPress developer can implement without back-and-forth.
  2. Remediation backlog in a format ready for Jira, Linear, or a spreadsheet - task dependencies, effort hints, and whether the fix belongs in theme, plugin, or hosting configuration.
  3. Procurement evidence pack - ICT supplier map (hosting, CDN, payments, email, analytics), plugin versions, update policy, incident notification path sketch aligned with NIS2 expectations.

Plus a 30-minute video walkthrough for engineering and compliance. I answer follow-up questions for 30 days while you work through the backlog.

#How are audit findings documented and closed?

Every finding receives an identifier, affected URL or template, environment, reproduction steps, expected behaviour and a supporting artefact such as a screenshot, code excerpt, response header or configuration export. Credentials and unnecessary personal data are removed before evidence enters the report.

Automated scanners are used for coverage, not as the final verdict. Accessibility samples include keyboard operation, focus order, error recovery and selected screen-reader checks on critical paths. Security and resilience work compares the installed plugin and integration inventory with ownership, update and incident procedures. AI controls are checked against the tools actually used, their data paths and the disclosure visible to users.

A finding closes only when one of three states is recorded:

  1. Remediated and retested using the original reproduction method, with new evidence attached.
  2. Compensating control accepted with an owner, review date and explanation of the remaining limitation.
  3. Risk accepted in writing by the client, separate from my technical recommendation.

Access follows least privilege. Read-only accounts and a production copy are preferred where practical, access removal is confirmed at handover and working copies follow the agreed project-retention period. The final report states its technical scope and date; it is not presented as permanent certification or legal advice.

#Who needs an EU compliance audit for WordPress?

Not every WordPress site needs the full three-module scope. Most often commissioned by:

  • WooCommerce stores selling to EU customers after the EAA effective date - especially checkout, product filters, and contact forms.
  • Regulated-sector firms (finance, insurance, critical infrastructure) or their ICT suppliers, where NIS2 and DORA land in the same RFP as accessibility.
  • Public sector and government contractors who must show WCAG and supply chain evidence before signing a framework agreement.
  • Agencies selling WordPress to EU buyers who want one reference audit instead of three subcontracted offers.

If you are a micro-enterprise with a narrow EAA exemption, I say so on the first call and do not invoice for out-of-scope modules.

#How does the EU compliance audit work step by step?

Five steps from the howTo frontmatter - in practice:

Step 1 - brief. Describe site type, countries, sector, and integrations (payments, CRM, AI tools). Without this, regime scope is guesswork.

Step 2 - regime scoping. On the call I confirm whether EAA, NIS2/DORA, AI Act, or a subset applies. I point to blog posts if your internal team needs legal context before signing.

Step 3 - proposal. Individual quote, timeline, required access (staging, read-only SFTP, plugin list).

Step 4 - audit. Automated WCAG scan on representative URLs, manual sample of critical paths, plugin review for NIS2/DORA, AI labelling check. I can close P0 gaps in parallel if contracted.

Step 5 - report and handover. PDF, backlog, evidence pack, recording. Optionally I move into remediation or ongoing WordPress maintenance with quarterly re-audit of selected modules.

#EAA audit example on a WooCommerce store

In Q2 2026 I completed EAA scoping for an anonymised WooCommerce store (40+ products, standard block theme, three payment and marketing plugins). Within two weeks of kick-off I delivered a WCAG report with 23 findings, seven marked P0 on checkout (field labels, mini-cart focus trap, pay button contrast). The backlog went to the client team as ready tickets; I closed P0 remediation in the following sprint. No client name, no invented metrics - typical post-EAA project shape.

This audit aggregates three pillars. If you need a deeper dive on one regime, standalone services exist:

ServiceWhen separateLink
Accessibility audit WCAGEAA only, without NIS2 and AITheme remediation philosophy
NIS2 and DORA readinessFinancial sector, ICT supplier registerDeeper DORA Article 28 mapping
WordPress security auditIncident, malware, hardening without compliance framingCleanup and hardening after breach

Blog deep-dives (detail lives here, not repeated above):

Primary sources (EUR-Lex): EAA 2019/882, NIS2 2022/2555, DORA 2022/2554, AI Act 2024/1689.

Ready to commission the audit? Send a brief via the contact form with your site type, sector, and the deadline by which you must show compliance evidence.

Explore other WordPress services and knowledge base

Recommendations from LinkedIn

Recommendations and reviews of working with WPPoland

Recommendations from people in the WordPress, WordCamp and e-commerce communities. They write about delivery on time, technical depth and a business-minded approach to site development.

Karolina Czapla

Karolina Czapla

Marketing Strategist, Performance & Digital Strategy

“Working with Mariusz on WordCamp has shown me how rare it is to combine deep technical skill with genuine leadership. He plans, coordinates and delivers with precision, while giving the team space to grow and contribute. When others say 'it can't be done', he quietly finds a way.”

Co‑organiser, WordCamp Gdynia 2024 & 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“Mariusz's portfolio speaks for itself. It reflects his precision, versatility and sense of responsibility. You can trust him to guide a project from idea to delivery, keep stakeholders informed and make sure things are done properly and on time.”

Worked on the same team

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

IT Project Management & Product Owner, Web/App

“For over two years I could always rely on Mariusz to handle WordPress tasks calmly and professionally, from styling and templating to third‑party integrations. He brings steadiness to the team and keeps the frontend side of projects under control.”

Mariusz was her client for WordPress work

Argert Boja

Argert Boja

Senior Full‑Stack Developer

“Mariusz is the teammate everyone hopes for: strong full‑stack WordPress skills, clear explanations and a positive attitude even under pressure. He moves easily between custom plugins, performance work and Gutenberg layouts while keeping the bigger picture in mind.”

Worked alongside Mariusz on WordPress projects

Varun Patil

Varun Patil

Growth & CRM Lead

“Beyond development, Mariusz understands SEO, analytics and growth. He talks directly with stakeholders, asks the right questions and ships solutions that move business metrics, from AMP to tracking to performance.”

Managed Mariusz on growth initiatives

Rafał Osiński

Rafał Osiński

Founder @ EasyTrips.pl, Senior WordPress Dev

“I've known Mariusz through the WordPress community for many years. He's reliable, deeply involved and consistently shows up, at meetups, WordCamps and in projects. If you care about long‑term collaboration and someone who treats your site like his own, he is the right person.”

WordPress community co‑organiser

Daniel Blossfeld

Daniel Blossfeld

Process Optimization & Digitalization Consultant

“I had the pleasure of working with Mariusz for almost three years. During that time, his WordPress development skills proved invaluable across a range of projects, from website builds to online member areas and even Shopify integrations. He's a reliable and capable developer.”

Mariusz was his client for WordPress work

Natalie Wiszczor

Natalie Wiszczor

CRM & E-Mail Marketing Manager

“I had the great pleasure of working with Mariusz for over 4 years in the technical field. During this time, he proved to be a competent and reliable colleague. What stood out in particular was his friendly nature and his remarkable perseverance in solving complex technical challenges. Even in stressful situations, he always kept a clear head and contributed significantly to a positive and productive working atmosphere with his upbeat attitude. 🙏🏻🚀”

Worked with Mariusz on different teams

Mark Chalklen

Mark Chalklen

Head of Design & Build at Itineris Limited

“Mariusz is a great member of the team, always happy to get stuck into any task and happy to learn new things. A great communicator and all round nice guy to work with. Hard to beat on our weekly Strava leader board though!”

Managed Mariusz directly

Jessica Di Pasquale

Jessica Di Pasquale

Leading SEO initiatives with data-driven growth strategies.

“Mariusz is a very skilled, patient and expert guy. Always ready to help and to fix errors, I really appreciated working with him. He is such a great colleague!”

Managed Mariusz directly

Biki John

Biki John

Content Marketing Aficionado & SEO Enthusiast

“It was great to work with Mariusz. I really appreciated his extensive knowledge of WordPress and how that came in handy whenever I needed support navigating the CMS. I commend Mariusz totally for his patience, good nature and expertise in his craft, he will be thoroughly missed by all.”

Worked with Mariusz on different teams

Rafal Borowiec

Rafal Borowiec

Software Developer, Consultant, Manager and Lecturer

“I had an opportunity to work with Mariusz for 7 months. He excels in technical optimization for search engines (SEO). Mariusz has also strong expertise in AMP development, GTM, and GA. Mariusz feels very comfortable with WordPress - he worked on a variety of WordPress related projects and tasks, including landing pages development, performance improvements and much more. If you are looking for a solid WordPress expert specializing in SEO, tracking, performance, and development - don't hesitate to get in touch with Mariusz.”

Managed Mariusz directly

Belinda Koch

Belinda Koch

Web-Tracking Analyst at TUI

“Mariusz is a great person to work with. He is extremely motivated to learn new things and share his knowledge, and is very knowledgeable on a wide range of topics. We worked together on digital analytics and tracking topics and I am very grateful for all the energy, support, and insights he brought to the projects.”

Worked with Mariusz on digital analytics and tracking topics

Ali Nezamolmaleki

Ali Nezamolmaleki

Growth, SEO, Analytical thinking, AMP

“Mariusz is an extremely talented person in his field of work. He is always capable of giving a new perspective to solve problems and to think out of the box in situations where everything seems to be locked. Working with him is always a pleasure because of his positive personality and can-do attitude.”

Worked with Mariusz on the same team

Karol Jakubcewicz

Karol Jakubcewicz

Front-end / JavaScript Developer

“Mariusz is an incredibly experienced WordPress developer and SEO/SEM specialist I've had the pleasure to work with for almost two years. As a pilot of the team responsible for AirHelp's website development, he's been one the key figures in charge of constant load time and page rank improvement. I admire his skills and knowledge vital for such complex, multilingual and highly customized WordPress project. Lots of experience, tons of positive attitude - I highly recommend cooperating with Mariusz in any web development project.”

Worked with Mariusz on the same team

Paweł Lewczuk

Paweł Lewczuk

Front-end developer, WordPress developer

“I collaborated with Mariusz on several projects and our cooperation was always exemplary. I believe there are many more joint projects ahead of us. Highly recommended!”

Mariusz was Paweł's client

Przemek Wroblewski

Przemek Wroblewski

Software Developer with 20+ years of experience

“I found Mariusz as someone with great expertise and profound knowledge of frontend solutions. Powerful, knowledgeable and accountable WordPress developer. Has an easiness to build interpersonal relations with others. He had vision to see the benefits and the passion to turn that into measurable results for AirHelp. Absolutely someone I'd want to have on my team.”

Worked with Mariusz on different teams

All recommendations on LinkedIn

Frequently asked questions

Questions about scope, delivery, pricing, and execution quality.

How is an EU compliance audit different from a standalone accessibility audit?#
An accessibility audit measures WCAG 2.2 AA on the front end. An EU compliance audit combines that result with NIS2 and DORA mapping on the WordPress supply chain (hosting, plugins, SaaS) and AI Act controls where the site publishes or generates content with models. You get one report and one backlog instead of three inconsistent documents from different vendors.
Does a small WooCommerce store need the full EU audit?#
Scope depends on the operator, not the CMS alone. Micro-enterprises have narrower EAA exemptions, but a store with 40+ products serving EU customers often falls under accessibility obligations from 2025-06-28. NIS2 and DORA apply to regulated sectors or their ICT suppliers. On the discovery call I confirm which of the three regimes actually applies so you do not pay for modules outside scope.
How long does an EU compliance audit on WordPress take?#
A typical WooCommerce store with a few dozen products and a standard plugin stack: two weeks from kick-off to report with backlog. Portals with multiple integrations, SSO, and custom plugins: three to four weeks. Timeline depends on staging access, the integration list, and whether P0 remediation runs in parallel with the audit.
What do I receive at the end?#
A written report split across EAA/WCAG, NIS2/DORA, and AI Act; a remediation backlog with P0 to P3 priorities; a procurement evidence pack (supplier map, plugin register, incident path sketch); and a 30-minute video walkthrough for engineering and compliance. Optional P0 remediation can be scoped separately.
Does this audit replace a WCAG certificate or legal opinion?#
No. The technical WordPress audit shows gaps at the CMS, theme, plugin, and configuration layer. It does not replace formal legal review or a full VPAT for a specific public contract. The report is written so an external lawyer or auditor can fold it into a broader compliance assessment without rescanning code.
Can you implement fixes after the audit?#
Yes. The audit backlog can be commissioned as remediation: accessibility fixes in theme and WooCommerce, NIS2-oriented hardening, AI Act labelling in content templates. Critical gaps (missing checkout labels, public REST endpoints) are closed first, before the rest of the team reads the full report.