Practical Drupal thinking for teams making serious website decisions.
Articles on Drupal architecture, support, performance, and strategy from people who build and maintain Drupal sites every day.
The password habits we recommend to every client team
Passwords are one of those topics where everyone quietly suspects they are doing it wrong, and almost nobody enjoys talking about it. So let us take the judgment out of it right away. The habits most ...
Your site is yours: handover packages with a one-command restore
There is a question clients sometimes hesitate to ask, usually somewhere near the start of a relationship: if we ever wanted to leave, how hard would that be? It is a fair question, and we would rathe...
Moving a live site between servers with zero downtime
Every server has a lifespan. Hardware generations improve, capacity needs change, a site outgrows the machine it launched on, or a better home simply becomes available. Moving a website from one serve...
How we evaluate a Drupal module before it reaches your site
One of the genuine pleasures of building with Drupal is the contributed module ecosystem. Tens of thousands of modules, built and shared by a global community, covering nearly every feature a website ...
How security patches reach your site
Every so often a client forwards us a news article about a security vulnerability and asks whether their site is affected. It is one of our favorite messages to answer, because the answer is almost al...
What a client portal changes about working with an agency
Most agency relationships run on trust, and most of that trust is maintained by hand. A status email here, a call there, a list of hours attached to an invoice at the end of the month. When things are...
How staging stays safe: scrubbed data and no accidental emails
Behind every live website there is a quieter family of copies. A developer runs one on their own machine to build a new feature. A staging environment holds the next release so it can be reviewed befo...
The case for boring deployments
There is a particular kind of quiet we aim for on release day. The work is finished, the release goes out, the new version is live, and nothing else happens. No scramble, no held breath, no message as...
What managed hosting actually means for your Drupal site
Managed hosting is one of those phrases that gets used for very different things. Sometimes it means a server with a control panel and a support address. Sometimes it means somebody will respond if th...
How we verify backups: retention, restore drills, and proof
There is a sentence we repeat internally whenever backups come up: a backup is only real once it has been restored somewhere. Until that moment it is a file you hope is complete, produced by a job you...
Performance is a habit, not a project
Launch day is the fastest most websites will ever be. The content is lean, the images are the ones the designers chose, the code is fresh, and everyone has just spent weeks paying attention to speed. ...
A web application firewall your visitors never notice
A web application firewall is a filter that sits in front of a website and inspects every request before the site ever sees it. Requests that look like attack attempts get stopped at the door; everyth...
Why we develop on the exact stack we run in production
Every developer knows the sentence "works on my machine." It is usually said with a shrug, right after something that behaved perfectly in development did something strange on the live server. Somewhe...
Email that arrives: transactional mail done properly
Every website sends email. Password resets, order confirmations, contact form notifications, the message that tells your sales team a quote request just came in. Almost nobody mentions these when they...
The pre-launch checklist we run before every site goes live
The best launch days are the ones nobody remembers. The site goes live, someone refreshes the homepage a few times, the team says nice things in the chat, and by mid-afternoon everyone is back to thei...
SEO beyond keywords: the technical signals we tend
When people say SEO, they usually mean keywords and content: writing about the right topics, in the right language, for the right audience. That part genuinely belongs to you. Nobody knows your custom...
Staging environments: test changes where they behave like live
A preview environment is only worth having if it tells the truth. If staging runs on a different server, a different PHP build, or a different caching setup than production, then every approval given ...
How we build multilingual websites: one site, every language
Our own website runs in four languages. Not four sites, and not a main site with translated copies bolted on: one site, one content model, four languages, each with its own URLs, menus, and metadata. ...
Cookieless analytics: knowing your visitors without tracking them
Some time ago we wrote about why we ship our own cookie consent on every project we build. The short version: if a site stores anything on a visitor's device, that visitor deserves a clear and honest ...
What we monitor on every site, and why silence is the goal
The best months in a hosting relationship are the ones where the client hears nothing from us at all. No alerts forwarded, no incident summaries, no requests to look at something. Just a website that ...
Editors first: how we design the Drupal admin experience
When a website launches, the developers leave and the editors move in. From that day forward, the people who spend the most time inside the site are not the ones who built it. They are the communicati...
Keeping automated traffic in its lane
A meaningful share of the traffic reaching any public website is not people. It is software: search engine crawlers building their index, feed readers checking for updates, uptime monitors, link previ...
Why we build products inside a Drupal agency
After enough years of maintaining Drupal sites, you start seeing the same problems everywhere. Not Drupal problems. Operational problems that Drupal sites happen to surface. We are a Drupal agency fi...
Why we ship our own cookie consent on every Drupal project
Cookie consent is one of those website features that feels small and turns out to be anything but. It appears on every page, it blocks visitors until they interact with it, it has legal weight in Euro...
Why slow Drupal sites are rarely a Drupal problem
A slow Drupal site tends to start the same conversation almost every time. The homepage takes a few seconds to appear. Internal teams start wondering whether the hosting is wrong, the design is too h...
Why modern Drupal sites should feel more like software
Your audience spends their working day inside software that feels instant. Gmail, Notion, Stripe, their banking app, their favorite shop. Pages do not flash, menus do not collapse, clicks do not make ...
The Drupal project conversation that saves months later
The most expensive mistake in any Drupal project is not a bug, a slow query, or a missed deadline. It is a content model that does not match how the organization actually works. Once the wrong structu...
The difference between Drupal support and Drupal repair
Two very different services get sold under the name Drupal support. One is repair: a page goes down, a form stops sending, a ticket goes out, someone digs in, and the fire gets put out. The other is t...
Why some Drupal sites feel faster and cost less to change
The thing most clients ask us about first is speed. "Our site feels slow. Can you make it faster?" The thing they ask us about second, usually a month or two later, is cost. "Every change is more expe...
Accessibility is a business decision, not a compliance scramble
Accessibility is one of those words that tends to arrive late in a project, usually attached to a compliance deadline. A team gets a letter, a lawsuit, or a procurement questionnaire, and suddenly eve...
What clients really need from a Drupal agency
After years of working with clients ranging from small family businesses to national organizations, we have learned to listen for the difference between what a brief asks for and what actually makes a...
A delivery model that keeps Drupal projects predictable
Surprises in web projects are almost always expensive and almost always avoidable. A feature that takes far longer than estimated. A dependency nobody noticed until week six. A stakeholder seeing the ...
What delaying Drupal updates really costs
A delayed update is a loan. The balance is small at first and the interest is invisible, so it never feels urgent. Six months later it is still invisible. Twelve months later the bill arrives all at o...
How to leave Drupal 7 without breaking what already works
If your organization is still on Drupal 7, the question is no longer whether to move. It is how to move without breaking the parts of the site your audience and your internal team already rely on. Th...
Choosing between Drupal and WordPress in 2026
Clients ask us this all the time: should this project be built in Drupal or WordPress? We are a Drupal specialist agency, and the honest answer is still: it depends. The right platform is not the on...
Have a Drupal question your team is trying to think through?
If you are weighing a rebuild, a migration, a support decision, or a technical direction change, we are happy to talk it through.