---
title: "Headlark (@headlark) | Hashnode"
description: "Automatic SEO titles, descriptions, link previews and structured data for static sites, written at build time. Read the latest articles by Headlark on Hashnode."
url: "https://hashnode.com/@headlark"
---

@headlark

# Headlark

@headlark · Joined October 2026

Automatic SEO titles, descriptions, link previews and structured data for static sites, written at build time.

[Website](https://headlark.com/?utm_source=hashnode&utm_medium=social)

### [Add JSON-LD structured data to an Astro or Docusaurus site](https://headlark.hashnode.dev/add-json-ld-structured-data-to-an-astro-or-docusaurus-site?utm_source=hashnode&utm_medium=feed)

How to add JSON-LD to Astro, Starlight and Docusaurus pages: which schema.org types fit docs and blogs, working code for each, common mistakes and how to validate it.

6 min read · [headlark.hashnode.dev](https://headlark.hashnode.dev/add-json-ld-structured-data-to-an-astro-or-docusaurus-site?utm_source=hashnode&utm_medium=feed)

[Oct 21](https://hashnode.com/posts/add-json-ld-structured-data-to-an-astro-or-docusaurus-site/6ad8cd97b4dbb33e916e3ecb)

### [SEO for Starlight docs sites](https://headlark.hashnode.dev/seo-for-starlight-docs-sites?utm_source=hashnode&utm_medium=feed)

Set up SEO on a Starlight docs site: site and descriptions, og:image via head, a Head override, the sitemap, hreflang on multilingual docs and JSON-LD.

7 min read · [headlark.hashnode.dev](https://headlark.hashnode.dev/seo-for-starlight-docs-sites?utm_source=hashnode&utm_medium=feed)

[Oct 21](https://hashnode.com/posts/seo-for-starlight-docs-sites/6ad8cc830108a67dc63bc3b3)

### [SEO for Docusaurus: titles, descriptions, link previews and structured data](https://headlark.hashnode.dev/seo-for-docusaurus-titles-descriptions-link-previews-and-structured-data?utm_source=hashnode&utm_medium=feed)

The Docusaurus SEO settings that matter: front matter, themeConfig.image, head tags, noindex, sitemap ignorePatterns, trailingSlash pitfalls and JSON-LD.

8 min read · [headlark.hashnode.dev](https://headlark.hashnode.dev/seo-for-docusaurus-titles-descriptions-link-previews-and-structured-data?utm_source=hashnode&utm_medium=feed)

[Oct 21](https://hashnode.com/posts/seo-for-docusaurus-titles-descriptions-link-previews-and-structured-data/6ad8cb6d2382f76b6577a5d1)

### [Duplicate titles and meta descriptions on a docs site](https://headlark.hashnode.dev/duplicate-titles-and-meta-descriptions-on-a-docs-site?utm_source=hashnode&utm_medium=feed)

Why Docusaurus, Starlight and VitePress sites end up with the same title or description on many pages, how to find them in your build, and how to fix them.

6 min read · [headlark.hashnode.dev](https://headlark.hashnode.dev/duplicate-titles-and-meta-descriptions-on-a-docs-site?utm_source=hashnode&utm_medium=feed)

[Oct 21](https://hashnode.com/posts/duplicate-titles-and-meta-descriptions-on-a-docs-site/6ad8ca48b4dbb33e916e32ff)

### [og:image not showing in Slack, LinkedIn or X](https://headlark.hashnode.dev/og-image-not-showing-in-slack-linkedin-or-x?utm_source=hashnode&utm_medium=feed)

Why a shared link shows a card with no image in Slack, LinkedIn or X, the usual causes, and how to set a working og:image in Astro, Next.js and Hugo.

6 min read · [headlark.hashnode.dev](https://headlark.hashnode.dev/og-image-not-showing-in-slack-linkedin-or-x?utm_source=hashnode&utm_medium=feed)

[Oct 21](https://hashnode.com/posts/og-image-not-showing-in-slack-linkedin-or-x/6ad8ca05ae1bcb1febf4b872)
