SEO and Social
Learn how Unmarkdown generates meta tags, Open Graph data, JSON-LD structured data, and other SEO features for published pages.
Meta Tags
Unmarkdown automatically generates essential meta tags for every published page using generateDocumentMetadata(). The page title is derived from your document's title field or first heading, and the description is generated from the opening paragraph.
<title>Your Document Title</title>
<meta name="description" content="First paragraph of your document..." />
<meta name="author" content="Your display name" />You can override the auto-generated title and description in the publish settings panel. Custom values take precedence over the automatically derived ones.
Open Graph
Published pages include Open Graph tags so that links shared on Facebook, LinkedIn, Slack, Discord, and other platforms display rich previews with a title, description, and image.
<meta property="og:title" content="Your Document Title" />
<meta property="og:description" content="Document description..." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://unmarkdown.com/u/yourname/your-slug" />
<meta property="og:image" content="https://unmarkdown.com/api/og/doc_abc123" />OG Images
Every published document gets an automatically generated social card image via @vercel/og. The image is 1200x630 pixels and includes:
- Your document title in large text
- A preview of the first ~200 characters of content
- Your template's accent color as a visual element
- The Unmarkdown logo
OG images are generated on the Edge runtime for fast delivery. They update automatically when you change your document title or template.
Twitter Cards
Published pages include Twitter Card meta tags for rich previews when shared on X (formerly Twitter):
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Your Document Title" />
<meta name="twitter:description" content="Document description..." />The card type is set to summary_large_image to display a large preview image, which tends to get higher engagement than the smaller summary card format.
JSON-LD Structured Data
Unmarkdown injects JSON-LD structured data for search engines to understand your content:
- Published documents: Article schema with title, description, author, datePublished, and dateModified
- Author profiles: Person schema with name, URL, and description
- Public folders: CollectionPage schema with name, description, and contained documents
JSON-LD is generated by generateDocumentJsonLd() and embedded as a <script type="application/ld+json"> tag in the page head. This helps search engines display rich results for your content.
Canonical URLs
Each published page includes a canonical URL tag pointing to its primary address. This helps search engines understand which URL is the authoritative version of the content, preventing duplicate content issues.
<link rel="canonical" href="https://unmarkdown.com/u/yourname/your-slug" />Sitemap
Unmarkdown generates a dynamic sitemap.ts that includes:
- All public published documents
- All author profile pages
- All public folders
Link-only, specific-people, and password-protected documents are excluded from the sitemap. When you change a document's visibility, it is added to or removed from the sitemap on the next generation.
Robots and AI Bots
The platform's robots.ts configuration allows major search engines and AI bots to access public content:
- Standard search engine crawlers: allowed (Googlebot, Bingbot, etc.)
- GPTBot (OpenAI): allowed
- ClaudeBot (Anthropic): allowed
- PerplexityBot: allowed
Per-page indexing is controlled by visibility settings. Public documents have no robots restrictions. Link-only documents include a noindex meta tag. Password-protected documents also receive a noindex tag regardless of visibility level.
Performance Hints
Published pages include DNS prefetch and preconnect hints for faster resource loading:
- fonts.googleapis.com: Google Fonts CSS
- fonts.gstatic.com: Google Fonts files
- cdn.jsdelivr.net: KaTeX CSS and fonts
These hints tell the browser to start DNS resolution and connection setup early, reducing the time to load fonts and math rendering resources.