Are you referring links on the home page redirecting to the blog or posts page?
Some themes/SEO/caching setups trigger a “canonical redirect” on the homepage when a custom query parameter (like ?coupon=) is present.
That can incorrectly send visitors to the blog (Posts page) or strip the query.
Please try the below possible solutions:
1)) Check homepage settings:
- Go to “Settings > Reading” page in your WordPress admin.
- The “Your homepage displays” option should be “A static page”
- The “Homepage” option should be set to your actual homepage (not the Posts page).
2) Save permalinks:
- Go to WordPress Admin > Settings > Permalinks
- No changes needed, just click save changes. This just refreshes rules.
3) Temporarily disable SEO/caching plugins:
Disable SEO/caching plugins (e.g., Yoast, Rank Math, WP Rocket) and retest the link.
If it works with them off, try the following fix below.
Prevent the canonical redirect from interfering
If you prefer keeping the homepage as the landing page, with the help of a developer, safely add the snippet below to a small MU-plugin (recommended) or your child theme’s functions.php.
It tells WordPress not to rewrite referral links with the coupon parameter.
Ensure to do this in safely with an experienced developer, can easily restore the changes if something breaks, and have backups available.
- Create wp-content/mu-plugins/ca-referral-canonical-fix.php with:
<?php
/*
Plugin Name: CA Referral Canonical Fix
Description: Prevent canonical redirects from stripping referral params like ?coupon=
*/
add_filter('redirect_canonical', function ($redirect_url, $requested_url) {
// If you’ve customized the parameter name in Coupon Affiliates settings, replace 'coupon' below.
if (!is_admin() && isset($_GET['coupon'])) {
return false; // Disable canonical redirect for these requests
}
return $redirect_url;
}, 9999, 2);
Optional safeguard (only if your site redirects homepage requests to the Posts page)
If you still see it bounce to the blog page, add this extra snippet to the same file. It forces the request back to the true homepage while keeping the query:
add_action('template_redirect', function () {
if (!is_admin()
&& 'page' === get_option('show_on_front')
&& is_home()
&& isset($_GET['coupon'])
) {
wp_redirect(add_query_arg($_GET, home_url('/')));
exit;
}
});
Notes
- If you’ve customized the URL parameter (e.g., changed “coupon” to “ref”), update the snippets accordingly.
- After changes, please clear any caches (plugin cache, server cache, and CDN).
4) Once you’ve tried the steps above, let us know how the link behaves on your side.
If the issue persists, please contact us and share:
- A list of active SEO/caching/redirect plugins.
- Whether a CDN (Cloudflare, etc.) is enabled.
- Confirmation of your “Reading” settings (homepage and posts page selections).

