PHPackages                             causal/easy\_slug - 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. causal/easy\_slug

ActiveTypo3-cms-extension

causal/easy\_slug
=================

Updates the slug of a page automatically and logically when renaming a page or moving it around.

1.0.0(2y ago)079GPL-2.0-or-laterPHPPHP &gt;=7.4.0 &lt;=7.4.99 || &gt;=8.0.0 &lt;=8.2.99

Since Dec 3Pushed 11mo ago1 watchersCompare

[ Source](https://github.com/xperseguers/t3ext-easy_slug)[ Packagist](https://packagist.org/packages/causal/easy_slug)[ Docs](https://github.com/xperseguers/t3ext-easy_slug)[ RSS](/packages/causal-easy-slug/feed)WikiDiscussions main Synced 6d ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Easy Slug
=========

[](#easy-slug)

This mini-extension has been inspired by "slug\_autoupdate", namely that it automatically updates the slug field for pages, after editing the title or moving the page.

It is targeting TYPO3 v10 (and not v9) because v10 has added support for doing that for the editor but, for some reason, the developers who implemented this long-awaited feature did not want to go "that far" and the redirect business logic ensuring that the old slug will redirect to the new one is triggered only when the editor is manually editing the slug field.

This is something that is really strange as one would expect everything to happen when a page title is edited from within the page tree, and when a page is moved around.

In addition, I would logically expect the alternative navigation title to be used instead of the title if it is defined, but this does not happen natively. So this extension will use that field to generate the slug in place of the title, if present.

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

[](#installation)

At the moment the extension is not available off the TYPO3 Extension Repository (TER). As such you are encouraged to install it via composer:

```
composer req causal/easy_slug:dev-master

```

And then? Well... just forget about it! It is meant to make working with slug finally easy and so it does.

Do not hesitate to open a ticket if this is not the case.

Known Limitations
-----------------

[](#known-limitations)

In TYPO3 v10, when you edit a page and manually change the slug and then save, you get a notification with quick actions to revert the changes and/or the automatic creation of redirects from the old slug to the new one.

When you change the page title (or navigation title) from within the page tree, the renaming action happens outside the regular editing workflow (AJAX call), and the Core notification is not available. This means that the notification prompt does not pop up. The same lack of confirmation notification can be triggered when you move a page or a group of pages.

It is worth mentioning however that this is actually a limitation of TYPO3 v10 as you can reproduce this UX inconsistency by editing a page, changing the slug, closing and when asked whether you want to save change, click the "save and close" button. In that context, the notification does not pop up either.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

896d ago

### Community

Maintainers

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

---

Top Contributors

[![xperseguers](https://avatars.githubusercontent.com/u/646805?v=4)](https://github.com/xperseguers "xperseguers (12 commits)")

---

Tags

urlurislugpagesTYPO3 CMSupdate

### Embed Badge

![Health badge](/badges/causal-easy-slug/health.svg)

```
[![Health](https://phpackages.com/badges/causal-easy-slug/health.svg)](https://phpackages.com/packages/causal-easy-slug)
```

###  Alternatives

[guzzlehttp/psr7

PSR-7 message implementation that also provides common utility methods

8.0k1.0B3.2k](/packages/guzzlehttp-psr7)[symfony/routing

Maps an HTTP request to a set of configuration variables

7.6k789.4M1.8k](/packages/symfony-routing)[league/uri

URI manipulation library

1.1k206.4M277](/packages/league-uri)[league/uri-interfaces

Common tools for parsing and resolving RFC3987/RFC3986 URI

538204.9M23](/packages/league-uri-interfaces)[league/uri-components

URI components manipulation library

31932.3M67](/packages/league-uri-components)[sabre/uri

Functions for making sense out of URIs.

29335.2M40](/packages/sabre-uri)

PHPackages © 2026

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