Custom WordPress theme

A theme that only does what the project needs.

We build custom WordPress themes for agencies: markup written for the project, structured content and an admin the client can use without breaking the layout. No multipurpose themes to strip down.

How we build it

A page's content, filled in by the client in named fields, becomes a Twig template and then the page in the browser, with a Performance score of 100. Edit page — About us Update TITLE SUBTITLE IMAGE BUTTON SEO DESCRIPTION ALT TEXT TEMPLATE client.com/about 100 PERFORMANCE LCP 0.8 s · CLS 0 page.twig 1 2 3 4 5 6 7 8 9 10 11 12 {% extends 'base.twig' %} {% block content %} <article class="pagina"> <h1>{{ fields.titolo }}</h1> <p class="lead">{{ fields.sottotitolo }}</p> <img src="{{ fields.immagine.src('hero') }}" alt="{{ fields.immagine.alt }}" width="1200" height="630" loading="lazy"> {% include 'bottone.twig' with { testo: fields.pulsante } only %} </article> {% endblock %}

You pay for a multipurpose theme twice: when you install it, and every time you touch it.

It loads features the project never uses, depends on plugins you did not choose, and every update is a gamble. A year later nobody remembers why some things work. A custom theme contains what the site uses, and nothing else. It is lighter, it is readable, and whoever picks it up knows where to look.

This site is a custom theme built this way. The figures on the home page are measured live, not typed in.

What we deliver

A complete theme, documented and yours.

  • 01

    Clean architecture

    Timber and Twig separate logic from presentation: PHP prepares the data, templates display it. No queries in templates, no HTML in classes.

  • 02

    Structured content

    ACF fields versioned in Local JSON, or Gutenberg blocks where they help. The structure lives in the code, not in a database that drifts.

  • 03

    CSS with design tokens

    Tailwind CSS with the project’s tokens: colours, typography and spacing in one place. No stray values scattered across files.

  • 04

    Measured performance

    Assets built with Vite, JavaScript only where needed, responsive images. We measure before delivery and send you the numbers.

  • 05

    Accessibility and technical SEO

    Semantic HTML, one H1 per page, visible focus, AA contrast. The baseline search engines and audit tools expect.

  • 06

    Documentation and handover

    A Git repository with a readable history, instructions for the local environment and for deployment. The theme stays yours, even if someone else maintains it one day.

How we work

The same workflow on every project: nothing is changed directly in production.

  1. Brief

    Design, content and constraints. If something is missing we ask before we start, not halfway through.

  2. Development

    Locally, with Git and readable commits. Every change is tracked.

  3. Staging and review

    The agency reviews in a separate environment and gathers the client’s feedback. We iterate there.

  4. Production

    Only the approved version goes live, with a deliberate deploy. Never automatically.

What we build it with

Every piece has a specific job. The Stack page explains why each one is there.

  • WordPress
  • PHP
  • Timber
  • Twig
  • ACF Pro
  • Tailwind CSS
  • Vite
  • Composer
  • Git

Frequently asked questions

  1. Why not a premium theme?
    For a simple brochure site it can be enough. When the project has its own design, structured content or performance requirements, adapting a multipurpose theme costs more than writing one — and the cost shows up later, with every change.
  2. Will the client be able to edit the site?
    Yes. The admin is designed around their content: clear fields, no layouts to rebuild. They can update everything that needs to change, and nothing that shouldn’t.
  3. Do you use Gutenberg?
    When it makes sense, with blocks built for the project. For highly structured content we prefer ACF fields: they give the client fewer ways to get it wrong.
  4. Can you work on an existing theme?
    Yes. We read it first and tell you where it stands: what can be kept, what is worth rewriting and what to leave alone.
  5. Who owns the code?
    You do, or your client, as agreed. No licence that ties you to us, no obfuscated code.

The same team, for the rest of the work.