Redirect URL to Post

Description

Redirect your visitors to

  • a random post
  • your last (latest) post
  • your first (oldest) post
  • the previous or next post
  • or a combination of conditions, for example a random post among your last 10 posts, or the latest post from at least 3 months ago, or the latest post of a specific author.

Features | Examples | Documentation | Latest Development Blog Post

A magic URL takes you to the right post

This plugin provides a URL (link) that takes you directly to a post in single-post view. This post is determined by the query parameter ?redirect_to= and optional others.

While the URL remains the same, its target changes depending on the available posts at the time when somebody enters it. That means you can use the same static URL in a menu, with a button or in a newsletter and the plugin finds out the correct target.

Simply enter the URL of your WordPress site into your browser and add ?redirect_to=… to the end.

Possible values for redirect_to are:

  • last or latest – The URL will redirect to the last (latest) post.
  • first or oldest – The URL will redirect to the first (oldest) post.
  • random – The URL will redirect to a random post.
  • prev or previous – The URL will redirect to the previous post (by date).
  • next – The URL will redirect to the next post (by date).
  • custom – The post will be determined according to the mandatory parameter orderby and the optional parameter order.

You can also limit the scope of considered posts by additional filter parameters, such as &s=searchaword or &cat=2, or use an offset to go to the second latest or to the post before the previous. The parameter random combined with count and bias lets you pick the latest (or oldest) posts with a different probability than the rest.

Caching

The plugin offers caching of database results.

Settings and Parameters

There is no settings page in the backend. You configure the plugin entirely through the query parameters in the URL.

Please find more information about parameters and troubleshooting on the plugin website.

Examples for URLs

Note: Replace “http://www.example.com/” with your own website location. Spaces are written as “%20”.

http://www.example.com/?redirect_to=latest – redirects to the latest post

http://www.example.com/?redirect_to=random&pk_campaign=random – redirects to a random post and tracks the visit

http://www.example.com/?redirect_to=prev – redirects to the previous post

http://www.example.com/?redirect_to=random&each_once=rewind – redirects to a random post, avoiding duplicates, and then starts over again

http://www.example.com/?redirect_to=prev&offset=1 – redirects to the post before the previous post

http://www.example.com/?redirect_to=random&count=10 – redirects to a random post among the 10 latest posts

http://www.example.com/?redirect_to=random&count=10&bias=80 – redirects to a random post. The plugin picks one from the latest 10 with a probability of 80% and from the rest with a probability of 20%

http://www.example.com/?redirect_to=random&count=10&offset=1 – redirects to a random post among the 10 posts that come after the latest

http://www.example.com/?redirect_to=random&after=1%20month%20ago – redirects to a random post among the posts that are not older than 1 month

http://www.example.com/?redirect_to=latest&exclude=4,7 – redirects to the latest post, excluding the posts with the IDs 4 and 7

http://www.example.com/?redirect_to=latest&offset=1 – redirects to the second latest post

http://www.example.com/?redirect_to=custom&orderby=comment_count&order=DESC – redirects to the post with the most comments

http://www.example.com/?redirect_to=latest&s=iaido&default_redirect_to=12&cache=200 – redirects to the latest post that contains the word ‘iaido’ or, if nothing can be found, to the page or post with the ID 12; use a cache with a 200 second lifetime

Button

The plugin also provides a shortcode [redirect_to_post_button] to create a simple button. Some parameters are available.

A button that links to a random post is a great way to increase your visitors’ on-site engagement and therefore your SEO ranking!

(video by WPBeginner)

If you find this plugin useful, please give it a 5-star rating. Thank you!

Follow us on Facebook or Twitter.

Check out my other plugins

Installation

  1. Find the plugin in the list at the admin backend and click to install it. Or, upload the ZIP file through the admin backend. Or, upload the unzipped redirect-url-to-post folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.

After the first activation you will find a screen with some examples of URLs for your blog.

FAQ

1. What if more than one post match the criteria (e.g. two have the same comment_count)?

There can be only one winner. The post that would be first in the list (as determined by WP) beats all others.

2. Since WordPress version 4.8, the shortcodes in the widgets stopped working correctly

That is a problem caused by the new editor in WordPress widgets. You can avoid it by using a text-only widget, like Classic Text Widget

3. The random parameter redirects always to the same post

You probably use a caching plugin or service that also caches query strings. Try adding an exception for the string “redirect_to=”. If you use Cloudflare, you can try their Page Rules.

4. Which URL can serve as the base?

Obviously only URLs of the WordPress blog where this plugin is installed.

5. The post cannot be found but I’m sure that it’s there and that it’s public

The most common reason is that this post belongs to a special post type. Try the parameter “post_type”, for example “post_type=product”.

6. Can I help translate?

Thank you! Please continue here.

Reviews

Read all 9 reviews

Contributors & Developers

“Redirect URL to Post” is open source software. The following people have contributed to this plugin.

Contributors

“Redirect URL to Post” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Redirect URL to Post” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change log

0.15.1

OTHER

  • Cookie lifetime for each_once changed to 1 day, now independent of cache lifetime.

0.15.0

Features

  • New parameter each_once to pick each post only once when using redirect_to=random (avoiding duplicates). Use each_once=rewind to start over again after all posts are done. Use each_once= with a target post/page ID to finish there. Works only if visitors have cookies enabled.

0.14.1

OTHER

  • Fixed typo
  • Made debugging more compatible with other plugins that get up early

0.14.0

Features

  • New parameter rutpdebug to show what is going on and help you debug issues. (Use rutpdebug=2 to show also query parameters.)

0.13.1

BUG FIXES

  • Fixed: Tracking parameters got lost.

0.13.0

Features

  • Redirect to the previous or next post (of the same post type) with ?redirect_to=prev or ?redirect_to=next.

0.12.0

Features

  • New parameters comment_count, comment_count_min (>=) and comment_count_max (<=) to filter by comment count. The value is always an integer. comment_count also takes negative values, which means “not”. Requires WordPress 4.9+.

OTHER

  • Whitelisted more tracking parameters for Google and Matomo Analytics.

0.11.2

BUG FIXES

  • Fixed values of parameter “cat” getting lost.
  • Fixed incorrect inclusion of posts outside of “count” when using “bias”.

0.11.1

OTHER

  • Button parameter ‘params’ now formatted as: “key1=value1|key2=value2| …” (Old format will continue working.)

0.11.0

Features

  • New parameter ‘bias’, to be used together with ‘?redirect_to=random’ and ‘count’. The value of this parameter is a percentage that determines how much the posts determined by ‘count’ will be preferred over the rest. Example: www.example.com/?redirect_to=random&count=10&bias=80 -> The most recent 10 posts will be preferred with an 80% probability. Can be used together with ‘offset’.

OTHER

  • Support for PHP versions older than 5.6 will be dropped in near future.

Older Versions

The complete changelog is available here.