A Conditional Redirect page attribute checks a condition and redirects to another page or an external URL if the condition is or is not met.
Some use cases
- A/B testing - redirect to content A or content B based on location, ip address, date, time, random number.
- Browser specific content - redirect based on user agent.
- Time related content - see Example AM page and Example PM page.
- Regional content - redirect based on continent, country, state.
- User selected content - condition based on a user attribute.
- Weak permissive content (see example below, not a substitute for permissions).
- Redirect visitors to pages based on UTM tags (requires Form Reform UTM)
- Redirect login or registration pages to custom login or registration forms.
The Conditional Redirect attribute is a general purpose solution that can be configured for all of the above and more. We are sure users will come up with many more creative applications.
Redirect headers can be configurable as 301 or 302.
Conditional Redirect incorporates a powerful condition engine that can be used to build simple or compound conditions involving query parameters, request data and more.
A further option is to Remember staying on the page for the duration of a user's session. This can be useful for A/B testing so a visitor sees a consistent A page or a consistent B page.
Where a page is shown depending on a user entering a query string parameter, such as in weak permissive content, Remember staying on the page can also be used to improve the user experience so they don't need to add the query string every time they want to re-visit the page.
The Super Admin is always exempt from redirects. Other users exempt from redirects are configurable as:
- Any registered user
- Any user who views the page with the dashboard bar (editors, administrators)
In the example below, a Conditional Redirect attribute is configured to redirect to the about page if the URL does not provide the query parameter lock containing bbb.
- https://mysite.com/path/to/page?lock=bbb will show the page.
- https://mysite.com/path/to/page will redirect to the about page.
- https://mysite.com/path/to/page?something=else&lock=wxybbbaaa will show the page.
- https://mysite.com/path/to/page?lock=abcde will redirect to the about page.
More complex compound conditions involving AND / OR logic can be configured.
A configuration such as this can provide a weak form of permission for site visitors. Only those who know the required URL can actually visit the page.
Requires php7.3+. Compatible with php8+.