Self-referencing absolute canonical on every page
A relative canonical resolves differently depending on the requested URL, which is exactly the ambiguity a canonical exists to remove. Check meta-canonical-absolute
import type { Metadata } from "next";
import { canonicalUrl } from "@/lib/seo";
export const metadata: Metadata = {
title: "Pricing",
description: "Three tiers, one-time payment, 30 day refund.",
alternates: { canonical: canonicalUrl("/pricing") },
};