Get in touch 01795 905292

Blog

Cascading Country and Location Dropdowns in Umbraco Forms, with Email Routing per Location

Cascading Country and Location Dropdowns in Umbraco Forms, with Email Routing per Location

How we built a dynamic country and location dropdown in Umbraco Forms that sends each enquiry to the right location's contact using a single email workflow.

Umbraco 13 End of Life: Why You Should Migrate from Umbraco 13 to 17 Now

Umbraco 13 End of Life: Why You Should Migrate from Umbraco 13 to 17 Now

Umbraco 13 and .NET 8 lose security support by December 2026, leaving sites exposed and putting Cyber Essentials certification at risk. Here’s why and how to migrate to Umbraco 17.

How to Check if PHP2Shell Was Exploited on Azure Linux App Service

How to Check if PHP2Shell Was Exploited on Azure Linux App Service

PHP2Shell (CVE-2026-109618 and CVE-2026-109619) let attackers run code on unpatched PHP servers, and patching doesn’t tell you whether anyone got in first. This post shares a read-only script for Azure…

Small agency or large agency?

Small agency or large agency?

Clients often ask whether they would be better off with a bigger agency. It is a fair question, and it rarely gets an honest answer. Here is a straight comparison…

Two Years of Building with AI - An Honest Review

Two Years of Building with AI - An Honest Review

Two years on from my first ChatGPT tab, an honest account of how I actually use AI day to day. Reviewing everything it produces, never letting it commit, spec driven…

Running the Umbraco backoffice behind Windows Authentication

Running the Umbraco backoffice behind Windows Authentication

From Umbraco 14 onwards, the backoffice stops working on sites where IIS has Windows Authentication on and anonymous authentication off. Here's why that happens, and a small package that fixes…