Introduction 

Redirects normally sit in the database until someone notices a 404 report. Extend Redirect catches broken ones automatically - on save, on page delete/hide and in bulk via the Scheduler.

Features 

  • Health check - every redirect target is verified, either by following it through a frontend sub-request (request mode) or purely against the pages/sys_redirect tables (database mode). Redirects whose target no longer resolves are disabled.
  • Automatic re-enabling ("healing") - a redirect the extension disabled itself is enabled again by the next check that finds its target working; redirects disabled by hand are never touched, see Lifecycle of a redirect.
  • Canonical targets - page targets are rewritten to t3://page?uid=...; chains of up to 10 redirects are flattened to the final page. This only tidies up working redirects.
  • Re-check on edit - changing a target re-enables and re-checks the redirect.
  • Page delete/hide protection - redirects pointing to a deleted or hidden page are disabled with a logged reason.
  • Broken-redirect filter in the Redirects module.
  • Last checked column and filter in the Redirects module.
  • Disable log - reason, source, target and timestamp of every automatic disabling.
  • CSV import and export - semicolon-separated, with validation of hosts and duplicate source paths; an export can be edited and imported again.
  • Email notification (optional) - a mail when a redirect is disabled, as one summary mail per run or one mail per redirect; off by default, see Email notification.
  • Webhook and PSR-14 event - post disabled redirects to a chat or your own endpoint, or react to RedirectDisabledEvent in your own code.
  • Commands - extendredirect:checkredirects and extendredirect:cleanuplog, both schedulable.