PHPackages                             stefandoorn/sylius-seo-url-plugin - 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. stefandoorn/sylius-seo-url-plugin

ActiveSylius-plugin[Utility &amp; Helpers](/categories/utility)

stefandoorn/sylius-seo-url-plugin
=================================

SEO URLs for Sylius

v1.0.0(4y ago)2186.6k↑90.9%13[3 issues](https://github.com/stefandoorn/SyliusSeoUrlPlugin/issues)[1 PRs](https://github.com/stefandoorn/SyliusSeoUrlPlugin/pulls)MITPHPPHP ^7.2 || ^8.0CI failing

Since Dec 3Pushed 3y ago2 watchersCompare

[ Source](https://github.com/stefandoorn/SyliusSeoUrlPlugin)[ Packagist](https://packagist.org/packages/stefandoorn/sylius-seo-url-plugin)[ RSS](/packages/stefandoorn-sylius-seo-url-plugin/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (3)Dependencies (27)Versions (8)Used By (0)

Sylius SEO URL Plugin
=====================

[](#sylius-seo-url-plugin)

[![License](https://camo.githubusercontent.com/77c735dee105bc130a1ce9187bac248beb07ff189ff90935c931a03dbb9da992/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f73746566616e646f6f726e2f73796c6975732d73656f2d75726c2d706c7567696e2e737667)](https://packagist.org/packages/stefandoorn/sylius-seo-url-plugin)[![Version](https://camo.githubusercontent.com/036f118244ee6748171041e2be933c5b9e6767d5cc15c802ead4b23b1c1148bb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73746566616e646f6f726e2f73796c6975732d73656f2d75726c2d706c7567696e2e737667)](https://packagist.org/packages/stefandoorn/sylius-seo-url-plugin)[![Build Status](https://camo.githubusercontent.com/6e120f00610fb4790037dcc4024ed2920d07fdefba8073c8f4825396423d12dc/68747470733a2f2f7472617669732d63692e6f72672f73746566616e646f6f726e2f53796c69757353656f55726c506c7567696e2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/stefandoorn/SyliusSeoUrlPlugin)

Features
--------

[](#features)

- Remove `/taxons` from taxon URLs

    1. Before: `https://localhost/en_US/taxons/t-shirts`
    2. After: `https://localhost/en_US/t-shirts`
- Remove `/products` from product URLs

    1. Before: `https://localhost/en_US/products/t-shirt-banana`
    2. After: `https://localhost/en_US/t-shirt-banana`

Combined with [disabling localised URLs](https://docs.sylius.com/en/latest/cookbook/shop/disabling-localised-urls.html), URLs can even be shorter.

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

[](#installation)

1. Require plugin with composer:

    ```
    composer require stefandoorn/sylius-seo-url-plugin
    ```
2. Add plugin class to your `AppKernel`.

    ```
    $bundles = [
       new \StefanDoorn\SyliusSeoUrlPlugin\SyliusSeoUrlPlugin(),
    ];
    ```

    or to your `bundles.php`:

    ```
    return [
       // ...
       StefanDoorn\SyliusSeoUrlPlugin\SyliusSeoUrlPlugin::class => ['all' => true],
    ];
    ```
3. Import routing (to override default shop routing):

    ```
    sylius_seo_url_shop:
        prefix: /{_locale}
        resource: "@SyliusSeoUrlPlugin/Resources/config/shop_routing.yml"
    ```

    Make sure it's imported after (because it overrides default Sylius routes):

    ```
    sylius_shop:
        resource: "@SyliusShopBundle/Resources/config/routing.yml"
        prefix: /{_locale}
    ```

    You can remove the prefix `/{_locale}` if you prefer url's without the prefix. In this case, the import looks like this:

    ```
        sylius_seo_url_shop:
            resource: "@SyliusSeoUrlPlugin/Resources/config/shop_routing.yml"
    ```
4. Import configuration:

    ```
    - { resource: "@SyliusSeoUrlPlugin/Resources/config/config.yml" }
    ```
5. Import repository method:

    The default `findOneByChannelAndSlug` for products is slow when used in a loop, therefore:

    1. Use the trait in your own Product Repository &amp; add interface:

        ```
        use StefanDoorn\SyliusSeoUrlPlugin\Repository\ProductExistsByChannelAndSlug;
        use StefanDoorn\SyliusSeoUrlPlugin\Repository\ProductExistsByChannelAndSlugAwareInterface;
        use Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository as BaseProductRepository;

        final class ProductRepository extends BaseProductRepository implements ProductExistsByChannelAndSlugAwareInterface
        {
            use ProductExistsByChannelAndSlug;
        }
        ```
    2. Or use the Product repository as provided, add to your config:

        ```
        sylius_product:
            resources:
                product:
                    classes:
                        repository: StefanDoorn\SyliusSeoUrlPlugin\Repository\ProductRepository
        ```

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity42

Moderate usage in the ecosystem

Community18

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 78.1% 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.

###  Release Activity

Cadence

Every ~514 days

Total

3

Last Release

1665d ago

PHP version history (2 changes)v1.0.0-alphaPHP ^7.2

v1.0.0PHP ^7.2 || ^8.0

### Community

Maintainers

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

---

Top Contributors

[![stefandoorn](https://avatars.githubusercontent.com/u/4903082?v=4)](https://github.com/stefandoorn "stefandoorn (25 commits)")[![Zales0123](https://avatars.githubusercontent.com/u/6212718?v=4)](https://github.com/Zales0123 "Zales0123 (3 commits)")[![htaoufikallah](https://avatars.githubusercontent.com/u/250642?v=4)](https://github.com/htaoufikallah "htaoufikallah (1 commits)")[![j0r1s](https://avatars.githubusercontent.com/u/35805130?v=4)](https://github.com/j0r1s "j0r1s (1 commits)")[![JoppeDC](https://avatars.githubusercontent.com/u/9723620?v=4)](https://github.com/JoppeDC "JoppeDC (1 commits)")[![lruozzi9](https://avatars.githubusercontent.com/u/26346480?v=4)](https://github.com/lruozzi9 "lruozzi9 (1 commits)")

---

Tags

syliussylius-plugin

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/stefandoorn-sylius-seo-url-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/stefandoorn-sylius-seo-url-plugin/health.svg)](https://phpackages.com/packages/stefandoorn-sylius-seo-url-plugin)
```

###  Alternatives

[sylius/refund-plugin

Plugin provides basic refunds functionality for Sylius application.

701.8M20](/packages/sylius-refund-plugin)[stefandoorn/sitemap-plugin

Sitemap Plugin for Sylius

841.1M1](/packages/stefandoorn-sitemap-plugin)[monsieurbiz/sylius-rich-editor-plugin

A Rich Editor plugin for Sylius.

75416.2k6](/packages/monsieurbiz-sylius-rich-editor-plugin)[odiseoteam/sylius-vendor-plugin

Vendor plugin for Sylius. Add Vendor (Brand) to your products

6068.4k1](/packages/odiseoteam-sylius-vendor-plugin)[synolia/sylius-scheduler-command-plugin

Scheduler Command Plugin.

35389.6k](/packages/synolia-sylius-scheduler-command-plugin)[stefandoorn/google-tag-manager-plugin

Google Tag Manager plugin for Sylius.

23292.9k2](/packages/stefandoorn-google-tag-manager-plugin)

PHPackages © 2026

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