Back to Community

Why Broken Link Checker Doesn't Find Links in Menus, Widgets, and Shortcodes

12 threads Sep 16, 2025 PluginBroken link checker

Content

Many WordPress site owners rely on the Broken Link Checker plugin to maintain their site's health. However, a common point of confusion arises when the plugin fails to detect links located in specific areas like navigation menus, widgets, footer sections, or within shortcodes. If you've found that these links aren't being scanned, you're not alone.

Why This Happens

The core functionality of the Broken Link Checker plugin is designed to scan and analyze content stored in the WordPress database, primarily within post and page content fields. The issue occurs because links in other parts of your site often exist in different formats:

  • Navigation Menus & Widgets: Links stored in menu structures or widget configurations are not part of the standard post content. Based on user reports and official responses from the Broken Link Checker team, the plugin currently does not support checking these areas. While there is a legacy "Local (old)" engine setting for menus, it has been reported as non-functional.
  • Shortcodes & Dynamic Content: Many themes and plugins use shortcodes (e.g., [ux_banner link="..."]) or other dynamic methods to generate links. The Broken Link Checker scans the raw content before these shortcodes are processed by WordPress's the_content filter. Therefore, it only sees the shortcode itself, not the final URL it outputs.
  • Hard-Coded Links: Links that are hard-coded into your theme's template files (e.g., header.php, footer.php) are completely outside the scope of what the plugin can analyze, as they are not stored in the database in a way the plugin can access.

Common Solutions and Workarounds

While a native fix from the plugin's development team may be a future possibility, here are the most practical steps you can take today.

1. Manual Checking

The most reliable method is to manually test these links. You can:

  • Visually inspect your menus and widgets, clicking on each link.
  • Use your browser's developer tools to inspect the page and check the href attributes of links.
  • Utilize online broken link checkers that crawl your live website. This method can sometimes find links that internal plugins miss because they analyze the fully rendered HTML page.

2. For Developers: Custom Code Hooks

For those comfortable with code, the plugin may offer filters or action hooks that allow a developer to extend its parsing capabilities. You would need to write custom PHP code that instructs the plugin to also parse content from other database locations, such as the wp_options table where widget data is often stored. This requires advanced WordPress development knowledge.

3. Understand the Limitations

It's important to set correct expectations. The Broken Link Checker team has acknowledged these limitations in support threads, classifying support for menus and widgets as a potential feature request rather than a current capability. Keeping the plugin updated is crucial, as any future implementation of these features would be announced in the changelog.

Conclusion

The inability of Broken Link Checker to scan links in menus, widgets, and shortcodes is a known limitation of its design, not a fault with your installation. By understanding why it happens and employing manual checks or exploring advanced custom development, you can ensure all links on your site are functional. For updates on this functionality, watch the official plugin changelog for any future announcements.