PHPackages                             sbuerk/t3e-legacy-param-guard - 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. sbuerk/t3e-legacy-param-guard

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

sbuerk/t3e-legacy-param-guard
=============================

TYPO3 Guard the handling of legacy params in FE PSR-7 request

00[2 issues](https://github.com/sbuerk/t3e-legacy-param-guard/issues)Shell

Since Dec 5Pushed 2y ago1 watchersCompare

[ Source](https://github.com/sbuerk/t3e-legacy-param-guard)[ Packagist](https://packagist.org/packages/sbuerk/t3e-legacy-param-guard)[ RSS](/packages/sbuerk-t3e-legacy-param-guard/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/f07adacd0a391cb21898cdb20d61696c51dcf829c02bad06a9c0ce02bdd60e2e/68747470733a2f2f706f7365722e707567782e6f72672f73627565726b2f7433652d6c65676163792d706172616d2d67756172642f762f737461626c65)](https://extensions.typo3.org/extension/legacy_param_guard/)[![TYPO3 11](https://camo.githubusercontent.com/5432de37ab8517e6d9e6f803a2e1a7674a308c6d93896fe8a6fbc8a4cb50aece/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31312d6f72616e67652e737667)](https://get.typo3.org/version/11)[![TYPO3 11](https://camo.githubusercontent.com/08afacc49187e63c796f7d1c4401d0f0563bab574d9c525312b2827acb09a7c5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31322d6f72616e67652e737667)](https://get.typo3.org/version/12)[![Total Downloads](https://camo.githubusercontent.com/33a712891f16c2c9d22186015dc47536d10857d6506a88d4b8d329fd32e1e29d/68747470733a2f2f706f7365722e707567782e6f72672f73627565726b2f7433652d6c65676163792d706172616d2d67756172642f642f746f74616c)](https://packagist.org/packages/sbuerk/t3e-legacy-param-guard)[![Monthly Downloads](https://camo.githubusercontent.com/139e640c9e7b8feb4902b51d6873a7d89a33cce2462333409a385242ad10ab1c/68747470733a2f2f706f7365722e707567782e6f72672f73627565726b2f7433652d6c65676163792d706172616d2d67756172642f642f6d6f6e74686c79)](sbuerk/t3e-legacy-param-guard)[![tests-main-v11-composer-installers-3](https://github.com/sbuerk/t3e-legacy-param-guard/actions/workflows/tests11i3.yml/badge.svg)](https://github.com/sbuerk/t3e-legacy-param-guard/actions/workflows/tests11i3.yml)[![tests-main-v11-composer-installers-4](https://github.com/sbuerk/t3e-legacy-param-guard/actions/workflows/tests11i4.yml/badge.svg)](https://github.com/sbuerk/t3e-legacy-param-guard/actions/workflows/tests11i4.yml)[![tests-main-v12](https://github.com/sbuerk/t3e-legacy-param-guard/actions/workflows/tests12.yml/badge.svg)](https://github.com/sbuerk/t3e-legacy-param-guard/actions/workflows/tests12.yml)TYPO3 extension `legacy_param_guard`
------------------------------------

[](#typo3-extension-legacy_param_guard)

Repository:Issues:Read online:TER:[https://extensions.typo3.org/extension/legacy\_param\_guard/](https://extensions.typo3.org/extension/legacy_param_guard/)### Mission

[](#mission)

TYPO3 used a couple of query parameters in the frontend to determine which pages should be shown. Since TYPO3 v9 speaking url has been integrated directly into the TYPO3 CMS keeping the old **legacy parameters**.

Technically, the legacy parameters

- id=&lt;int&gt;: page id
- L=&lt;int&gt;: language id
- type=&lt;int&gt;: typeNum (pageType)

are not really required anymore for page resolving and rendering. Using these parameters intentionally is a behaviour from old days not adopting newer techniques, which requires the core to still maintain and respect these parameters.

TYPO3 provides ways making the usage of them superfluous in projects and extensions. However, 3rd party services and pages are able to created links which bots (like googlebot) are crawling not having the speaking url in it.

This extension provides several ways to guard these legacy parameters:

- redirect to same url with removed legacy params
- block the request (simple body-less 404 page response)
- remove legacy params from request and let TYPO3 deal with it even if the browser has the url with the parameters

Caution!

Using this extension removes the ability to actively use any legacy parameter. Don't use it if required by your instance or extension.

### Compatibility

[](#compatibility)

legacy\_param\_guardTYPO3PHPSupport/Developmentdev-main11, 127.4, 8.0, 8.1, 8.2, 8.3unstable development branch### TYPO3 Build/Scripts/runTests.sh

[](#typo3-buildscriptsruntestssh)

This extension contains the well known Build/Scripts/runTests.sh docker/docker-compose based script wrapping script.

Provided commands/test-suits:

- -s acceptance: Execute acceptance tests (not implemented yet)
- -s clean: Clean unnecessary files and folders
- -s cgl: Ensure code-style guideline rules.
- -s composerUpdate: Run composer update
- -s composerValidate: Validate composer.json
- -s functional: Execute functional tests
- -s lint: Lint \*.php files for syntax errors
- -s phpstan: Execute static code analyzer PHPStan
- -s phpstanGenerateBaseline: Generate baseline for PHPStan. Can be used to manage temporarily unsolvable reports.

###  Health Score

12

—

LowBetter than 0% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity20

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/22ea8c0796de498c0d81554f12539e71bdb9b9359df3a82a7fb450867a68a680?d=identicon)[sbuerk](/maintainers/sbuerk)

---

Top Contributors

[![sbuerk](https://avatars.githubusercontent.com/u/1453466?v=4)](https://github.com/sbuerk "sbuerk (1 commits)")

### Embed Badge

![Health badge](/badges/sbuerk-t3e-legacy-param-guard/health.svg)

```
[![Health](https://phpackages.com/badges/sbuerk-t3e-legacy-param-guard/health.svg)](https://phpackages.com/packages/sbuerk-t3e-legacy-param-guard)
```

###  Alternatives

[ccinn/husky-php

Similar to js-husky client git hook implementation

6827.0k1](/packages/ccinn-husky-php)[lloricode/laravel-html-table

Html table generator for laravel

1561.9k1](/packages/lloricode-laravel-html-table)[lingxi/hashids

A Hashids bridge for Laravel

183.3k](/packages/lingxi-hashids)

PHPackages © 2026

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