Writing

Blog

Practical, no-fluff guides on SEO, performance and the web — the topics behind the tools I build.

Jul 11, 2026SEO

Structured data with JSON-LD: a developer's guide

What structured data actually does, why JSON-LD is the format to use, and copy-paste Article, FAQ and Breadcrumb schema you can ship today.

Structured dataSEO
8 min read
Read more →
Jul 10, 2026SEO

On-page SEO checklist: what to check on every page

A practical, no-fluff on-page SEO checklist — title, meta, headings, canonical, robots, images, links, structured data and Core Web Vitals.

SEOChecklist
7 min read
Read more →
Jul 9, 2026SEO

Title tag optimization: length, format and the rewrites

The title tag is still one of the strongest on-page signals. How long it should be, how to format it, and why Google rewrites it anyway.

Meta tagsSEO
6 min read
Read more →
Jul 8, 2026SEO

Heading structure for SEO: getting H1–H6 right

How to structure headings for SEO and accessibility: one H1 or many, why you shouldn't skip levels, and how to read your page outline.

On-pageSEO
6 min read
Read more →
Jul 7, 2026Performance

Image SEO: alt text, formats and page speed

Alt text that actually helps, why WebP and AVIF matter, and how images quietly wreck your Core Web Vitals — a practical image SEO guide.

ImagesPerformance
7 min read
Read more →
Jul 6, 2026Performance

Core Web Vitals explained: LCP, INP and CLS

What LCP, INP and CLS actually measure, the thresholds Google uses, and the highest-impact ways to improve each one.

PerformanceSEO
6 min read
Read more →
Jul 5, 2026SEO

Canonical tags and duplicate content, explained

How rel=canonical works, when to use it instead of a redirect or noindex, and the canonical mistakes that quietly split your ranking signals.

CrawlingSEO
7 min read
Read more →
Jul 4, 2026SEO

301 vs 302 redirects (and why chains hurt)

When to use a 301 vs a 302, whether redirects pass ranking signals, and how redirect chains and loops quietly waste crawl budget.

CrawlingSEO
6 min read
Read more →
Jul 3, 2026SEO

Meta robots and noindex: controlling what Google indexes

The difference between noindex and robots.txt, the meta robots directives that actually matter, and the X-Robots-Tag header for non-HTML files.

CrawlingMeta tags
6 min read
Read more →
Jul 2, 2026SEO

Fixing 'Crawled – currently not indexed' in Search Console

What 'Crawled – currently not indexed' really means, why Google chooses not to index a page, and a practical checklist to get it indexed.

IndexingSEO
7 min read
Read more →
Jul 1, 2026SEO

Internal linking: structure, anchors and orphan pages

How internal links spread ranking signals, why click depth matters, how to write anchor text, and how to find orphan pages on your site.

LinksSEO
7 min read
Read more →
Jun 30, 2026SEO

hreflang for multilingual sites: a practical guide

How hreflang works, the rules that trip everyone up (reciprocity, x-default, region codes), and how to check your setup.

SEOi18n
6 min read
Read more →
Jun 29, 2026SEO

JavaScript SEO: how Google renders your app

How Google renders JavaScript, the difference between CSR, SSR and SSG for SEO, and where JavaScript-heavy sites quietly lose indexation.

JavaScriptSEO
8 min read
Read more →
Jun 24, 2026SEO

robots.txt and sitemap.xml: the basics done right

What robots.txt and sitemap.xml are for, the mistakes that get pages deindexed, and how to keep them healthy.

SEOCrawling
6 min read
Read more →
Jun 18, 2026SEO

Open Graph & Twitter Cards: how link previews work

The Open Graph and Twitter Card tags that control how your links look when shared, which are required, and how to test them.

SocialMeta tags
5 min read
Read more →
Jun 12, 2026SEO

What is llms.txt and should you add one?

llms.txt is an emerging standard for helping AI assistants understand your site. Here's what it is, what goes in it, and whether it's worth adding.

AISEO
5 min read
Read more →
Jun 10, 2026SEO

Technical SEO audit: a DIY guide for developers

A step-by-step technical SEO audit you can run yourself — crawlability, indexing, on-page, performance and structured data, with a repeatable checklist.

Technical SEOSEO
8 min read
Read more →
Jun 7, 2026Performance

Page speed optimization: fixing, not just measuring

Beyond the score: the code-level fixes that actually improve LCP, render-blocking resources, TTFB and layout shifts — a hands-on page speed guide.

PerformanceSEO
8 min read
Read more →
Jun 4, 2026SEO

How to get rich results in Google

What rich results are, which types you can realistically earn, how to become eligible, and why your structured data sometimes doesn't show up.

Structured dataSEO
7 min read
Read more →
Jun 1, 2026SEO

URL structure best practices for SEO

Readable slugs, the trailing-slash question, subdomain vs subfolder, URL parameters, and how to change URLs without losing rankings.

On-pageSEO
6 min read
Read more →
May 29, 2026SEO

Finding and fixing broken links and 404s

Whether 404s hurt SEO, the difference between 404, soft 404 and 410, how to find broken links, and how to reclaim the value of dead pages.

CrawlingSEO
6 min read
Read more →
May 26, 2026SEO

Crawl budget: does it actually matter for your site?

What crawl budget really is, which sites need to care, where it leaks, and how to stop wasting Googlebot's time on pages that don't matter.

CrawlingSEO
7 min read
Read more →
May 23, 2026SEO

Generative Engine Optimization: showing up in AI answers

GEO is optimizing to be cited by AI answer engines like ChatGPT, Perplexity and AI Overviews. How it differs from SEO, and what actually moves the needle.

AISEO
7 min read
Read more →
May 20, 2026SEO

E-E-A-T: turning trust signals into markup

What E-E-A-T actually is, why the extra E (Experience) was added, and the concrete on-page and structured-data changes that demonstrate it.

ContentSEO
7 min read
Read more →