Technical notes

Notes, fixes, and breakdowns

Notes publish only after editorial approval and their scheduled time. A date in an unapproved Markdown file never makes it public.

By Niko · July 23, 2026 · 3 min read

A/B testing infrastructure that keeps search signals stable

Server-side splits, temporary redirects, and cookie-based variants each present different risks. Keep experiments crawlable without serving crawlers special content.

Read note →

By Niko · July 18, 2026 · 3 min read

Canonical propagation delays in large sites

Fixing a canonical is not the end of the problem. Google must recrawl and reprocess the affected URLs, so visible convergence can take days or weeks.

Read note →

By Niko · May 18, 2026 · 2 min read

Hreflang & multi-region sites: preventing duplicate content while serving the right locale

Multi-region sites need hreflang, canonicals, internal links, and sitemap structure to agree, or the wrong locale starts competing in search.

Read note →

By Niko · May 14, 2026 · 2 min read

Plugin & theme changes that quietly break WordPress SEO signals

After a WordPress plugin or theme change, the failure often sits in canonical output, noindex tags, redirects, or cache behavior rather than the server itself.

Read note →

By Niko · May 10, 2026 · 2 min read

Controlling crawl budget on large catalogs

On large catalogs, crawl budget gets wasted when sitemaps, filters, and archive paths keep promoting low-value URLs instead of the pages that actually matter.

Read note →

By Niko · May 5, 2026 · 3 min read

Client-side frameworks vs. indexation: ensuring HTML renders what bots see

Modern web applications built with Next.js, React, or Vue often look fine in the browser while crawlers still receive an incomplete or conflicting HTML response.

Read note →

By Niko · May 2, 2026 · 2 min read

Robots.txt misconfigurations that silently block visibility

A single robots.txt or noindex mistake can silently remove entire sections from search, especially after deployments, relaunches, or inherited template changes.

Read note →

By Niko · April 28, 2026 · 2 min read

Edge cache misbehaviour: when Cloudflare caching causes stale or missing pages

When Cloudflare caching serves stale content or never caches the page that should be fast, the real issue is usually in the rule logic, not the CMS.

Read note →

By Niko · April 24, 2026 · 3 min read

Why "Alternate page with proper canonical tag" appears and how to resolve it

When Search Console reports "Alternate page with proper canonical tag" or "Duplicate, Google chose different canonical," the implementation is usually still leaking variants around the URL you intended to win.

Read note →

By Niko · April 20, 2026 · 3 min read

Discovered - currently not indexed: where discovery stalls

This coverage state usually points to discovery and prioritization problems first: weak internal links, noisy sitemaps, canonical drift, or the wrong URLs being promoted.

Read note →

By Niko · April 16, 2026 · 3 min read

When technical SEO becomes a routing problem, not a metadata problem

On Laravel, Next.js, and mixed-stack sites, the failure often sits in routes, middleware, rendering, or environment behavior before it sits in titles, schema, or meta descriptions.

Read note →

By Niko · April 15, 2026 · 2 min read

How to fix "Crawled - currently not indexed" after a migration

After a migration, this coverage state usually points to structural conflicts in templates, canonicals, internal links, or sitemap quality before it points to content quality.

Read note →

By Niko · April 12, 2026 · 4 min read

Why audits fail when the issue-to-fix workflow is broken

Most SEO systems do not fail because nobody can find problems. They fail because the problems never turn into the right next action.

Read note →

By Niko · April 8, 2026 · 2 min read

Why Cloudflare 1020 can block valid traffic and what to check first

Cloudflare 1020 is usually a rules problem, not a mysterious SEO penalty. The failure path tends to sit in WAF logic, bot handling, rate limits, or environment mismatches.

Read note →

By Niko · April 1, 2026 · 2 min read

TTFB spikes after a WordPress change: where the bottleneck usually is

When TTFB jumps after a WordPress release, the real bottleneck is often split across PHP work, cache behavior, plugins, and edge configuration rather than one dramatic server failure.

Read note →