Last updated on September 18th, 2026 at 09:49 am
When WordPress links are not working, first determine whether the problem affects one link, one content type, or the entire site. The cause is usually an incorrect URL, stale permalink rules, a redirect conflict, JavaScript, caching, or server configuration.
Identify Which Links Fail
Test the link in a private window and copy its destination. Record whether it returns a 404, redirects incorrectly, does nothing, or opens the wrong page. Test internal links, menu links, buttons, and plain text links separately.
Correct the URL
Edit the link and confirm the full destination. Look for missing protocols, duplicated domains, smart quotes, spaces, tracking parameters, and links pointing to staging. Relative links can also break after a migration or directory change.
Refresh WordPress Permalinks
Go to Settings > Permalinks and click Save Changes without changing the structure. This refreshes rewrite rules. If pages return 404 errors afterward, follow my WordPress 404 error guide.
Check Redirect Rules
Review Rank Math, Redirection, hosting redirects, CDN rules, and the server configuration. Remove redirect chains and conflicting rules. Avoid managing the same redirect in several places because troubleshooting becomes unnecessarily difficult.
Check HTTP and HTTPS
A site migrated to HTTPS may still contain old HTTP links or incorrect canonical URLs. Update internal URLs and verify the WordPress Address and Site Address under Settings > General.
Rule Out Plugin and Theme Conflicts
Security plugins, membership tools, link trackers, page builders, and optimization plugins can intercept clicks or rewrite URLs. Test on staging with plugins disabled, then reactivate them one at a time. Temporarily switch to a default theme if needed.
Check JavaScript Errors
If a button does nothing, open the browser developer console and click it again. A JavaScript error, invisible overlay, or disabled pointer event may block the action. Temporarily disable script delay, combination, and minification to identify optimization conflicts.
Clear Every Cache Layer
Clear browser, WordPress, host, object, and CDN caches. Test while logged out. A cached menu or page template can continue serving an old URL after you correct it.
Inspect Menus, Templates and Shortcodes
The visible link may come from a navigation menu, widget, reusable section, shortcode, custom field, or theme template rather than the page editor. Update the real source and check mobile navigation separately.
Check Server Rewrite Rules
Apache sites depend on .htaccess, while Nginx uses server configuration. Compare the rules with the host’s recommended WordPress configuration. Back up the current file before changing anything and avoid copying random rewrite rules from unrelated servers.
Fast Troubleshooting Order
- Copy and verify the exact URL.
- Test in a private window.
- Refresh permalinks.
- Review redirects and HTTPS settings.
- Clear all caches.
- Test plugins, the theme, JavaScript, and server rules.
For more common fixes, visit my WordPress SEO troubleshooting hub.
