Service pillar

Drupal developer for upgrades, maintenance and custom modules

Plan Drupal work

Send me the site details.

Include the Drupal core version, the list of contributed and custom modules, the hosting setup and what has to keep working during the upgrade.

Councils, universities and charities

Drupal is common where one organisation runs many sites, many editors and strict permissions: local authorities, universities and larger charities. Public sector sites in the UK fall under the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018, and in Ireland the obligations come from EU Directive 2016/2102. I run accessibility checks as part of every upgrade.

What I work on

Security and minor updates with a tested Composer workflow, migrations from Drupal 7 to a fresh Drupal 11 install and from Drupal 10 to 11, custom modules and themes, Drush-based deployments, caching and database tuning, integrations with CRMs and single sign-on, and headless front ends that read content through JSON:API. Drupal 12 is scheduled for the week of 7 December 2026, so new modules are written to keep that upgrade cheap.

What I avoid

I do not push a rebuild or a move to WordPress when Drupal fits the organisation. Multi-site estates, granular editorial roles and multilingual content are things Drupal does well. A migration between Drupal and WordPress, in either direction, is on the table only when the site has outgrown its platform or the team cannot maintain it.

How does a Drupal 7 to Drupal 11 migration work?

A Drupal 7 site cannot be upgraded in place. I build a fresh Drupal 11 install and bring content, users, files and taxonomy across with the Migrate and Migrate Drupal modules in core, rerunning drush migrate:import on staging until the record counts match the old database. Views I rebuild by hand, field collections usually become Paragraphs, and the PHPTemplate theme is replaced by a new Twig theme. Migrate Drupal is deprecated and is removed in Drupal 12.0 with no contributed replacement, so I land Drupal 7 sites on Drupal 11 and upgrade from there. Every old path gets a redirect through the Redirect module, which matters on council sites whose URLs are printed in letters and PDFs. The final import runs after a short editorial freeze, and the old site stays online read-only while both run in parallel for an agreed period.

What does a Drupal upgrade audit check?

Before estimating a 10 to 11 upgrade I install Upgrade Status with Composer on a copy of the site. It runs PHPStan over custom and contributed code, building on drupal-check, and lists deprecated API calls and contributed projects still without a Drupal 11 release. Mechanical fixes go through Drupal Rector (palantirnet/drupal-rector), and I review every rewritten line. The site must already run Drupal 10.3.0 or later, because Drupal 11 removed the update functions from older releases, and the server needs PHP 8.3 or newer. One contributed module without a Drupal 11 release is enough to stop Composer resolving the whole upgrade. If the module only needs its version constraint changed, the Drupal Lenient Composer plugin lets it install with a patch; if its code breaks, I patch or replace it. composer update --dry-run shows which case applies before anything changes. A council gets the result as a per-module estimate it can attach to a procurement request.

What does monthly Drupal maintenance include?

Drupal core security releases come out on one Wednesday a month, usually the third, and contributed projects can get one on any Wednesday, between 16:00 and 22:00 UTC. In the UK and Ireland that is late afternoon or evening, so I read the advisory that evening and have the update on staging the next morning. The order does not change: composer update for the affected packages, drush updatedb, drush config:export, a pass through the pages editors use most, a database and files backup, then deployment to production. New core minor versions take the same route a few weeks later, after the first patch release. The export step is there because an update hook can change active configuration, and if that change never reaches the sync directory, the next deployment that runs drush config:import reverts it. Councils with a change advisory board get each deployment written up in the format the board already uses.

Frequently asked questions

Do I need a Drupal agency or a freelance Drupal developer?

For maintenance, upgrades and module work on one site or a small estate, a senior freelancer is usually enough and cheaper to coordinate. An agency makes sense when you need design, content and development teams working in parallel. I tell you which one you need after reading the codebase.

What happens to our Drupal 7 site now that support has ended?

Drupal 7 stopped receiving official security advisories on 5 January 2025, and external scans flag it as insecure. The site keeps running, but every new vulnerability stays open. The route forward is a content and configuration migration to Drupal 11, or to WordPress if the site no longer needs Drupal.

How long does a Drupal 10 to 11 upgrade take?

It depends on how many contributed modules have Drupal 11 releases and how much custom code uses deprecated APIs. I start with an automated deprecation scan and a module audit, then give you an estimate per module. Drupal 10 reaches end of life on 9 December 2026.

Can you migrate from Drupal to WordPress?

Yes, and from WordPress to Drupal too. I recommend it only when the platform no longer fits: a small brochure site on Drupal is a common case for WordPress. Content, users, redirects and media move with scripted migrations so the old URLs keep working.

Do you build headless Drupal sites?

Yes. Drupal core ships JSON:API, which works well as a content back end for a separate front end. I check first whether headless pays off, because it adds a second application to host and maintain.

Related cluster

Explore other WordPress services and knowledge base

Strengthen your business with professional technical support in key areas of the WordPress ecosystem.

Related services

Senior Drupal developer: security updates, Drupal 7 and 10 upgrades to 11, custom modules, headless JSON:API builds and accessibility work for public bodies.

Recommendations from LinkedIn

Recommendations and reviews of working with WPPoland

Selected recommendations from WordPress, WordCamp and e-commerce leaders - with a focus on delivery on time, technical depth, and a business-driven approach to WordPress 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....”

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 d...”

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...”

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 layou...”

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 wh...”

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 Shop...”

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...”

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 thoug...”

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 natur...”

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...”

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 top...”

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...”

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...”

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 ...”

Worked with Mariusz on different teams

Send me the site details.

Include the Drupal core version, the list of contributed and custom modules, the hosting setup and what has to keep working during the upgrade.

Plan Drupal work