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 yesterday

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

[matriphe/iso-639

PHP library to convert ISO-639-1 code to language name.

503.3M6](/packages/matriphe-iso-639)

PHPackages © 2026

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