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 3w 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

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

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

[phpseclib/bcmath_compat

PHP 5.x-8.x polyfill for bcmath extension

16821.5M26](/packages/phpseclib-bcmath-compat)[wikimedia/aho-corasick

An implementation of the Aho-Corasick string matching algorithm.

584.0M7](/packages/wikimedia-aho-corasick)[jfcherng/php-mb-string

A high performance multibytes sting implementation for frequently reading/writing operations.

145.8M3](/packages/jfcherng-php-mb-string)[wplake/typed

Lightweight PHP utility for seamless type-casting and data retrieval from dynamic variables, arrays, and objects.

241.2k](/packages/wplake-typed)

PHPackages © 2026

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