Metadados
As tags de head que toda página renderiza — title, description, canonical, Open Graph e tags de card do X — e como sobrescrevê-las por página a partir do frontmatter.
Toda página renderiza as tags <head> padrão a partir da sua config e do frontmatter — sem nenhuma configuração necessária. Quando um valor pode ser ajustado, ele fica sob a chave seo no blume.config.ts ou sob seo no frontmatter de uma página.
<title>— o título da página mais otitledo seu site.<meta name="description">eog:description— adescriptionda página, com fallback para adescriptiondo site.og:titleeog:site_name— o título da página e otitledo seu site.<link rel="canonical">eog:url— a URL absoluta da página (quandodeployment.siteestá definido).og:type—articleem posts de blog e entradas de changelog,websiteno restante. Páginas de artigo também emitemarticle:published_timeearticle:modified_timea partir dadateda página e do timestamp de última modificação.og:image— a imagem OG da página. Um card gerado também declara seusog:image:width,og:image:height,og:image:typeeog:image:alt, para que um crawler consiga montar o layout do card sem precisar buscá-lo antes; umseo.imageque você mesmo fornece não declara nenhum desses, já que seu tamanho e formato são desconhecidos.twitter:card,twitter:title,twitter:description,twitter:image— o card do X. Páginas com imagem recebem a variante largasummary_large_image; páginas sem imagem ainda recebem o card compactosummaryem vez de aparecerem como um link simples.
Atribuição no X
O X lê todo o resto do card a partir das tags og:*, então os únicos valores que ele não consegue inferir são as contas a creditar. Defina-as sob seo.x e o Blume emite twitter:site (a conta do seu site) e twitter:creator (a do autor). O @ é opcional — acme e @acme funcionam do mesmo jeito.
seo: {
x: { handle: "@acme", creator: "@jane" },
}
Uma página pode reivindicar seu próprio autor, que é o que você quer para um post convidado:
---
title: How we shipped it
seo:
x:
creator: "@guestauthor"
---
Sobrescritas por página
Sobrescreva qualquer uma das outras tags por página com o frontmatter seo:
---
title: Pricing
description: Plans and pricing for every team size.
seo:
title: Pricing — Acme
canonical: https://acme.com/pricing
noindex: false
---
seo.title?string
Override the <title> and og:title for this page.
stringseo.description?string
Override the meta + og:description.
stringseo.image?string
Custom social image (see Open Graph images).
stringseo.canonical?string
Override the canonical URL.
stringseo.noindex?boolean
Emit robots noindex and skip structured data.
booleanseo.x.creator?string
Credit this page to an X account (twitter:creator), overriding seo.x.creator from your config.
stringUma página com noindex também sai do sitemap e pula os dados estruturados.