Ejaz AhmedCTO

Selected work

Six problem shapes I keep being called for.

Categories of engineering work rather than a client list. Each one names the layers involved, what actually had to be decided, and what the outcome looked like.

Project 01

Large WordPress Multisite Architecture

Layers involved

international websitesmultisitelocalizationhreflangcustom routingSEOperformance
The situation
A single WordPress network serving many countries and languages, where every new market added routing rules, plugin exceptions and SEO edge cases on top of the last one.
The approach
Establish one routing and localization model the whole network follows, and make hreflang and canonicals a property of the architecture rather than something editors maintain by hand.

Project 02

From Page Builder to Clean HTML

Layers involved

legacy page buildersstatic HTMLfrontend modernizationperformancemaintainability
The situation
Pages authored years earlier in a page builder that nobody could safely edit, shipping large amounts of markup and script for layouts that had stopped changing.
The approach
Extract the stable pages into clean, semantic HTML and templates, keep the CMS for content that genuinely changes, and delete the builder’s runtime from the critical path.

Keep the CMS where it adds value. Remove it where it doesn’t.

Project 03

International SEO & Localization

Layers involved

hreflangregional websiteslanguage routingcanonical URLsindexingtranslation workflows
The situation
Regional sites competing with each other in search, with hreflang, canonicals and redirects each describing a slightly different version of the truth.
The approach
Reconcile the URL model first, generate hreflang and canonicals from it, and align the translation workflow so a new locale can’t silently break indexing.

Project 04

Debugging the Edge

Layers involved

CloudflareCDNcachinggeo detectionrequest headersserver behaviorapplication logic
The situation
A bug that could not be reproduced locally, because the behaviour came from edge rules, cache variants and geo detection rather than from the application at all.
The approach
Trace one real request through every hop, compare headers layer by layer, and identify which layer was making a decision the others didn’t know about.

When infrastructure layers disagree, debugging the application alone isn’t enough.

Project 06

Laravel + WordPress Integration

Layers involved

authenticationAPIsJWTcookiesCORSuser synchronizationapplication integration
The situation
A modern Laravel application and an established WordPress platform that needed to share users and sessions without either becoming the other’s dependency.
The approach
Define one system of record for identity, integrate over explicit APIs and tokens rather than shared database access, and make failure modes visible instead of silent.

Recognise one of these?

Architecture, infrastructure, legacy systems, integrations, performance, SEO, or something nobody has quite figured out yet.

Get in touch