Nando’s
Senior software engineer on the UK and Ireland replatform, migrating Nando’s customer‑facing websites from legacy Drupal to a unified headless platform built with Next.js and Storyblok, with a focus on performance, accessibility, and SEO.

Use this page when one page is reachable on multiple URLs, redirect rules keep changing, or canonical signals no longer match the live route policy.
Fix duplicate URLs, bad redirects, and canonical mistakes before search engines and users keep landing on conflicting versions of the same page.
When you set up a custom domain in Vercel, the default `vercel.app` subdomain still serves your site, which can lead to duplicate content. Here's how to fix it.
301 and 307 redirects do different jobs. This guide explains when each one fits, what they tell browsers, and where SEO enters the picture.
Optimising HTML improves SEO, accessibility, and user experience. Here, I explore semantic HTML, clean code, alt text, and other best practices.
Parent hub
Choose the right technical SEO recovery path when rankings, crawlability, or indexation dropped after a release or migration.
Capability
Bring in engineering‑led SEO help when Google is not indexing important JavaScript pages because rendering, crawlability, metadata, or migration changes are getting in the way.
Adjacent scenario
Fix sitemap, robots, and crawl‑discovery failures before important Next.js pages stay hidden, blocked, or stale in search.
Adjacent scenario
Use redesign recovery and technical SEO recovery work to isolate what changed in URLs, templates, rendering, or crawl signals before the organic traffic drop compounds.
Related page
Choose the right Vercel production fix when builds, deployments, revalidation, or auth are blocking release confidence.
Send me the affected page or route, point me at the code if that helps, and tell me what you expected to happen versus what is happening now. If this connects to a Next.js migration, technical SEO drop, performance issue, launch, or platform move, include that context too. I'll come back with the clearest next step.