Websites for cultural institutions, museums, galleries, theaters

5 min read
Guide

#Websites for museums, theatres, galleries and arts centres

People who open a theatre or museum website usually want three answers: what’s on, what a ticket costs and when the doors open. Many of them are already standing outside with a phone. I build sites where those answers sit at the top and where curators, learning teams and press officers publish without a developer. I’m Mariusz Szatkowski, a WordPress developer since 2006, based in Gdynia, Poland, and I work alone.

You bring the graphic design and wireframes, as a Figma file or as a filled-in template marking which element goes where on each page. I build them into a responsive theme with blocks for exhibitions, productions, events and learning resources.

#What’s on and booking

Events have categories (performance, concert, talk, workshop), filters by date and venue, repeat dates generated automatically, and a list view that works on a phone. The booking button comes from your ticketing system. Many UK and Irish venues use platforms such as Spektrix, Tessitura or Ticketsolve; if yours offers an API or a booking widget, I connect it directly, and I read its documentation before quoting. Smaller sales such as workshops, exhibition catalogues or donations from members can run through WooCommerce with the payment provider you already use.

Learning teams get a booking form for school groups and a page of downloadable resources for teachers.

#Collections online

A digital object is more than a photo with a title. Before migration I agree the required fields: accession number, maker, date, materials and technique, rights status, alt text and source. Links between objects, exhibitions and people are stored as relationships in the database, not as prose in a description, so collection search works by artist, period and technique.

Rights status decides what the site shows. Owning an object is different from having the right to publish its photograph, so required credit lines appear automatically and high-resolution downloads are blocked when the licence does not allow them. The IIIF standard suits deep-zoom views of detail. Whether records can be imported from your collections management system depends on the exports it offers; I test that on a sample before I give you a scope.

#Accessibility rules for museums and venues in the UK and Ireland

Publicly funded museums, galleries and libraries that count as public sector bodies fall under the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 in the UK and S.I. No. 358/2020 in Ireland. Both implement EU Directive 2016/2102. Whether your institution counts as a public sector body depends on who funds and controls it.

Two exclusions matter for collections. Both sets of regulations exclude live time-based media and reproductions of items in heritage collections that cannot be made fully accessible, either because accessibility would conflict with preserving the item or the authenticity of the reproduction, or because no affordable automated solution exists, for example for manuscripts. In the UK that is regulation 4(2); in Ireland regulation 3(3)(c) and (f). Object descriptions, navigation, listings and booking still have to be accessible.

  • A label on every form field and error messages a screen reader announces.
  • Full keyboard operation with a visible focus state.
  • Text contrast of at least 4.5:1 and captions for recorded video.
  • axe-core checks before every deployment, NVDA and VoiceOver testing before launch.

#Several venues, one installation

A museum service with several sites, or a theatre that runs its own festival, can keep every website on WordPress Multisite. Each venue has editors who see only their own site, the media library can be shared, and I update the whole network at once.

Language versions, for example Irish alongside English, run on Polylang or WPML. Your institution provides the translations; I take care of URLs, hreflang and making sure no language version leads to an empty page.

Large collection images are served as AVIF in sizes that fit the screen, and third-party scripts load only after consent. Before I get access to a site holding personal data from newsletters, group bookings or the shop, I sign a processing agreement under Article 28 GDPR (UK GDPR has the same article). I use no sub-processors.

#How a project runs

  1. Brief through the contact form; questions in writing.
  2. Quote with scope, assumptions and timeline before any code. If the site is part of a funding bid, I describe the scope so it can be reported on later.
  3. Build in a private Git repository, every change on staging first.
  4. Sign-off on staging against typical records: short and very long object texts, an object without an image, sold-out and cancelled events.
  5. Maintenance if you want it: WordPress maintenance with uptime monitoring every 1 to 5 minutes, backups kept for at least 30 days in EU countries and updates tested on staging. No 24/7 on-call cover.

I don’t sell hosting; you choose the provider. The contract is under Polish law and invoices carry my EU VAT ID PL7393037445.

#Contact

Send your current site address, what should change and the name of your ticketing system through the contact form. You will get questions back or a quote with the assumptions behind it. Larger projects are described under enterprise solutions.

I describe similar needs for government offices, hospitals and foundations.

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.

Who builds the website for our museum or theatre?#
I do. I'm Mariusz Szatkowski, a WordPress developer since 2006, based in Gdynia, Poland. I work alone, without a team or subcontractors. You supply the graphic design and wireframes; I build them into a responsive WordPress theme.
Can the site connect to our ticketing system?#
If the system offers an API or a booking widget, yes: the booking button sits on every performance or event date. Smaller sales such as workshops or catalogues can run through WooCommerce. I read the system's documentation before quoting.
Does every collection image have to be fully accessible?#
Not always. The UK regulations (regulation 4(2)) and the Irish ones (regulation 3(3)(f)) exclude reproductions of heritage items that cannot be made fully accessible without harming preservation or authenticity, or where no affordable automated solution exists. Descriptions, navigation and booking still have to be accessible.
How do we work together?#
You send a brief through the contact form, I ask questions by email and send a written quote with assumptions. Every change appears on staging first with a written description. I don't propose meetings or video calls; if you need a call, ask.
What does maintenance cover?#
Uptime monitoring every 1 to 5 minutes, backups kept for at least 30 days in EU countries, and updates tested on staging first. I do not offer 24/7 on-call cover or guaranteed response times.