Skip to content

Fix 'This link is invalid or has expired' in Icegram Express

Resolve the 'This link is invalid or has expired' confirmation error caused by caching plugins, nonce timeouts, or email security scanners.

When subscribers click an email confirmation link or unsubscribe URL, they may occasionally see the error: “This link is invalid or has expired.”

This error occurs when the unique cryptographic security token (nonce) attached to the link cannot be verified by WordPress.

Common Causes

  • Single-Use Token Already Consumed: If the subscriber clicked the confirmation link once, subsequent clicks on the same link will fail because the token is invalidated upon initial success.
  • Aggressive Email Security Scanners: Security tools such as Microsoft Defender for Office 365, Barracuda, or corporate spam appliances automatically pre-click links to scan for malware, prematurely consuming the one-time token before the recipient clicks it.
  • Page Caching Conflicts: Aggressive WordPress caching plugins (such as WP Rocket, LiteSpeed Cache, or server-level Varnish) may cache stale query parameters or nonces.
  • Site URL Mismatch: Discrepancies between http:// and https:// in your WordPress Settings > General URL settings can invalidate security hashes during redirects.

How to Fix the Error

  1. Update Icegram Express: Ensure you are running Icegram Express version 5.9.36.1 or later, which includes enhanced token validation and resilient fallback checks for email scanners.
  2. Exclude Subscription Endpoints from Cache: In your caching plugin settings, add your subscription confirmation landing pages and Icegram Express REST/AJAX endpoints to the cache exclusion list.
  3. Resend the Confirmation Email:
    • Go to Icegram Express > Audience.
    • Filter by status Unconfirmed.
    • Check the affected contact, select Send Confirmation Email from the Bulk Actions dropdown, and click Apply.
  4. Verify WordPress Site URLs: Go to Settings > General in your WordPress admin. Confirm both WordPress Address (URL) and Site Address (URL) use matching HTTPS protocols and domain formats.