Build · Engineering

Custom WordPress development without the lock-in.

We build on core WordPress APIs and Gutenberg — not on a page builder that holds your content hostage. That means your editors can work without us, your site stays fast, and any competent WordPress developer can pick it up after we hand it over.

  • Content model built around your business, not a template
  • Editors get blocks they can actually use
  • Documented handover — no dependency on us

The problem

What usually brings people here.

Every change needs a developer

Your marketing team wants to publish a landing page and has to raise a ticket. The page builder that promised freedom turned into a system only one person understands, and that person has left.

The theme fights your content

Your business has products, locations, case studies and events. Your theme has posts and pages. Everything gets forced into the wrong shape, and the workarounds become the architecture.

It works, but nobody can maintain it

Core files edited directly, logic buried in a theme that cannot be updated, no documentation. It runs fine until the day it does not, and then nobody can safely touch it.

Forty plugins doing the work of five

Each one solved a problem on the day it was installed. Together they load megabytes of assets on every page, overlap in what they do, and half are no longer maintained by anyone.

What we build

The work, specifically.

Discuss your project ↗︎

Custom themes & block themes

Built from your design system, not a marketplace theme bent into shape. Block themes with theme.json where it fits, classic themes where your stack still needs one.

Gutenberg block development

Custom blocks your editors can place, configure and preview — with locked patterns where the brand needs protecting, and sensible defaults so nobody has to think about spacing.

Content modelling

Custom post types, taxonomies and fields that mirror how your business actually works — so editors fill in meaningful fields instead of wrestling a single WYSIWYG box.

APIs & integrations

REST API endpoints, webhooks and scheduled jobs that connect WordPress to your CRM, ERP, data warehouse or whatever else the business runs on — with retries and readable logs.

Headless & decoupled

WordPress as the editing experience with a separate front end where that genuinely helps. We will also tell you when it does not, which is more often than the hype suggests.

Multisite & multilingual

One install serving many brands, regions or languages, with shared components and a translation workflow your team can run without a developer in the loop.

How it works

Model the content first. Everything else follows.

  1. Discovery

    Who edits, what they publish, what the site has to integrate with.

  2. Content model

    Post types, taxonomies and fields agreed before a line of template code.

  3. Block system

    The set of blocks and patterns your editors will actually assemble pages from.

  4. Build

    Theme, blocks and integrations, on staging, reviewed against real content.

  5. Test

    Coding standards, cross-browser, accessibility and load before launch.

  6. Handover

    Documentation and a walkthrough, so your team owns it from day one.

Results

What the work produced.

Editorial platform

A newsroom that stopped raising tickets

An editorial team was filing developer requests for every landing page. We modelled their content properly and built twelve custom blocks with locked brand patterns. They now build pages themselves in minutes.

−90% developer tickets
12 custom blocks shipped

Multi-brand platform

Nine regional sites, one codebase

A group running nine separate WordPress installs was paying nine times for every change. We consolidated them onto multisite with shared blocks and per-region overrides, keeping local editorial control intact.

9 → 1 codebases to maintain
−64% time per rollout

Capabilities

The development stack we work in.

Core & editor

  • Gutenberg blocks
  • Block themes
  • theme.json
  • Block patterns
  • Advanced Custom Fields
  • Custom post types
  • Custom taxonomies

Languages & tooling

  • PHP 8
  • JavaScript / React
  • TypeScript
  • SCSS
  • Composer
  • npm
  • WP-CLI
  • Git

Integration

  • WP REST API
  • GraphQL
  • Webhooks
  • Action Scheduler
  • OAuth
  • CRM & ERP sync
  • Headless front ends

Quality

  • WordPress Coding Standards
  • PHPCS
  • PHPUnit
  • Cross-browser QA
  • WCAG 2.1 AA
  • Staging & Git deploys

Engagement

Three ways this usually runs.

Discovery sprint

Fixed fee

A content model, a block inventory and a technical plan you can build from — with us or with anyone else. Often the cheapest way to find out what a project really involves.

  • 2–3 weeks
  • No obligation to continue
  • Yours to take elsewhere

Embedded developer

Monthly

One of our developers working inside your team on your board and in your standups, for teams that have the roadmap but not the WordPress depth.

  • Rolling monthly
  • Your tools, your process
  • Cancel any time

Questions

Development questions, answered plainly.

If your situation isn't covered here, send us the details and we'll reply with a straight answer.

Why not just use Elementor or Divi?

Page builders are genuinely good for small sites built quickly. They become a liability at scale: they add significant page weight, they store your content in their own markup so leaving means rebuilding, and complex layouts get slower to edit rather than faster. If you already run one and it works, we will say so — we do not rebuild for the sake of it.

What is a block theme, and do we need one?

A block theme lets templates and global styles be edited in WordPress itself rather than in code. It suits content-led sites where the team wants layout control. Classic themes still make sense when your stack depends on extensions that have not caught up. We choose based on what your site has to do, not on what is newest.

Will our team be able to edit the site without a developer?

That is the point of the block system. Your editors get a set of blocks and patterns designed for the pages you actually publish, with brand rules built in so nothing can be knocked out of alignment. We hand over with a walkthrough and documentation, and most teams stop needing us for day-to-day publishing entirely.

Do you always rebuild, or can you work with our existing theme?

Both. A lot of our work is extending and repairing what already exists — a child theme done properly, a few custom blocks, an integration that was missing. We audit first and recommend a rebuild only when the existing code makes ongoing work more expensive than starting again.

Should we go headless?

Usually not. Headless makes sense when you are serving several front ends from one content source, or your front-end team already lives in React and owns that layer. It costs you preview, some editor convenience and a chunk of budget. For a single marketing site, a well-built WordPress front end is faster to ship and cheaper to run.

What happens if we stop working with you?

You keep everything and it stays maintainable. We build on core WordPress APIs, follow WordPress Coding Standards, use no proprietary framework and document what we ship. Any competent WordPress developer can pick it up. Clients stay with us because the work is good, not because leaving would be painful.

Start here

Tell us what you're dealing with.

The more you can tell us, the more useful our first reply will be. No sales sequence — one of the people who would actually do the work reads this.

  • We read it and look at your site
  • You get a written reply with our honest read
  • If it fits, we scope it properly

Prefer email? hello@dotance.com

We reply within one business day.