conditional redirect

Redirecting Visitors Based on Dynamic Conditions

One of the biggest advantages of If-So is that instead of duplicating pages you can use a single page and simply add or replace a specific piece of content. Nevertheless, in some cases, you might prefer using conditions in order to redirect visitors to a completely different page.

Redirecting visitors based on conditions can be done using a shortcode that you can paste on the page you want to redirect from.

Redirect Shortcodes

JS redirect:

[ifso-redirect url='https://example.com' type='js']

* Make sure to replace http://www.example.com with the URL of the page you want to redirect to.

  • When JavaScript redirect is performed, the referrer source will be transferred to the target page (in most browsers, all popular ones).
  • JS redirect can be used inside a trigger that loads with Ajax (page caching compatibility)

PHP redirects (301/302 redirects)

301 and 302 redirects do not work with Ajax loading. If you paste the redirection shortcode inside an If-So trigger, make sure to add the parameter ajax=”no” to its shortcode (or use JS redirect instead).

301 (permanent) redirect:

[ifso-redirect url='https://example.com' code='301']

* Make sure to replace http://www.example.com with the URL of the page you want to redirect to.

302 (temporary) redirect:

[ifso-redirect url='https://example.com' code='302']

* Make sure to replace http://www.example.com with the URL of the page you want to redirect to.

  • PHP redirects can’t be performed when loaded as dynamic content inside an If-So trigger loaded with Ajax. You can add ajax=”no” to the trigger shortcode to override the default loading settings if you choose to load triggers with Ajax.

How to create the smoothest redirect possible

  1. Make sure to load the trigger without Ajax. The best practice is to add the parameter ajax=”no” to the trigger’s shortcode so that even if you change the Ajax settings on your site in the future, the trigger with the redirection will not be affected.
  2. Use a 301 or 302 redirect (and not a JS redirect).
  3. Consider embedding the If-So trigger to the page using a PHP code directly in the page template.

Trigger the redirection only once per user

Conditional Redirect

To prevent a second redirection, incorporate the parameters name=’NAME_YOU_CHOOSE’ and do_once_per=’3600′ (where 3600 represents the number of seconds for which the second redirection is to be avoided).

[ifso-redirect url='https://example.com' code='301' name='example-once' do_once_per='86400']

With the above shortcode, a user will be redirected to the URL example.com once. If the user encounters the shortcode again, no redirection will occur for a period of 1 day (86,400 seconds).

The parameter “do_once_per” can also be set to the value ‘session’ if you prefer the redirection to happen only once during a browser session.

Step by step: How to redirect visitors to a different page based on dynamic conditions

  1. On your WordPress dashboard, under If-So, click “Add new trigger”
  2. Name your trigger (optional)
  3. In Version A, select the condition for the redirection
  4. Switch Version A content field to text mode, and paste the above JavaScript code. Make sure to replace http://www.example.com with the URL of the page to which you want to redirect.
  5. Set up the default content. If you want nothing to happen when the condition you have set for the redirect is not met, simply leave the default content blank
  6. Hit “Publish”
  7. Paste the trigger shortcode as high as you can on the page to which you want to redirect.
  • Was this Helpful ?
  • YesNo
Ready to get started?
Try it on your website