Adds a simple canonical tag in Silverstripe 4

Installs: 47

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 5


v1.1 2020-12-08 12:28 UTC

This package is auto-updated.

Last update: 2024-07-03 15:23:56 UTC



Adds a rel=canonical tag to Silverstripe 4 to prevent search engines from recording duplicate entries for the same page.

Scrutinizer Code Quality Build Status License Version


SilverStripe 4


  • Install the code with composer require loveduckie/silverstripe-canonical
  • Run a dev/build?flush to update your project


This module adds a simple canonical tag to your pages to allow for the specification of the default domain.
The canonical tag allows you to signal to search engines like Google which is the authoritative version of the page to help reduce duplicate content issues caused by non-www versions, pages with different protocols, etc.

Once installed, go to the site settings and enter the full canonical domain. This should include the protocol (eg. http:// or https://)

The module tries to be the last extension to be applied, and will try to remove any existing rel="canonical" tags from the head.

At the time of writing, the canonical tags are only added correctly for pages in the SiteTree. Pages generated from custom controllers or from DataObjects may or may not work! When creating the canonical tags, the module will look for a method called CanonicalLink() on the extended object. If you are using DataObjects as pages, adding this method on the relevant controller should allow you to control the canonical URL in these cases.

Support has since been added for automatically integrating canonical tags for pages that are rendered as DataObjects with controllers. Refer to documentation about how to use this.

Additional Credits