Alias redirects

What this demonstrates

@quartz-community/alias-redirects turns an author’s URL migration into a concrete emitted artifact. This page’s canonical route is /experiments/alias-redirects; its frontmatter alias is alias-redirects-old, and Quartz emits the redirect-only artifact at the root route /alias-redirects-old.html.

This is intentionally an emitter experiment, not a client-side JavaScript redirect. The old HTML has a canonical link, robots=noindex, and an HTTP meta refresh whose URL is computed relative to the old route. The canonical page remains a normal page in every index.

Configuration used

  - source: "@quartz-community/alias-redirects"
    enabled: true
    options:
      enableCaseRedirects: true
    order: 50

Content used

---
title: Alias Redirects
description: "A canonical page with a frontmatter alias."
tags:
  - sandbox
aliases:
  - alias-redirects-old
---

The alias value is intentionally not a full URL. This plugin emits the alias as a root-level redirect route, while the canonical page remains under its source folder. The same plugin also emits case-preserving redirects when enableCaseRedirects is on.

Rendered result

The canonical page you are reading has the normal Quartz layout. Open the old route directly: legacy alias route. It should redirect immediately to this canonical route.

What the rendered output proves

The emitted legacy HTML contains <meta name="robots" content="noindex">, <meta http-equiv="refresh" content="0; url=...">, and a <link rel="canonical" ...>. Those markers prove a real redirect artifact was emitted, rather than a prose link pretending that an alias exists. The alias route is intentionally absent from contentIndex.json and sitemap entries because it is redirect-only.

safe_for_shared_engine

true — aliases are an additive emitter output and preserve old URLs without changing the canonical page or requiring a runtime service.