Download the PHP package fkrzski/laravel-canonical without Composer
On this page you can find all versions of the php package fkrzski/laravel-canonical. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download fkrzski/laravel-canonical
More information about fkrzski/laravel-canonical
Files in fkrzski/laravel-canonical
Package laravel-canonical
Short Description Laravel package for managing canonical URLs and preventing duplicate content
License MIT
Homepage https://github.com/fkrzski/laravel-canonical
Informations about the package laravel-canonical
Laravel Canonical URLs
A lightweight Laravel package for generating canonical URLs to prevent duplicate content issues and improve SEO. Automatically normalizes URLs by removing trailing slashes while preserving query parameters.
Version Compatibility
| Package Version | PHP Version | Laravel Version |
|---|---|---|
| 1.4.x+ | 8.4+ | 12.x, 13.x |
| 1.3.x+ | 8.4+ | 11.x, 12.x |
| 1.0.x - 1.2.x | 8.3+ | 11.x, 12.x |
Installation
Install via Composer:
The package will auto-register via Laravel's package discovery.
Configuration
Publish the configuration file (optional):
Set your canonical domain in .env:
If not set, it falls back to APP_URL.
Trailing Slash Configuration
@since 1.1.0
Control whether trailing slashes are removed from canonical URLs:
When set to true (default), URLs are normalized by removing trailing slashes. When set to false, the original URL format is preserved.
Usage
Blade Components
@since 1.2.0
The package provides three convenient ways to add canonical link tags in your Blade templates:
1. Using Blade Component
2. Using Helper Function
The canonical() helper provides a hybrid approach - it can return either the generator instance or a URL string:
3. Using Blade Directive
All Three Methods Generate:
In Blade Templates (Facade)
Generate canonical URLs in your views using the Facade:
Generate for Specific Paths
URL Normalization
With CANONICAL_TRIM_TRAILING_SLASH=true (default):
- Removes trailing slashes:
/blog/→/blog - Preserves query parameters:
/search?q=teststays intact - Normalizes root URL:
/→https://example.com
With CANONICAL_TRIM_TRAILING_SLASH=false (@since 1.1.0):
- Preserves trailing slashes:
/blog/→/blog/ - Maintains original URL structure while still normalizing the domain
- Useful when your application treats
/blogand/blog/as different routes
Use Cases
Prevent duplicate content penalties:
Multi-domain environments:
Preserve URL structure (@since 1.1.0):
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Filip Krzyżanowski
- All Contributors
License
The MIT License (MIT). Please see License File for more information.