How it works
How an old URL is checked
The extension follows the URL step by step, in the order the TYPO3 frontend answers a request, without sending one:
- The host of the old URL is mapped to the new site (see Staging and production hosts).
- The redirects of EXT:redirects are matched first, as the redirect middleware runs before the page is resolved. Disabled and expired redirects do not count.
- A redirect target is followed: a page is turned into its URL, a shortcut page into the URL of its target, a URL is checked again from step 2. A file must exist. External URLs are not checked.
- Without a redirect, the page router of the site resolves the path, including route enhancers and the language prefix.
- The page found has to be visible for an anonymous visitor: not hidden, not scheduled, not access restricted, not a folder, and translated if the URL is in another language.
The result is the first stop: a page (Page exists or Redirected) or a dead end (Missing or Broken redirect). More than five redirects in a row and loops count as broken.
Staging and production hosts
During a relaunch, the new site usually runs on a staging host, while the old
URLs carry the production host. The site configuration knows both: the
base
is the production host, a
base entry the staging
host.
The extension treats all of these hosts as the same site: the current base,
the configured base, every base variant and the host of the old URL. A redirect
stored for www. is therefore found while the check runs on
stage., as it will be after the go-live.
How suggestions are found
Suggestions are only made for missing URLs and broken redirects. Candidates are the pages of the site in the language of the old URL that a visitor can open: no folders, links to external URLs, mount points, hidden or access restricted pages.
Paths, slugs and titles are compared as words: lower case, umlauts written as
in TYPO3 slugs (ü becomes ue), file extensions such as
.html and .php and file names such as index.
removed. Words that are not the same still count when one starts with the
other (architekt and architekten) or when they differ by a
typo (mitarbeiter and mitarbeitende).
See 4. Decide for the scores.
Limitations
- Rewrite rules of the web server
- Redirects in
.htaccessor in the web server configuration are not seen, because no request is sent. A common example is a rule that removes.htmlfrom all URLs. Add these rules as redirects in TYPO3, or keep in mind that the extension reports such URLs as missing. - Detail pages of plugins
- A path with a route enhancer counts as found when the route matches. Route
enhancers with aspects (for example
Persisted) only match existing records. Without aspects, a record that no longer exists is only noticed by the plugin when the page is rendered, which the extension does not do.Alias Mapper - Language fallbacks
- A page in another language counts as found when it is translated. Sites that show the default language as a fallback for untranslated pages may answer more URLs than reported.
- Workspaces
- The check uses the live workspace.