PHPackages                             lerni/silverstripe-canonical - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. lerni/silverstripe-canonical

AbandonedArchivedSilverstripe-module[Utility &amp; Helpers](/categories/utility)

lerni/silverstripe-canonical
============================

A SilverStripe module to add canonical tag in SilverStripe 3

01.1kPHP

Since Apr 8Pushed 6y ago1 watchersCompare

[ Source](https://github.com/lerni/canonical)[ Packagist](https://packagist.org/packages/lerni/silverstripe-canonical)[ RSS](/packages/lerni-silverstripe-canonical/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

silverstripe-canonical
======================

[](#silverstripe-canonical)

Adds a simple rel=canonical tag to SilverStripe 3.x

Requirements
------------

[](#requirements)

SilverStripe 3.6.x &lt; 4

Installation
------------

[](#installation)

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

Config
------

[](#config)

You need to set the extensions in your config.

```
Page:
  extensions:
    - CanonicalExtension
SiteConfig:
  extensions:
    - CanonicalSiteConfigExtension

```

Usage
-----

[](#usage)

This module adds a simple canonical tag to your pages to allow for the specification of the default domain or a specific tag per Page. 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.

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/e68b89567976eada21fddc5e776f4adcbe15ad846150cbcde6eb24bc185a8e5f?d=identicon)[lerni](/maintainers/lerni)

---

Top Contributors

[![lerni](https://avatars.githubusercontent.com/u/472115?v=4)](https://github.com/lerni "lerni (1 commits)")

### Embed Badge

![Health badge](/badges/lerni-silverstripe-canonical/health.svg)

```
[![Health](https://phpackages.com/badges/lerni-silverstripe-canonical/health.svg)](https://phpackages.com/packages/lerni-silverstripe-canonical)
```

###  Alternatives

[stechstudio/laravel-php-cs-fixer

Easily format your Laravel Code with this Configuration file and accompanying artisan command.

146718.6k2](/packages/stechstudio-laravel-php-cs-fixer)[nfephp-org/sped-esocial

e-Social library

18030.7k](/packages/nfephp-org-sped-esocial)[yoast/yoast-seo-for-neos

Yoast SEO for Neos CMS

24164.8k](/packages/yoast-yoast-seo-for-neos)[heyday/silverstripe-colorpalette

A color palette picker for SilverStripe CMS

23156.0k10](/packages/heyday-silverstripe-colorpalette)[red-explosion/laravel-sqids

Easily generate Stripe/YouTube looking IDs for your Laravel models.

4530.8k](/packages/red-explosion-laravel-sqids)[epessine/axis

Draw charts with a simple API on Laravel

265.6k](/packages/epessine-axis)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
