Canonical Tags in WordPress
How WordPress core handles canonicals on singular content, what it leaves out, and how to add or override them with or without a plugin.
How to add, view, and override the canonical tag on the content management systems and JavaScript frameworks people actually use.
Every content management system handles the canonical tag a little differently. Some add a self-referencing canonical to every page automatically; some cover only part of your site; and at least one major platform adds no canonical at all unless you switch it on.
Knowing which camp your platform falls into is the difference between trusting a default that is already correct and hunting for a setting that was never enabled. Each guide below explains what the platform does out of the box, where to view and override the canonical URL, the limitations to plan around, and the mistakes that most often send the canonical to the wrong place.
Setting and controlling the canonical tag in the major content management systems, site builders, and SEO plugins.
How WordPress core handles canonicals on singular content, what it leaves out, and how to add or override them with or without a plugin.
How Yoast SEO adds self-referencing canonicals across your whole WordPress site, where to override them, and how to fix a wrong canonical.
How Wix sets a default canonical for every page, how to override it, and the sitemap side effect you need to watch for.
Squarespace auto-manages a self-referencing canonical you cannot natively edit, and injected canonicals can create duplicates if you are not careful.
Unlike most platforms, Webflow does not add a canonical by default. How to set the global and per-page canonical, and the CMS limitation to know.
How Rank Math sets self-referencing canonicals across WordPress, where to override them, and the filter for programmatic control.
How All in One SEO (AIOSEO) supplements WordPress core with self-referencing canonicals, and where to override them.
Drupal core adds self-referencing canonicals on entity pages; the Metatag module controls and overrides them.
Joomla's built-in canonical support is weak by design; SEF and non-SEF URLs create duplicates that an extension resolves.
Ghost adds self-referencing canonicals automatically and offers a per-post Canonical URL field for republished content.
HubSpot generates self-referencing canonicals by default, with a page-level override and domain-level canonicalization.
Canonical tags on hosted and self-hosted ecommerce platforms, where product and category URLs multiply.
How Shopify auto-generates canonicals, the collection-versus-product URL behavior, and how to customize the tag in theme.liquid.
How to switch on canonical tags for Magento products and categories, and why the built-in setting does not fix layered navigation.
WooCommerce adds no canonical layer of its own; it relies on WordPress and your SEO plugin. The real work is taming filter, sort, and pagination URLs.
BigCommerce adds self-referencing canonicals automatically and folds a product's multiple category URLs to one canonical product URL.
Implementing canonical tags reliably in Next.js, React, and other JavaScript frameworks.
Setting canonicals in Next.js with the App Router Metadata API, the Pages Router, next-seo, and the metadataBase gotcha to avoid.
Adding canonical tags to a React app with react-helmet-async, and why a client-only canonical is risky without server-side rendering.