{"id":13606450,"url":"https://github.com/wintercms/wn-redirect-plugin","last_synced_at":"2025-05-13T16:31:39.710Z","repository":{"id":38443731,"uuid":"474880543","full_name":"wintercms/wn-redirect-plugin","owner":"wintercms","description":"Advanced redirect plugin for Winter CMS.","archived":false,"fork":false,"pushed_at":"2024-10-20T07:21:00.000Z","size":664,"stargazers_count":10,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-27T11:43:59.427Z","etag":null,"topics":["hacktoberfest","redirect","wintercms"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"vdlp/oc-redirect-plugin","license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wintercms.png","metadata":{"funding":{"github":"wintercms","open_collective":"wintercms"},"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-03-28T06:51:25.000Z","updated_at":"2024-10-20T07:21:03.000Z","dependencies_parsed_at":"2023-01-14T11:13:30.633Z","dependency_job_id":"5fc0fbc3-89ac-4251-93f5-a49961f19054","html_url":"https://github.com/wintercms/wn-redirect-plugin","commit_stats":{"total_commits":263,"total_committers":18,"mean_commits":14.61111111111111,"dds":0.2585551330798479,"last_synced_commit":"72df10aa6a24df0302a49bd10ec3d9efac1407f4"},"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wintercms%2Fwn-redirect-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wintercms%2Fwn-redirect-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wintercms%2Fwn-redirect-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wintercms%2Fwn-redirect-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wintercms","download_url":"https://codeload.github.com/wintercms/wn-redirect-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252060170,"owners_count":21688168,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","redirect","wintercms"],"created_at":"2024-08-01T19:01:09.273Z","updated_at":"2025-05-13T16:31:39.687Z","avatar_url":"https://github.com/wintercms.png","language":"PHP","funding_links":["https://github.com/sponsors/wintercms","https://opencollective.com/wintercms"],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# Redirect Plugin\n\n![Banner](https://github.com/wintercms/wn-redirect-plugin/raw/main/.github/banner.png?raw=true)\n\n[![Version](https://img.shields.io/github/v/release/wintercms/wn-redirect-plugin?sort=semver\u0026style=flat-square)](https://github.com/wintercms/wn-redirect-plugin/releases)\n![Packagist PHP Version Support](https://img.shields.io/packagist/php-v/winter/wn-redirect-plugin?style=flat-square)\n[![License](https://img.shields.io/github/license/wintercms/wn-redirect-plugin?label=open%20source\u0026style=flat-square)](https://packagist.org/packages/winter/wn-redirect-plugin)\n[![Discord](https://img.shields.io/discord/816852513684193281?label=discord\u0026style=flat-square)](https://discord.gg/D5MFSPH6Ux)\n\nManage all your HTTP redirects with an easy to use GUI. This is an essential SEO plugin. With this plugin installed you can manage redirects directly from Winter's beautiful interface. Many webmasters and SEO specialists use redirects to optimise their website for search engines.\n\n## Installation\n\nThis plugin is available for installation via [Composer](http://getcomposer.org/).\n\n```bash\ncomposer require winter/wn-redirect-plugin\n```\n\nAfter installing the plugin you will need to run the migrations and (if you are using a [public folder](https://wintercms.com/docs/develop/docs/setup/configuration#using-a-public-folder)) [republish your public directory](https://wintercms.com/docs/develop/docs/console/setup-maintenance#mirror-public-files).\n\n```bash\nphp artisan migrate\n```\n\n## Features\n\n* **Quick** matching algorithm\n* A **test** utility for redirects\n* Matching using **placeholders** (dynamic paths)\n* Matching using **regular expressions**\n* **Exact** path matching\n* **Importing** and **exporting** redirect rules\n* **Schedule** redirects (e.g. active for 2 months)\n* Redirect to **external** URLs\n* Redirect to **internal** CMS pages\n* Redirect to relative or absolute URLs\n* Redirect **log**\n* **Categorize** redirects\n* **Statistics**\n    * Hits per redirect\n    * Popular redirects per month (top 10)\n    * Popular crawlers per month (top 10)\n    * Number of redirects per month\n    * And more...\n* Multilingual ***(Need help translating!)***\n* Supports MySQL, SQLite and Postgres\n* HTTP status codes 301, 302, 303, 404, 410\n* Caching\n\n## History\n\n- 2016: Originally built by Alwin Drenth, a Software Engineer at Van der Let \u0026 Partners.\n- 2018: The plugin is re-distributed under the vendor name VDLP.Redirect (formerly known as Adrenth.Redirect).\n- 2022: The plugin is forked by the Winter CMS maintainers and made available for Winter CMS as Winter.Redirect\n\nThe Winter.Redirect plugin is currently maintained by the Winter CMS maintainers and you (the open-source community).\n\n## What does this plugin offer?\n\nThis plugin adds a 'Redirects' section to the main menu of Winter CMS. This plugin has a unique and fast matching algorithm to match your redirects before your website is being rendered.\n\n## Requirements\n\n* Winter CMS 1.1 or higher.\n* PHP version 7.4 or higher.\n* PHP extensions: `ext-curl` and `ext-json`.\n\n## Supported database platforms\n\n* MySQL\n* Postgres\n* SQLite\n\n## Supported HTTP status codes\n\n* `HTTP/1.1 301 Moved Permanently`\n* `HTTP/1.1 302 Found`\n* `HTTP/1.1 303 See Other`\n* `HTTP/1.1 404 Not Found`\n* `HTTP/1.1 410 Gone`\n\n## Supported HTTP request methods\n\n* `GET`\n* `POST`\n* `HEAD`\n\n## Performance\n\nAll redirects are stored in the database and will be automatically \"published\" to a file which the internal redirect mechanism uses to determine if a certain request needs to be redirected. This is way faster than querying a database.\n\nThis plugin is designed to be fast and should have no negative effect on the performance of your website.\n\nTo gain maximum performance with this plugin:\n\n* Enable redirect caching using a \"in-memory\" caching method (see Caching).\n* Maintain your redirects frequently to keep the number of redirects as low as possible.\n* Try to use placeholders to keep your number of redirect low (less redirects is better performance).\n\n## Caching\n\nIf your website has a lot of redirects it is recommended to enable redirect caching. You can enable redirect caching in the settings panel of this plugin.\n\nOnly cache drivers which support tagged cache are supported. So driver `file` and `database` are not supported. For this plugin database and file caching do not increase performance, but can actually have a negative influence on performance. So it is recommended to use an in-memory caching solution like `memcached` or `redis`.\n\n### How caching works\n\nIf caching is enabled (and supported) every request which is handled by this plugin will be cached. It will be stored with tag `Winter.Redirect`.\n\nWhen you modify a redirect all redirect cache will be invalidated automatically. It is also possible to manually clear the cache using the 'Clear cache' button in the Backend.\n\n## Placeholders\n\nThis plugin makes advantage of the `symfony/routing` package. So if you need more info on how to make placeholder requirements for your redirection URLs, please go to: https://symfony.com/doc/current/components/routing/introduction.html#usage\n\n## Contribution\n\nPlease feel free to [contribute](https://github.com/wintercms/wn-redirect-plugin) to this awesome plugin.\n\n## Questions? Need help?\n\nIf you have any question about how to use this plugin, please don't hesitate to contact us via the Winter CMS [Discord](https://discord.gg/D5MFSPH6Ux). We're happy to help you.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwintercms%2Fwn-redirect-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwintercms%2Fwn-redirect-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwintercms%2Fwn-redirect-plugin/lists"}