Built with Chinaski

Meta Tags

Every page and post Chinaski builds gets a complete head: title, meta description, Open Graph and Twitter Card tags, canonical URL, JSON-LD structured data, and the extras (RSS, hreflang, pagination links) when they apply. You control all of it with per-page overrides plus a couple of site-wide settings; the builder fills in sensible fallbacks for anything you leave blank. This page explains what’s used and how.

Titles

Each page and post has a meta title field. If you leave it blank, the page/post title is used instead. Whatever ends up chosen is rendered as <title> with your site name appended after an em dash (e.g. “About — My Site”).

Descriptions

The meta description field also falls back: if left empty, your site tagline is used instead. Meta descriptions across the site are checked at build time, and the build report counts pages with empty and duplicate descriptions, so you can find gaps and copy-paste clones.

Social previews

The same content fills both Open Graph and Twitter Card tags, so a share renders correctly on both platforms:

  • og:title / twitter:title: use the explicit OG title if set, then the meta title, then the plain title.
  • og:description / twitter:description: OG description first, then meta description, then the site tagline.
  • og:image / twitter:image: a per-page OG image URL first, then the item’s featured image, then the Default Site Image setting. If any image resolves, the Twitter card is the large-image variant; without one it’s the summary variant and the image tag is omitted.
  • og:site_name, og:locale, og:type: always emitted (locale matches the page language).
  • twitter:site: included only when you set the handle in Settings → Integrations.

Canonical URLs

Each page, post, and listing carries a canonical URL. Leave the field alone and Chinaski derives it automatically from your site URL configuration; paste an explicit canonical URL into the item to point elsewhere (e.g. when syndicating). Whatever is chosen becomes both <link rel="canonical"> and og:url. The build also scans for pages with empty canonicals and reports them as SEO issues.

Multilingual sites

When more than one language is active, pages emit hreflang alternate links pointing at their translations in each language, so search engines serve the right locale to the right visitor. Language-specific blog titles can be customized per language in settings.

Structured data

Each generated page includes JSON-LD structured data: WebSite schema anchored on the blog homepage, an Organization block built from your Organization settings (name, logo, phone, email, street address, and your LinkedIn/Facebook/Instagram/X profiles as same-as links), plus breadcrumbs and page/article objects on content pages, category pages, author pages, and document listings. Keep the Organization fields filled in if you want rich entity information in search results.

Setting Noindex in Settings → General adds a noindex,nofollow robots meta tag to every built page and a disallow-all to robots.txt, for staging sites you want invisible. robots.txt itself is generated per language as part of each build.

Small extras

  • RSS – blog feeds are linked in the head as RSS alternates, and the feed itself is built per language.
  • Favicons: favicon (96×96 PNG), apple-touch-icon (180×180), and favicon.ico links are emitted when a favicon is enabled for the theme.
  • Analytics: if you configured GA4/GTM, the loader is deferred until visitor interaction and gated behind consent (cookie notice state); in air-gap mode no analytics snippets ship at all.
  • Pagination: paginated listings carry rel="prev" / rel="next" links.
Read this site in