Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/palmtreephp/canonical-url-bundle

:palm_tree: Symfony bundle for canonical URL redirects
https://github.com/palmtreephp/canonical-url-bundle

canonical-urls redirects seo symfony symfony-bundle

Last synced: 2 days ago
JSON representation

:palm_tree: Symfony bundle for canonical URL redirects

Awesome Lists containing this project

README

        

# Canonical Url Bundle

[![License](http://img.shields.io/packagist/l/palmtree/canonical-url-bundle.svg)](LICENSE)
[![Travis](https://img.shields.io/travis/palmtreephp/canonical-url-bundle.svg)](https://travis-ci.org/palmtreephp/canonical-url-bundle)
[![Scrutinizer](https://img.shields.io/scrutinizer/g/palmtreephp/canonical-url-bundle.svg)](https://scrutinizer-ci.com/g/palmtreephp/canonical-url-bundle/)
[![Scrutinizer Coverage](https://img.shields.io/scrutinizer/coverage/g/palmtreephp/canonical-url-bundle.svg)](https://scrutinizer-ci.com/g/palmtreephp/canonical-url-bundle/)

The `CanonicalUrlBundle` is a Symfony bundle to redirect requests from multiple URLs for the same resource to a single canonical URL.

For example, if you had a resource named /about-us for your site example.org it could potentially be accessed with:

```
http://example.org/about-us
http://example.org/about-us/
http://www.example.org/about-us
http://www.example.org/about-us/
https://example.org/about-us
https://example.org/about-us/
https://www.example.org/about-us
https://www.example.org/about-us/
```

When a user requests the resource with any of the above URLs, `CanonicalUrlBundle` will build a canonical URL based on a predefined site URL and will
perform an HTTP redirect to it if the request URL does not match.

The bundle can also add a `` tag to your twig templates, see the [Usage](#usage) section for how.

## Installation

### Step 1: Download the Bundle

Open a command console, enter your project directory and execute the
following command to download the latest stable version of this bundle:

```console
composer require palmtree/canonical-url-bundle
```

This command requires you to have Composer installed globally, as explained
in the [installation chapter](https://getcomposer.org/doc/00-intro.md)
of the Composer documentation.

### Step 2: Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles
in the `app/AppKernel.php` file of your project:

```php
` tag to your pages include the following code in the `` of a twig tempalte:

```twig
{{ palmtree_canonical_link_tag() }}
```

The href attribute will default to the canonical URL for the current request, but this can be overidden:

```twig
{{ palmtree_canonical_link_tag('http://example.org/my-custom-link') }}
```

## License

This bundle is released under the [MIT license](LICENSE)