
React SPA to Next.js Migration Checklist for SEO and Indexing
A React SPA to Next.js SEO migration checklist for preserving indexing, redirects, metadata, rendered HTML, internal links, crawl paths, and launch confidence.
Articles
Search Engine Optimisation (SEO) is the practice of improving how a website is crawled, understood, indexed, and ranked by search engines. It now sits alongside Generative Engine Optimisation (GEO), where the same underlying signals also help AI‑mediated search experiences understand, trust, and surface content.
Below you will find a subset of articles from my blog specifically about Search Engine Optimisation and ‑ related ‑ technical SEO for JavaScript applications. This is an area I have worked with for many years, and it has been a regular subject in my writing. There are forty‑four articles collected together for you below.

A React SPA to Next.js SEO migration checklist for preserving indexing, redirects, metadata, rendered HTML, internal links, crawl paths, and launch confidence.

Why view source stopped being enough for modern web checks, and how rendered HTML, hydration, metadata, schema, crawl paths, and client output changed audits.

Automate copyright year updates across JavaScript, React, Angular, Vue, jQuery, PHP, and WordPress so footers do not go stale each January across stacks.

I am not a fan of carousels, although I have built many in my career. Here, I discuss why they hinder UX and SEO, and explore alternatives for engaging content.

Run build‑time SEO checks in Gatsby across routes, metadata, canonicals, headings, sitemaps, schema, redirects, CMS content gaps, and release confidence.

When it comes to text‑based sitemaps in Gatsby, gatsby‑plugin‑sitemap falls short. Fortunately, it is straightforward to implement using Node.js and GraphQL.

Local SEO is a technical problem too, covering crawlable content, structured pages, performance, metadata, internal links, and reliable local signals.
It has been a little while since a DDoS attack made the headlines. Nevertheless, the risk is omnipresent and very difficult to do anything about or to stop.
Time To First Byte (TTFB) is a crucial influence on website performance. The easy answer is increasing server resources, but there are other considerations too.
Time To First Byte (TTFB) is a measurement of the time is takes for a server to respond to a request: how quickly your visitor can start to load your page.
You can let Google know that your website (and the content within) has been updated by submitting an updated sitemap automatically via a simple Node.js script.

Ten practical SEO areas front‑end developers can influence, from site speed and semantics to metadata, mobile UX, internal links, and structured data.

AMP has long split opinion: Google's preferential treatment of sites using AMP has long been a contentious point. Is it worth implementing AMP any longer?

.htaccessBlock bad bots with .htaccess and robots.txt, including why unwanted crawlers waste bandwidth, where rules help, and what to treat with caution too.

Website theft is frustrating, but there are practical ways to spot it and respond. This guide covers copied text, copied code, and escalation options.

Replace Gatsby inline styles with an external stylesheet when needed, weighing render speed, caching, CSS Modules, styled‑components, and cleaner output.

A common issue I come across when auditing sites with Lighthouse is the "Links do not have a discernible name" error where links don't contain text.

When you set up a custom domain in Netlify, the default `netlify.com` subdomain still returns your app, which can lead to duplicate content. It is an easy fix.