PHPackages                             georgringer/redirect-generator - 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. [PDF &amp; Document Generation](/categories/documents)
4. /
5. georgringer/redirect-generator

ActiveTypo3-cms-extension[PDF &amp; Document Generation](/categories/documents)

georgringer/redirect-generator
==============================

Generate redirect entries from a given set of URLs and export all to CSV

1.0.0(3y ago)1645.5k↓40.5%16[1 issues](https://github.com/georgringer/redirect_generator/issues)GPL-2.0-or-laterPHP

Since Sep 15Pushed 2mo ago4 watchersCompare

[ Source](https://github.com/georgringer/redirect_generator)[ Packagist](https://packagist.org/packages/georgringer/redirect-generator)[ Docs](https://ringer.it)[ Fund](https://www.paypal.me/GeorgRinger/5)[ Patreon](https://www.patreon.com/georgringer)[ RSS](/packages/georgringer-redirect-generator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (6)Used By (0)

TYPO3 Extension `redirect_generator`
====================================

[](#typo3-extension-redirect_generator)

This extensions creates proper redirect entries from a CSV file.

Each target entry will be matched by the routing configuration. If the target is `http://demo.vm/company/contact`, the redirect will be created to the related page id!

[![Add Redirect](Resources/Public/Screenshots/redirect-add.png)](Resources/Public/Screenshots/redirect-add.png)

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

[](#installation)

### Requirements

[](#requirements)

- TYPO3
    - TYPO3 12 LTS: dev-master + 2.0.0
    - TYPO3 10/11 LTS: 1.0.0
- EXT:redirects

### Setup

[](#setup)

Install as any other extension:

- *Composer*: `composer require georgringer/redirect-generator`

Configuration
-------------

[](#configuration)

Set the following extension configuration options to enable email notifications:

- *notification\_email*: A comma separated list of e-mail addresses to send notification emails of the export and import commands
- *notification\_level*: Set the level of notification messages you want to receive:
    - 0 (error): Only receive error messages
    - 1 (warning): Receive error and warning messages
    - 2 (info): Receive all messages
- *allow\_empty\_import\_file*: If true an empty CSV file will silently skip the import, otherwise an error is thrown

Usage
-----

[](#usage)

### Add single redirect

[](#add-single-redirect)

Use the following CLI command:

```
./bin/typo3 redirect:add /any-url https://domain.tld/your-final-url
```

The following options are available:

- `--status-code`: Define the status code, allowed are *301*,*302*, *303* and *307*.
- `--dry-run`: If set, the redirect won't be added

### Import CSV

[](#import-csv)

Use the following CLI command:

```
./bin/typo3 redirect:import
```

```
source;target;status_code
/fo/bar;http://t3-master.vm/examples/extensions/news;301
/fo/bar2;http://t3-master.vm/examples/extensions/news;307
/fo/bar3;http://t3-master.vm/exakqwkqkwmples/extensions/news;301
```

A sample CSV file can be found at `EXT:redirect_generator/Resources/Private/Examples/ImportBasic.csv`

In addition an additional column `external` can be added to the CSV. It can be 0 (false) or 1 (true). If 1, the target is interpreted as an external URL and not mapped against a TYPO3 page.

The following options are available:

- `--dry-run`: If set, the redirect won't be added
- `--external-domains`: Provide a comma separated list of domains which are external
- `--delete-file`: If set the CSV file is deleted after (a successful or unsuccessful) import

> This command can be run in the scheduler (select *Execute console commands* as class)

### Export Redirects

[](#export-redirects)

Export all redirects as CSV. The optional option `--transform-target-url` transform the target url like `t3://page?uid=1106` into the final URL.

Use the following CLI command:

```
./bin/typo3 redirect:export export.csv --transform-target-url
```

> This command can be run in the scheduler (select *Execute console commands* as class)

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance54

Moderate activity, may be stable

Popularity39

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~390 days

Total

4

Last Release

1266d ago

Major Versions

0.3.0 → 1.0.02022-11-30

### Community

Maintainers

![](https://www.gravatar.com/avatar/1d08c176686c8914d32c70d4af388887d738930fdfdf07c7ca9c841ad10ed683?d=identicon)[georgringer](/maintainers/georgringer)

---

Top Contributors

[![georgringer](https://avatars.githubusercontent.com/u/1905663?v=4)](https://github.com/georgringer "georgringer (30 commits)")[![rk-mxp](https://avatars.githubusercontent.com/u/35734421?v=4)](https://github.com/rk-mxp "rk-mxp (25 commits)")[![ayacoo](https://avatars.githubusercontent.com/u/5963331?v=4)](https://github.com/ayacoo "ayacoo (4 commits)")[![jonasteich](https://avatars.githubusercontent.com/u/84093613?v=4)](https://github.com/jonasteich "jonasteich (3 commits)")[![arbonia-koehnlein](https://avatars.githubusercontent.com/u/235669314?v=4)](https://github.com/arbonia-koehnlein "arbonia-koehnlein (2 commits)")[![koehnlein](https://avatars.githubusercontent.com/u/16088567?v=4)](https://github.com/koehnlein "koehnlein (1 commits)")[![mikestreety](https://avatars.githubusercontent.com/u/354085?v=4)](https://github.com/mikestreety "mikestreety (1 commits)")[![BastiLu](https://avatars.githubusercontent.com/u/89908559?v=4)](https://github.com/BastiLu "BastiLu (1 commits)")

---

Tags

exportcsvimportextensionredirecttypo3

### Embed Badge

![Health badge](/badges/georgringer-redirect-generator/health.svg)

```
[![Health](https://phpackages.com/badges/georgringer-redirect-generator/health.svg)](https://phpackages.com/packages/georgringer-redirect-generator)
```

###  Alternatives

[league/csv

CSV data manipulation made easy in PHP

3.5k166.1M646](/packages/league-csv)[highsolutions/laravel-lang-import-export

A Laravel package providing artisan commands to import and export language files from and to CSV.

25292.3k](/packages/highsolutions-laravel-lang-import-export)[avro/csv-bundle

Symfony2 CSV Bundle

3039.8k1](/packages/avro-csv-bundle)

PHPackages © 2026

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