[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f67DlTSZWMbYEBh58R70fqeu_St4UsMhRkVwxhQVGZyU":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":40,"analysis":153,"fingerprints":1175},"links-synthesis","Links synthesis","1.3.3","KaizenCoders","https:\u002F\u002Fprofiles.wordpress.org\u002Fkaizencoders\u002F","\u003Cp>This plugin enables a synthesis of all links and the creation of thumbnail for links in an article and retrieves data from them.\u003C\u002Fp>\n\u003Cp>In this plugin, an index of all links in the page\u002Fpost is created at the end of the page\u002Fpost.\u003C\u002Fp>\n\u003Cp>In addition, each link is periodically check to see if the link is still valid.\u003C\u002Fp>\n\u003Cp>p>In addition, each link is periodically check to see if the link is still valid.\u003C\u002Fp>\n\u003Cp>You may display a thumbnail of the URL when the user move its mouse over the link.\u003C\u002Fp>\n\u003Cp>This plugin is under GPL licence.\u003C\u002Fp>\n\u003Ch4>Multisite – WordPress MU\u003C\u002Fh4>\n\u003Cp>Works with MU installation !\u003C\u002Fp>\n\u003Ch4>Localization\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English (United States), default language\u003C\u002Fli>\n\u003Cli>French (France) translation provided by \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features of the framework\u003C\u002Fh4>\n\u003Cp>This plugin uses the SL framework. This framework eases the creation of new plugins by providing tools and frames (see dev-toolbox plugin for more info).\u003C\u002Fp>\n\u003Cp>You may easily translate the text of the plugin and submit it to the developer, send a feedback, or choose the location of the plugin in the admin panel.\u003C\u002Fp>\n\u003Cp>Have fun !\u003C\u002Fp>\n","This plugin enables a synthesis of all links and the creation of thumbnail for links in an article and retrieves data from them.",10,2811,100,1,"2016-04-18T07:15:00.000Z","4.5.33","3.0","",[20,21,22,23,24],"analysis","check","dead","links","validity","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Flinks-synthesis\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flinks-synthesis.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":36,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"kaizencoders",14,30550,87,153,70,"2026-04-04T10:24:47.198Z",[41,65,90,111,132],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":51,"num_ratings":52,"last_updated":53,"tested_up_to":54,"requires_at_least":55,"requires_php":56,"tags":57,"homepage":18,"download_link":63,"security_score":64,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"check-for-broken-links","Check for Broken Links","1.0.0","Ilias Chelidonis","https:\u002F\u002Fprofiles.wordpress.org\u002Fthewebcitizencom\u002F","\u003Cp>Check for Broken Links is a lightweight yet powerful WordPress plugin designed to keep your site error-free and optimized. Broken links not only frustrate visitors but also harm your SEO rankings. This plugin scans your entire website—including posts, pages, media, and even custom post types—for dead links and makes it easy to fix them in just a few clicks.\u003C\u002Fp>\n\u003Ch3>Benefits of Using Check for Broken Links\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Enhance User Experience\u003C\u002Fstrong>\u003Cbr \u002F>\nAutomatically detect and fix broken links to ensure visitors never encounter frustrating dead ends on your site.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Boost SEO Performance\u003C\u002Fstrong>\u003Cbr \u002F>\nEliminate broken links that can hurt your search rankings and keep your site optimized for search engines.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Save Time with Automated Scans\u003C\u002Fstrong>\u003Cbr \u002F>\nSchedule regular, automatic link checks to free yourself from manual monitoring, letting you focus on content.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Simple, User-Friendly Interface\u003C\u002Fstrong>\u003Cbr \u002F>\nManage and repair broken links effortlessly from your WordPress dashboard with clear, actionable reports.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Scans posts, pages, comments, and media files (like images, PDFs, and videos) for broken links, ensuring your entire site stays error-free.\u003C\u002Fli>\n\u003Cli>Provides easy-to-read reports with exact link and media file locations, so you can quickly identify and fix issues.\u003C\u002Fli>\n\u003Cli>Export reports in CSV format for offline review, making it simple to track and manage broken links.\u003C\u002Fli>\n\u003Cli>Exclude specific URLs, domains, or media files from scans to avoid unnecessary alerts on trusted content.\u003C\u002Fli>\n\u003Cli>Customize scan frequency—set it to run daily, weekly, or manually whenever it fits your workflow.\u003C\u002Fli>\n\u003Cli>Get real-time alerts when broken links or media files are detected, allowing you to fix issues before they affect your visitors.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Installation Instructions\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Upload the \u003Ccode>wpcbl-check-for-broken-links\u003C\u002Fcode> folder to the \u003Ccode>\u002Fwp-content\u002Fplugins\u002F\u003C\u002Fcode> directory\u003C\u002Fli>\n\u003Cli>Activate the plugin through the ‘Plugins’ menu in WordPress\u003C\u002Fli>\n\u003Cli>Go to the Check for Broken Links page in the admin menu to start scanning your website for broken links\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to the Check for Broken Links page in the admin menu\u003C\u002Fli>\n\u003Cli>Click on the ‘Scan’ tab\u003C\u002Fli>\n\u003Cli>Click on the ‘Export Report in CSV’ button to export the report in CSV format\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPL v2 or later.\u003Cbr \u002F>\nFor more details, see: \u003Ca href=\"https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-3.0.html\" rel=\"nofollow ugc\">GPLv3\u003C\u002Fa>\u003C\u002Fp>\n","Check for Broken Links is a WordPress plugin that helps you find and fix broken links on your website.",400,2328,90,4,"2025-02-09T15:02:00.000Z","6.7.5","5.4","7.3",[58,59,60,61,62],"broken-links","dead-links","fix-links","link-checker","seo","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcheck-for-broken-links.1.0.0.zip",92,{"slug":66,"name":67,"version":68,"author":69,"author_profile":70,"description":71,"short_description":72,"active_installs":73,"downloaded":74,"rating":75,"num_ratings":76,"last_updated":77,"tested_up_to":78,"requires_at_least":79,"requires_php":80,"tags":81,"homepage":85,"download_link":86,"security_score":87,"vuln_count":88,"unpatched_count":28,"last_vuln_date":89,"fetched_at":30},"broken-link-checker-seo","Broken Link Checker by AIOSEO – Easily Fix\u002FMonitor Internal and External links","1.2.10","AIOSEO Plugin Team","https:\u002F\u002Fprofiles.wordpress.org\u002Faioseo\u002F","\u003Cp>Broken Link Checker by AIOSEO ensures all links on your website are working. Check your site for broken links and easily fix them to improve SEO.\u003C\u002Fp>\n\u003Ch3>Broken Link Checker by AIOSEO – Easily Fix\u002FMonitor Internal and External links\u003C\u002Fh3>\n\u003Cp>The Broken Link Checker by AIOSEO for WordPress is a must-have tool for website owners and managers. Its granular control and detailed reporting features ensure that your website’s links are healthy and functioning correctly, providing your visitors with a seamless browsing experience. With this plugin, you can detect and fix broken links quickly and easily, ensuring that your website is always up-to-date and running smoothly.\u003C\u002Fp>\n\u003Cp>Unlike other broken link checker plugins, \u003Cstrong>AIOSEO’s Broken Link Checker is offered as a SaaS and requires an AIOSEO account\u003C\u002Fstrong>. This means that the tool is hosted on the AIOSEO servers, rather than being installed on your website’s server. \u003Cstrong>This approach has several benefits, including preventing your server IP from being blocked, and avoiding hosting providers from forcing you to upgrade\u003C\u002Fstrong> due to increased resource usage.\u003C\u002Fp>\n\u003Cp>By using Broken Link Checker as a SaaS, you can rest assured that your website’s performance won’t be negatively affected, and that you’ll have access to the most up-to-date version of the service at all times. Additionally, it’s incredibly user-friendly and provides actionable recommendations for fixing broken links, making it an essential tool for maintaining the health and functionality of your website.\u003C\u002Fp>\n\u003Cp>When you install this plugin, you’ll have the opportunity to register for a free account that includes scanning up to 250 internal links. Those 250 link credits will renew every month for free, and you’ll only be upgraded if you scan more than 250 links during the month. Or, if you already have an \u003Ca href=\"https:\u002F\u002Faioseo.com\u002Fpricing-broken-link-checker\u002F\" rel=\"nofollow ugc\">AIOSEO Broken Link Checker subscription\u003C\u002Fa>, you can simply connect this plugin to it.\u003C\u002Fp>\n\u003Ch3>Link Monitoring\u003C\u002Fh3>\n\u003Cp>The Broken Link Checker plugin monitors all internal and external links on your WordPress website, ensuring that they are functioning correctly. It crawls your website periodically and checks each link to ensure that it is not broken. The plugin will also show whether or not a link worked properly (200 status) or worked with redirects (301\u002F302 status) or was broken (404 status).\u003C\u002Fp>\n\u003Ch3>Granular Control\u003C\u002Fh3>\n\u003Cp>The plugin provides granular control over which post types and statuses it will monitor. You can choose which post types, such as pages, posts, or custom post types, the plugin will monitor. You can also choose which post statuses, such as published, draft, or pending review, the plugin will monitor to look for broken links.\u003C\u002Fp>\n\u003Ch3>URL Exclusions\u003C\u002Fh3>\n\u003Cp>You can exclude certain URLs from being checked by the plugin. For example, if you have a third-party tracking link that redirects to another website, you can exclude it from being checked.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Monitors all internal and external links on your WordPress website.\u003C\u002Fli>\n\u003Cli>Detects valid links, broken links and redirects.\u003C\u002Fli>\n\u003Cli>Provides granular control over which post types and statuses the plugin will monitor.\u003C\u002Fli>\n\u003Cli>Allows you to exclude certain URLs from being checked.\u003C\u002Fli>\n\u003Cli>Schedules checks to run automatically at regular intervals.\u003C\u002Fli>\n\u003Cli>Excludes links that are broken from search engine crawling.\u003C\u002Fli>\n\u003Cli>Allows inline editing of links to reduce time spent updating each post.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>This plugin is created by \u003Ca href=\"https:\u002F\u002Fbenjaminrojas.net\u002F\" title=\"Benjamin Rojas\" rel=\"friend nofollow ugc\">Benjamin Rojas\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fsyedbalkhi.com\u002F\" title=\"Syed Balkhi\" rel=\"friend nofollow ugc\">Syed Balkhi\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Branding Guideline\u003C\u002Fh3>\n\u003Cp>AIOSEO&reg; is a registered trademark of Semper Plugins LLC. When writing about the WordPress SEO plugin by AIOSEO, please use the following format.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>AIOSEO (correct)\u003C\u002Fli>\n\u003Cli>All in One SEO (correct)\u003C\u002Fli>\n\u003Cli>AIO SEO (incorrect)\u003C\u002Fli>\n\u003Cli>All in 1 SEO (incorrect)\u003C\u002Fli>\n\u003Cli>AISEO (incorrect)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>What’s Next\u003C\u002Fh3>\n\u003Cp>If you like our Broken Link Checker plugin, then consider checking out our other projects:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Faioseo.com\u002F\" title=\"AIOSEO\" rel=\"friend nofollow ugc\">AIOSEO\u003C\u002Fa> – The Best WordPress SEO plugin & toolkit to improve your SEO rankings in search results.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Foptinmonster.com\u002F\" title=\"OptinMonster\" rel=\"friend nofollow ugc\">OptinMonster\u003C\u002Fa> – Get more email subscribers with the most popular conversion optimization plugin for WordPress.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpforms.com\u002F\" title=\"WPForms\" rel=\"friend nofollow ugc\">WPForms\u003C\u002Fa> – #1 drag & drop online form builder for WordPress (trusted by 5 million sites).\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.monsterinsights.com\u002F\" title=\"MonsterInsights\" rel=\"friend nofollow ugc\">MonsterInsights\u003C\u002Fa> – See the stats that matter and grow your business with confidence. Best Google Analytics plugin for WordPress.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.seedprod.com\u002F\" title=\"SeedProd\" rel=\"friend nofollow ugc\">SeedProd\u003C\u002Fa> – Create beautiful landing pages with our powerful drag & drop landing page builder.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpmailsmtp.com\" rel=\"nofollow ugc\">WP Mail SMTP\u003C\u002Fa> – Improve email deliverability for your contact form with the most popular SMTP plugin for WordPress.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frafflepress.com\u002F\" rel=\"nofollow ugc\">RafflePress\u003C\u002Fa> – Best WordPress giveaway and contest plugin to grow traffic and social followers.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.smashballoon.com\" rel=\"nofollow ugc\">Smash Balloon\u003C\u002Fa> – #1 social feeds plugin for WordPress – display social media content in WordPress without code.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpcode.com\u002F\" rel=\"nofollow ugc\">WPCode\u003C\u002Fa> – Must have WordPress code snippet management plugin to help you future-proof website customization (trusted by 1.5 million sites).\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fduplicator.com\u002F\" rel=\"nofollow ugc\">Duplicator\u003C\u002Fa> – Popular WordPress backup and migration plugin used by over 1 million websites.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.pushengage.com\u002F\" rel=\"nofollow ugc\">Push Engage\u003C\u002Fa> – Connect with visitors after they leave your website with the leading web push notification plugin.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftrustpulse.com\u002F\" rel=\"nofollow ugc\">TrustPulse\u003C\u002Fa> – Add real-time social proof notifications to boost your store conversions by up to 15%.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsearchwp.com\u002F\" rel=\"nofollow ugc\">SearchWP\u003C\u002Fa> – The most advanced custom WordPress search plugin to improve WordPress search quality.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Faffiliatewp.com\u002F\" rel=\"nofollow ugc\">AffiliateWP\u003C\u002Fa> – #1 affiliate management plugin for WordPress. Add a referral program to your online store.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpsimplepay.com\u002F\" rel=\"nofollow ugc\">WP Simple Pay\u003C\u002Fa> – #1 Stripe payments plugin for WordPress. Start accepting one-time or recurring payments without a shopping cart.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasydigitaldownloads.com\u002F\" rel=\"nofollow ugc\">Easy Digital Downloads\u003C\u002Fa> – The best WordPress eCommerce plugin to sell digital products (eBooks, software, music, and more).\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wpcharitable.com\u002F\" rel=\"nofollow ugc\">WPCharitable\u003C\u002Fa> – Top-rated WordPress donation and fundraising plugin for WordPress.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsugarcalendar.com\u002F\" rel=\"nofollow ugc\">Sugar Calendar\u003C\u002Fa> – A simple event calendar plugin for WordPress that’s both easy and powerful.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Visit \u003Ca href=\"http:\u002F\u002Fwww.wpbeginner.com\u002F\" title=\"WPBeginner\" rel=\"friend nofollow ugc\">WPBeginner\u003C\u002Fa> to learn from our \u003Ca href=\"http:\u002F\u002Fwww.wpbeginner.com\u002Fcategory\u002Fwp-tutorials\u002F\" title=\"WordPress Tutorials\" rel=\"friend nofollow ugc\">WordPress Tutorials\u003C\u002Fa> and find out about the \u003Ca href=\"http:\u002F\u002Fwww.wpbeginner.com\u002Fcategory\u002Fplugins\u002F\" title=\"Best WordPress Plugins\" rel=\"friend nofollow ugc\">best WordPress plugins\u003C\u002Fa>.\u003C\u002Fp>\n","Broken Link Checker by AIOSEO ensures all links on your website are working. Check your site for broken links and easily fix them to improve SEO.",300000,2069350,78,74,"2026-03-07T18:51:00.000Z","6.9.4","5.7","5.6",[58,82,83,84,62],"check-links","external-link","internal-link","https:\u002F\u002Faioseo.com\u002Fbroken-link-checker","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbroken-link-checker-seo.1.2.10.zip",96,3,"2025-12-09 00:00:00",{"slug":91,"name":92,"version":93,"author":94,"author_profile":95,"description":96,"short_description":97,"active_installs":98,"downloaded":99,"rating":51,"num_ratings":100,"last_updated":101,"tested_up_to":102,"requires_at_least":103,"requires_php":18,"tags":104,"homepage":109,"download_link":110,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"title-and-nofollow-for-links","Title and Nofollow For Links (Classic Editor)","1.12","WPKube","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpkube\u002F","\u003Cp>The plugin restores the \u003Ccode>Title\u003C\u002Fcode> field (that was removed from WordPress 4.2) in the insert link popup box and adds a new \u003Ccode>Add rel=\"nofollow\" to link\u003C\u002Fcode> checkbox to it.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Gutengerg (Block Editor) Note\u003C\u002Fstrong>: At the moment it’s not possible to add the functionality to Gutenberg, it’s a different system from the classic editor and it does not have a hook\u002Ffilter which allows adding custom settings. As soon as it becomes possible to add the functionality to Gutenberg we will update the plugin.\u003C\u002Fp>\n\u003Cp>This plugin has been adopted and maintained by \u003Ca href=\"https:\u002F\u002Fwww.wpkube.com\u002F\" rel=\"nofollow ugc\">WPKube\u003C\u002Fa>, a popular WordPress resource site, where you can find guides on \u003Ca href=\"https:\u002F\u002Fwww.wpkube.com\u002Fcategory\u002Fwordpress-plugins\u002F\" rel=\"nofollow ugc\">WordPress plugins\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.wpkube.com\u002Fbest-wordpress-hosting\u002F\" rel=\"nofollow ugc\">WordPress Hosting\u003C\u002Fa>, and more.\u003C\u002Fp>\n","The plugin adds a title and a rel=\"nofollow\" checkbox to the insert link popup box. Only for Classic Editor, NOT Block Editor.",30000,213580,23,"2023-02-03T21:29:00.000Z","6.1.10","4.2",[105,106,107,23,108],"checkbox","insert","link","meta","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftitle-and-nofollow-for-links\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftitle-and-nofollow-for-links.zip",{"slug":61,"name":112,"version":113,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":118,"downloaded":119,"rating":120,"num_ratings":121,"last_updated":122,"tested_up_to":123,"requires_at_least":124,"requires_php":18,"tags":125,"homepage":128,"download_link":129,"security_score":130,"vuln_count":14,"unpatched_count":28,"last_vuln_date":131,"fetched_at":30},"Link Checker Professional","1.18.7","Marco Beierer","https:\u002F\u002Fprofiles.wordpress.org\u002Fmbsec\u002F","\u003Cp>The \u003Ca href=\"https:\u002F\u002Fwww.marcobeierer.com\u002Fwordpress-plugins\u002Flink-checker\" rel=\"nofollow ugc\">Link Checker\u003C\u002Fa> for WordPress uses an external service to crawl your website and find broken links and images on your website.\u003C\u002Fp>\n\u003Cp>In contrast to search engine tools like the Google Search Console, which only show if a URL on your website is not reachable, it does not matter for the Link Checker if the links leads to an internal or external URL. The Link Checker will find all dead links.\u003C\u002Fp>\n\u003Cp>The Link Checker works for every plugin out of the box. The computation costs for your website is also very low because the crawler does the heavy work and just acts like a normal visitor, who visits all pages of you website once.\u003C\u002Fp>\n\u003Ch4>Out of service\u003C\u002Fh4>\n\u003Cp>It’s no longer possible to purchase tokens for the Link Checker as of mid-January 2023.\u003C\u002Fp>\n\u003Cp>The service is still available for all users that have already purchased a token and will be shutdown when the last issued token expires mid-January 2024.\u003C\u002Fp>\n\u003Ch4>Paid plugin\u003C\u002Fh4>\n\u003Cp>Please note that the Link Checker requires a paid token to operate. The free version is no longer offered.\u003C\u002Fp>\n\u003Ch4>Videos\u003C\u002Fh4>\n\u003Cp>You can find videos about the Link Checker on the \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=8rUFDp09tjs&list=PL5VYcNma6nfxIrlbpz0f1avXT_JIrUZA1\" rel=\"nofollow ugc\">Link Checker for WordPress playlist on YouTube\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F8rUFDp09tjs?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent&listType=playlist&list=PL5VYcNma6nfxIrlbpz0f1avXT_JIrUZA1\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Simple setup\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Works out of the box\u003C\u002Fstrong> with all WordPress plugins.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Low computation costs\u003C\u002Fstrong> for your webserver.\u003C\u002Fli>\n\u003Cli>Lists all broken links and redirects on your website.\u003C\u002Fli>\n\u003Cli>Support for Polylang (probably also WPML) sites.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Technical Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Respects your robots.txt file (also the crawl-delay directive).\n\u003Cul>\n\u003Cli>You can use the user-agents MB-LinkChecker to control the crawler.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Additional Features of the Professional Version\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Check if embedded internal and external \u003Cstrong>images\u003C\u002Fstrong> are broken.\u003C\u002Fli>\n\u003Cli>Check if embedded \u003Cstrong>YouTube videos\u003C\u002Fstrong> are broken.\u003C\u002Fli>\n\u003Cli>Scheduler to \u003Cstrong>automatically check a website\u003C\u002Fstrong> once a day and get a summary report by email.\u003C\u002Fli>\n\u003Cli>The result can be exported as CSV file.\u003C\u002Fli>\n\u003Cli>Form login support to check protected pages like membership areas.\u003C\u002Fli>\n\u003Cli>The result is saved on the Link Checker server so that it can be fetched multiple times without requiring a recheck. For example from different users or with different browsers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Upcoming Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Support for checking the availability of videos, CSS files and JS files.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Technical Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Works with \u003Cstrong>PHP 5.6 and 7\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Is the service free of charge?\u003C\u002Fh4>\n\u003Cp>The Link Checker Professional is a paid plugin. A free version was offered for many years, but since August 2022 only a paid version is available.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.marcobeierer.com\u002Fwordpress-plugins\u002Flink-checker-professional\" rel=\"nofollow ugc\">Link Checker Professional\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Use of an External Server\u003C\u002Fh4>\n\u003Cp>The Link Checker uses an external server, operated by the developer of the plugin, to crawl your website and detect broken links. This means, that there is some communication between your website and the server. The only data that is communicated to the external server by your website is the URL of your website and the fact that you are using WordPress. The server than crawlers your website (as a normal visitor does) and answers with a list of the found broken links.\u003C\u002Fp>\n","An easy to use link checker for WordPress to detect broken links and images on your website.",4000,207049,64,30,"2023-01-14T03:03:00.000Z","6.0.11","4.5",[126,61,23,127,62],"broken-link-checker","maintenance","https:\u002F\u002Fwww.marcobeierer.com\u002Fwordpress-plugins\u002Flink-checker","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flink-checker.1.18.7.zip",84,"2019-03-22 00:00:00",{"slug":133,"name":134,"version":135,"author":136,"author_profile":137,"description":138,"short_description":139,"active_installs":140,"downloaded":141,"rating":87,"num_ratings":34,"last_updated":142,"tested_up_to":78,"requires_at_least":143,"requires_php":144,"tags":145,"homepage":149,"download_link":150,"security_score":151,"vuln_count":88,"unpatched_count":28,"last_vuln_date":152,"fetched_at":30},"broken-link-notifier","Broken Link Notifier","1.3.7.2","PluginRx","https:\u002F\u002Fprofiles.wordpress.org\u002Fapos37\u002F","\u003Cp>The “Broken Link Notifier” WordPress plugin is a vigilant guardian for your website’s links, monitoring and alerting you to broken or dead links as users visit your site. This ensures a seamless user experience and helps prevent search engine ranking penalties. Unlike other broken link checker plugins that can cause performance and timeout issues with full site scans, this plugin focuses on notification, making it a great complement to offsite services that handle full site scans.\u003C\u002Fp>\n\u003Cp>This plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Scans content when users visit a page after the page fully loads, preventing performance lag\u003C\u002Fli>\n\u003Cli>Identifies broken links, including 404 errors, timeouts, images, and embedded YouTube videos\u003C\u002Fli>\n\u003Cli>Notifies you via dashboard notifications, email, Discord, and\u002For Microsoft Teams\u003C\u002Fli>\n\u003Cli>Provides a list of broken links for easy review and correction\u003C\u002Fli>\n\u003Cli>Allows easy replacement of links straight from the results page (\u003Cstrong>NEW with Version 1.2.0\u003C\u002Fstrong>)\u003C\u002Fli>\n\u003Cli>Caches working (good) links to skip rechecking them for a configurable amount of time (\u003Cstrong>NEW with Version 1.2.5\u003C\u002Fstrong>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>With “Broken Link Notifier”, you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Ensure accurate and functional links for your users\u003C\u002Fli>\n\u003Cli>Prevent search engines from indexing broken links\u003C\u002Fli>\n\u003Cli>Maintain a professional and trustworthy website image\u003C\u002Fli>\n\u003Cli>Save time and effort in manual link checking\u003C\u002Fli>\n\u003Cli>Scan multiple pages at a time on the back-end from your WP List Tables\u003C\u002Fli>\n\u003Cli>Improve performance by caching successful link checks (optional)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is a must-have for website owners, developers, and SEO enthusiasts who want to guarantee a smooth and error-free browsing experience for their audience!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>IF THIS PLUGIN FLAGS SOME LINKS AS BROKEN WHEN THEY ARE NOT, PLEASE READ THE FAQ BELOW\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Demo\u003C\u002Fh3>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FgM9Qy0HLplU?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n","Get notifications when a visitor loads a page with broken links",1000,27807,"2026-03-12T17:59:00.000Z","5.9","7.4",[146,147,107,23,148],"broken","checker","notify","https:\u002F\u002Fpluginrx.com\u002Fplugin\u002Fbroken-link-notifier\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbroken-link-notifier.1.3.7.2.zip",95,"2026-01-29 00:00:00",{"attackSurface":154,"codeSignals":305,"taintFlows":922,"riskAssessment":1153,"analyzedAt":1174},{"hooks":155,"ajaxHandlers":258,"restRoutes":301,"shortcodes":302,"cronEvents":303,"entryPointCount":304,"unprotectedCount":304},[156,162,166,169,174,177,180,183,188,191,193,196,200,202,206,208,211,214,216,218,222,226,230,234,238,243,247,252,254],{"type":157,"name":158,"callback":159,"file":160,"line":161},"action","init","_button_editor","core.class.php",50,{"type":157,"name":163,"callback":164,"priority":14,"file":160,"line":165},"parse_request","create_js_for_tinymce",51,{"type":157,"name":167,"callback":167,"file":160,"line":168},"admin_menu",53,{"type":170,"name":171,"callback":172,"priority":11,"file":160,"line":173},"filter","plugin_row_meta","plugin_actions",54,{"type":170,"name":175,"callback":175,"priority":11,"file":160,"line":176},"plugin_action_links",55,{"type":157,"name":158,"callback":178,"file":160,"line":179},"init_textdomain",56,{"type":157,"name":158,"callback":181,"file":160,"line":182},"update_plugin",58,{"type":157,"name":184,"callback":185,"priority":186,"file":160,"line":187},"wp_enqueue_scripts","javascript_front",5,61,{"type":157,"name":184,"callback":189,"priority":186,"file":160,"line":190},"css_front",62,{"type":157,"name":184,"callback":192,"file":160,"line":120},"_public_js_load",{"type":157,"name":184,"callback":194,"file":160,"line":195},"_public_css_load",67,{"type":157,"name":184,"callback":197,"priority":198,"file":160,"line":199},"flush_js",10000000,69,{"type":157,"name":184,"callback":201,"priority":198,"file":160,"line":38},"flush_css",{"type":157,"name":203,"callback":204,"priority":186,"file":160,"line":205},"admin_enqueue_scripts","javascript_admin",73,{"type":157,"name":203,"callback":207,"priority":186,"file":160,"line":76},"css_admin",{"type":157,"name":203,"callback":209,"file":160,"line":210},"_admin_js_load",76,{"type":157,"name":203,"callback":212,"file":160,"line":213},"_admin_css_load",79,{"type":157,"name":203,"callback":197,"priority":198,"file":160,"line":215},81,{"type":157,"name":203,"callback":201,"priority":198,"file":160,"line":217},82,{"type":170,"name":219,"callback":220,"priority":140,"file":160,"line":221},"the_content","the_content_SL",99,{"type":170,"name":223,"callback":224,"priority":225,"file":160,"line":13},"get_the_excerpt","the_excerpt_SL",1000000,{"type":170,"name":223,"callback":227,"priority":228,"file":160,"line":229},"the_excerpt_ante_SL",2,101,{"type":157,"name":231,"callback":232,"file":160,"line":233},"activated_plugin","save_error_on_activation",104,{"type":170,"name":235,"callback":236,"file":160,"line":237},"mce_external_plugins","add_custom_button",702,{"type":170,"name":239,"callback":240,"priority":241,"file":160,"line":242},"mce_buttons","register_custom_button",999,703,{"type":170,"name":244,"callback":245,"file":160,"line":246},"tiny_mce_version","my_refresh_mce",704,{"type":157,"name":248,"callback":249,"file":250,"line":251},"save_post","whenPostIsSaved","links-synthesis.php",63,{"type":157,"name":253,"callback":249,"file":250,"line":120},"delete_post",{"type":157,"name":255,"callback":256,"file":250,"line":257},"all_admin_notices","update_message",65,[259,262,265,267,270,273,276,280,282,284,286,289,291,294,296,300],{"action":260,"nopriv":261,"callback":260,"hasNonce":261,"hasCapCheck":261,"file":160,"line":27},"translate_add",false,{"action":263,"nopriv":261,"callback":263,"hasNonce":261,"hasCapCheck":261,"file":160,"line":264},"translate_modify",86,{"action":266,"nopriv":261,"callback":266,"hasNonce":261,"hasCapCheck":261,"file":160,"line":36},"translate_create",{"action":268,"nopriv":261,"callback":268,"hasNonce":261,"hasCapCheck":261,"file":160,"line":269},"send_translation",88,{"action":271,"nopriv":261,"callback":271,"hasNonce":261,"hasCapCheck":261,"file":160,"line":272},"update_summary",89,{"action":274,"nopriv":261,"callback":275,"hasNonce":261,"hasCapCheck":261,"file":160,"line":64},"del_param","del_param_callback",{"action":277,"nopriv":261,"callback":278,"hasNonce":261,"hasCapCheck":261,"file":160,"line":279},"add_param","add_param_callback",93,{"action":281,"nopriv":261,"callback":281,"hasNonce":261,"hasCapCheck":261,"file":160,"line":87},"send_feedback",{"action":283,"nopriv":261,"callback":283,"hasNonce":261,"hasCapCheck":261,"file":250,"line":176},"changeURL",{"action":285,"nopriv":261,"callback":285,"hasNonce":261,"hasCapCheck":261,"file":250,"line":179},"recheckURL",{"action":287,"nopriv":261,"callback":287,"hasNonce":261,"hasCapCheck":261,"file":250,"line":288},"ignoreURL",57,{"action":290,"nopriv":261,"callback":290,"hasNonce":261,"hasCapCheck":261,"file":250,"line":182},"doNotIgnoreURL",{"action":292,"nopriv":261,"callback":292,"hasNonce":261,"hasCapCheck":261,"file":250,"line":293},"stopAnalysisLinks",60,{"action":295,"nopriv":261,"callback":295,"hasNonce":261,"hasCapCheck":261,"file":250,"line":187},"forceAnalysisLinks",{"action":297,"nopriv":298,"callback":297,"hasNonce":261,"hasCapCheck":261,"file":250,"line":299},"checkLinksSynthesis",true,80,{"action":297,"nopriv":261,"callback":297,"hasNonce":261,"hasCapCheck":261,"file":250,"line":215},[],[],[],16,{"dangerousFunctions":306,"sqlUsage":374,"outputEscaping":430,"fileOperations":920,"externalRequests":88,"nonceChecks":28,"capabilityChecks":228,"bundledLibraries":921},[307,312,315,317,320,323,326,329,332,335,338,341,344,347,350,352,354,356,358,360,362,366,368,370,372],{"fn":308,"file":309,"line":310,"context":311},"unserialize","core\\otherplugins.class.php",48,"$plugins = unserialize(@file_get_contents(dirname(__FILE__).\"\u002Fdata\u002FSLFramework_OtherPlugins_\".date('",{"fn":308,"file":309,"line":313,"context":314},128,"$res = unserialize($request['body']);",{"fn":308,"file":309,"line":316,"context":314},176,{"fn":308,"file":250,"line":318,"context":319},329,"$meta = unserialize(str_replace(\"##&#39;##\", \"'\", $tl['metatag'])) ;",{"fn":308,"file":250,"line":321,"context":322},338,"$head = unserialize(str_replace(\"##&#39;##\", \"'\", $tl['header'])) ;",{"fn":308,"file":250,"line":324,"context":325},429,"$current_occurrence = unserialize(str_replace(\"##&#39;##\", \"'\", $result[0]->occurrence)) ;",{"fn":308,"file":250,"line":327,"context":328},521,"$current_occurrence = unserialize(str_replace(\"##&#39;##\", \"'\", $r->occurrence)) ;",{"fn":308,"file":250,"line":330,"context":331},1031,"if (is_array(unserialize(str_replace(\"##&#39;##\", \"'\", $r->metatag)))) {",{"fn":308,"file":250,"line":333,"context":334},1032,"foreach (unserialize(str_replace(\"##&#39;##\", \"'\", $r->metatag)) as $k=>$m) {",{"fn":308,"file":250,"line":336,"context":337},1037,"if (is_array(unserialize(str_replace(\"##&#39;##\", \"'\", $r->header)))) {",{"fn":308,"file":250,"line":339,"context":340},1038,"foreach (unserialize(str_replace(\"##&#39;##\", \"'\", $r->header)) as $k=>$m) {",{"fn":308,"file":250,"line":342,"context":343},1050,"if (is_array(unserialize(str_replace(\"##&#39;##\", \"'\", $r->occurrence)))) {",{"fn":308,"file":250,"line":345,"context":346},1051,"foreach (unserialize(str_replace(\"##&#39;##\", \"'\", $r->occurrence)) as $m) {",{"fn":308,"file":250,"line":348,"context":349},1131,"$header_array = unserialize(str_replace(\"##&#39;##\", \"'\", $r[7])) ;",{"fn":308,"file":250,"line":351,"context":331},1187,{"fn":308,"file":250,"line":353,"context":334},1188,{"fn":308,"file":250,"line":355,"context":337},1193,{"fn":308,"file":250,"line":357,"context":340},1194,{"fn":308,"file":250,"line":359,"context":343},1206,{"fn":308,"file":250,"line":361,"context":346},1207,{"fn":363,"file":250,"line":364,"context":365},"exec",1489,"$str = exec($command, $output, $return) ;",{"fn":308,"file":250,"line":367,"context":343},1582,{"fn":308,"file":250,"line":369,"context":346},1583,{"fn":308,"file":250,"line":371,"context":349},1664,{"fn":308,"file":250,"line":373,"context":328},1939,{"prepared":100,"raw":375,"locations":376},25,[377,381,383,386,388,390,392,394,396,399,401,403,405,407,409,410,412,414,416,418,420,422,424,426,428],{"file":378,"line":379,"context":380},"core\\templates\\my-plugin.php",106,"$wpdb->query() with variable interpolation",{"file":378,"line":382,"context":380},110,{"file":160,"line":384,"context":385},180,"$wpdb->get_var() with variable interpolation",{"file":160,"line":387,"context":385},211,{"file":250,"line":389,"context":380},107,{"file":250,"line":391,"context":380},111,{"file":250,"line":393,"context":385},152,{"file":250,"line":395,"context":385},392,{"file":250,"line":397,"context":398},425,"$wpdb->get_results() with variable interpolation",{"file":250,"line":400,"context":380},500,{"file":250,"line":402,"context":398},508,{"file":250,"line":404,"context":380},547,{"file":250,"line":406,"context":398},689,{"file":250,"line":408,"context":398},710,{"file":250,"line":241,"context":398},{"file":250,"line":411,"context":398},1167,{"file":250,"line":413,"context":385},1550,{"file":250,"line":415,"context":385},1551,{"file":250,"line":417,"context":385},1552,{"file":250,"line":419,"context":398},1562,{"file":250,"line":421,"context":398},1747,{"file":250,"line":423,"context":398},1832,{"file":250,"line":425,"context":398},1834,{"file":250,"line":427,"context":398},1839,{"file":250,"line":429,"context":398},1847,{"escaped":431,"rawEcho":432,"locations":433},17,292,[434,438,440,441,443,445,447,449,450,452,454,456,458,460,462,464,466,468,470,471,472,474,475,476,477,478,479,480,481,482,483,484,486,487,488,489,490,491,492,493,494,495,496,497,500,502,505,506,508,510,512,513,514,515,516,517,518,520,521,523,524,525,526,527,529,531,533,535,537,538,539,540,542,544,546,549,550,552,553,554,556,557,558,560,561,563,564,565,566,567,569,570,571,573,575,577,579,581,583,585,587,589,591,592,594,595,596,597,598,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,617,620,621,623,624,625,627,629,630,631,633,635,636,638,640,642,644,646,648,650,652,653,655,656,659,661,662,664,666,668,670,672,673,674,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,773,774,776,778,780,782,783,784,785,786,788,789,791,793,795,796,798,800,801,802,803,804,806,808,810,812,814,816,818,819,821,823,825,827,828,829,831,833,834,835,836,838,840,842,844,847,849,850,852,853,855,857,859,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,897,899,900,902,904,906,908,910,912,914,916,918],{"file":435,"line":436,"context":437},"core\\admin_table.class.php",182,"raw output",{"file":435,"line":439,"context":437},189,{"file":435,"line":439,"context":437},{"file":435,"line":442,"context":437},192,{"file":435,"line":444,"context":437},193,{"file":435,"line":446,"context":437},212,{"file":435,"line":448,"context":437},219,{"file":435,"line":448,"context":437},{"file":435,"line":451,"context":437},222,{"file":435,"line":453,"context":437},223,{"file":435,"line":455,"context":437},224,{"file":435,"line":457,"context":437},225,{"file":435,"line":459,"context":437},226,{"file":435,"line":461,"context":437},227,{"file":435,"line":463,"context":437},261,{"file":435,"line":465,"context":437},277,{"file":435,"line":467,"context":437},295,{"file":435,"line":469,"context":437},364,{"file":435,"line":469,"context":437},{"file":435,"line":469,"context":437},{"file":435,"line":473,"context":437},374,{"file":435,"line":473,"context":437},{"file":435,"line":473,"context":437},{"file":435,"line":473,"context":437},{"file":435,"line":473,"context":437},{"file":435,"line":473,"context":437},{"file":435,"line":473,"context":437},{"file":435,"line":473,"context":437},{"file":435,"line":473,"context":437},{"file":435,"line":473,"context":437},{"file":435,"line":473,"context":437},{"file":435,"line":485,"context":437},378,{"file":435,"line":485,"context":437},{"file":435,"line":485,"context":437},{"file":435,"line":485,"context":437},{"file":435,"line":485,"context":437},{"file":435,"line":485,"context":437},{"file":435,"line":485,"context":437},{"file":435,"line":485,"context":437},{"file":435,"line":485,"context":437},{"file":435,"line":485,"context":437},{"file":435,"line":485,"context":437},{"file":435,"line":485,"context":437},{"file":498,"line":499,"context":437},"core\\box.class.php",40,{"file":498,"line":501,"context":437},43,{"file":503,"line":504,"context":437},"core\\feedback.class.php",39,{"file":503,"line":499,"context":437},{"file":503,"line":507,"context":437},41,{"file":503,"line":509,"context":437},44,{"file":503,"line":511,"context":437},45,{"file":503,"line":173,"context":437},{"file":503,"line":176,"context":437},{"file":503,"line":76,"context":437},{"file":503,"line":210,"context":437},{"file":503,"line":213,"context":437},{"file":503,"line":215,"context":437},{"file":503,"line":519,"context":437},177,{"file":503,"line":436,"context":437},{"file":309,"line":522,"context":437},52,{"file":309,"line":173,"context":437},{"file":309,"line":130,"context":437},{"file":309,"line":264,"context":437},{"file":309,"line":36,"context":437},{"file":309,"line":528,"context":437},109,{"file":309,"line":530,"context":437},147,{"file":309,"line":532,"context":437},148,{"file":309,"line":534,"context":437},150,{"file":309,"line":536,"context":437},179,{"file":309,"line":384,"context":437},{"file":309,"line":436,"context":437},{"file":309,"line":439,"context":437},{"file":309,"line":541,"context":437},191,{"file":309,"line":543,"context":437},197,{"file":309,"line":545,"context":437},206,{"file":547,"line":548,"context":437},"core\\parameters.class.php",767,{"file":547,"line":548,"context":437},{"file":547,"line":551,"context":437},781,{"file":547,"line":551,"context":437},{"file":547,"line":551,"context":437},{"file":547,"line":555,"context":437},790,{"file":547,"line":555,"context":437},{"file":547,"line":555,"context":437},{"file":547,"line":559,"context":437},877,{"file":547,"line":559,"context":437},{"file":547,"line":562,"context":437},894,{"file":547,"line":562,"context":437},{"file":547,"line":562,"context":437},{"file":547,"line":562,"context":437},{"file":547,"line":562,"context":437},{"file":547,"line":568,"context":437},898,{"file":547,"line":568,"context":437},{"file":547,"line":568,"context":437},{"file":547,"line":572,"context":437},902,{"file":547,"line":574,"context":437},917,{"file":547,"line":576,"context":437},918,{"file":547,"line":578,"context":437},928,{"file":547,"line":580,"context":437},938,{"file":547,"line":582,"context":437},944,{"file":547,"line":584,"context":437},951,{"file":547,"line":586,"context":437},957,{"file":547,"line":588,"context":437},964,{"file":590,"line":190,"context":437},"core\\popup.class.php",{"file":590,"line":199,"context":437},{"file":590,"line":593,"context":437},71,{"file":590,"line":76,"context":437},{"file":590,"line":210,"context":437},{"file":590,"line":213,"context":437},{"file":590,"line":279,"context":437},{"file":599,"line":600,"context":437},"core\\progress_bar.class.php",42,{"file":599,"line":600,"context":437},{"file":599,"line":501,"context":437},{"file":599,"line":501,"context":437},{"file":599,"line":501,"context":437},{"file":599,"line":501,"context":437},{"file":599,"line":509,"context":437},{"file":599,"line":509,"context":437},{"file":599,"line":509,"context":437},{"file":599,"line":509,"context":437},{"file":599,"line":511,"context":437},{"file":599,"line":511,"context":437},{"file":599,"line":511,"context":437},{"file":599,"line":511,"context":437},{"file":599,"line":511,"context":437},{"file":599,"line":616,"context":437},49,{"file":618,"line":619,"context":437},"core\\tabs.class.php",97,{"file":618,"line":619,"context":437},{"file":618,"line":622,"context":437},102,{"file":618,"line":379,"context":437},{"file":618,"line":391,"context":437},{"file":618,"line":626,"context":437},118,{"file":618,"line":628,"context":437},127,{"file":618,"line":628,"context":437},{"file":618,"line":628,"context":437},{"file":618,"line":632,"context":437},133,{"file":618,"line":634,"context":437},134,{"file":378,"line":432,"context":437},{"file":378,"line":637,"context":437},299,{"file":378,"line":639,"context":437},312,{"file":378,"line":641,"context":437},317,{"file":378,"line":643,"context":437},320,{"file":378,"line":645,"context":437},323,{"file":378,"line":647,"context":437},328,{"file":378,"line":649,"context":437},331,{"file":378,"line":651,"context":437},334,{"file":378,"line":321,"context":437},{"file":378,"line":654,"context":437},386,{"file":378,"line":395,"context":437},{"file":657,"line":658,"context":437},"core\\translation.class.php",139,{"file":657,"line":660,"context":437},151,{"file":657,"line":393,"context":437},{"file":657,"line":663,"context":437},158,{"file":657,"line":665,"context":437},166,{"file":657,"line":667,"context":437},190,{"file":657,"line":669,"context":437},218,{"file":657,"line":671,"context":437},221,{"file":657,"line":451,"context":437},{"file":657,"line":455,"context":437},{"file":657,"line":459,"context":437},{"file":657,"line":676,"context":437},230,{"file":657,"line":678,"context":437},257,{"file":657,"line":680,"context":437},341,{"file":657,"line":682,"context":437},344,{"file":657,"line":684,"context":437},345,{"file":657,"line":686,"context":437},348,{"file":657,"line":688,"context":437},350,{"file":657,"line":690,"context":437},353,{"file":657,"line":692,"context":437},357,{"file":657,"line":694,"context":437},583,{"file":657,"line":696,"context":437},588,{"file":657,"line":698,"context":437},594,{"file":657,"line":700,"context":437},747,{"file":657,"line":702,"context":437},764,{"file":657,"line":704,"context":437},765,{"file":657,"line":548,"context":437},{"file":657,"line":707,"context":437},768,{"file":657,"line":709,"context":437},772,{"file":657,"line":711,"context":437},773,{"file":657,"line":713,"context":437},775,{"file":657,"line":715,"context":437},776,{"file":657,"line":717,"context":437},796,{"file":657,"line":719,"context":437},798,{"file":657,"line":721,"context":437},805,{"file":657,"line":723,"context":437},1027,{"file":657,"line":725,"context":437},1028,{"file":657,"line":727,"context":437},1047,{"file":657,"line":729,"context":437},1048,{"file":657,"line":731,"context":437},1062,{"file":657,"line":733,"context":437},1145,{"file":657,"line":735,"context":437},1148,{"file":657,"line":737,"context":437},1149,{"file":657,"line":739,"context":437},1159,{"file":657,"line":741,"context":437},1162,{"file":657,"line":743,"context":437},1165,{"file":657,"line":745,"context":437},1170,{"file":657,"line":747,"context":437},1339,{"file":657,"line":749,"context":437},1340,{"file":657,"line":751,"context":437},1358,{"file":657,"line":753,"context":437},1359,{"file":657,"line":755,"context":437},1369,{"file":657,"line":757,"context":437},1451,{"file":657,"line":759,"context":437},1454,{"file":657,"line":761,"context":437},1455,{"file":657,"line":763,"context":437},1465,{"file":657,"line":765,"context":437},1468,{"file":657,"line":767,"context":437},1471,{"file":657,"line":769,"context":437},1476,{"file":771,"line":511,"context":437},"core\\tree.class.php",{"file":771,"line":161,"context":437},{"file":771,"line":195,"context":437},{"file":771,"line":775,"context":437},77,{"file":771,"line":777,"context":437},83,{"file":771,"line":779,"context":437},116,{"file":771,"line":781,"context":437},120,{"file":771,"line":384,"context":437},{"file":771,"line":387,"context":437},{"file":160,"line":667,"context":437},{"file":160,"line":444,"context":437},{"file":160,"line":787,"context":437},203,{"file":160,"line":455,"context":437},{"file":160,"line":790,"context":437},749,{"file":160,"line":792,"context":437},757,{"file":160,"line":794,"context":437},759,{"file":160,"line":794,"context":437},{"file":160,"line":797,"context":437},762,{"file":160,"line":799,"context":437},763,{"file":160,"line":702,"context":437},{"file":160,"line":704,"context":437},{"file":160,"line":711,"context":437},{"file":160,"line":711,"context":437},{"file":160,"line":805,"context":437},842,{"file":160,"line":807,"context":437},1059,{"file":160,"line":809,"context":437},1249,{"file":160,"line":811,"context":437},1267,{"file":160,"line":813,"context":437},1300,{"file":160,"line":815,"context":437},1306,{"file":160,"line":817,"context":437},1345,{"file":160,"line":755,"context":437},{"file":160,"line":820,"context":437},1379,{"file":160,"line":822,"context":437},1382,{"file":160,"line":824,"context":437},1426,{"file":160,"line":826,"context":437},1427,{"file":160,"line":826,"context":437},{"file":160,"line":826,"context":437},{"file":160,"line":830,"context":437},1438,{"file":160,"line":832,"context":437},1439,{"file":160,"line":832,"context":437},{"file":160,"line":832,"context":437},{"file":160,"line":832,"context":437},{"file":160,"line":837,"context":437},1446,{"file":160,"line":839,"context":437},1473,{"file":160,"line":841,"context":437},1475,{"file":160,"line":843,"context":437},1635,{"file":845,"line":846,"context":437},"include\\grabzit2.1.4\\ajax\\results.php",21,{"file":848,"line":195,"context":437},"include\\grabzit2.1.4\\index.php",{"file":250,"line":519,"context":437},{"file":250,"line":851,"context":437},365,{"file":250,"line":696,"context":437},{"file":250,"line":854,"context":437},933,{"file":250,"line":856,"context":437},937,{"file":250,"line":858,"context":437},956,{"file":250,"line":586,"context":437},{"file":250,"line":861,"context":437},959,{"file":250,"line":863,"context":437},972,{"file":250,"line":865,"context":437},973,{"file":250,"line":867,"context":437},977,{"file":250,"line":869,"context":437},989,{"file":250,"line":871,"context":437},991,{"file":250,"line":873,"context":437},1155,{"file":250,"line":875,"context":437},1275,{"file":250,"line":877,"context":437},1282,{"file":250,"line":879,"context":437},1283,{"file":250,"line":881,"context":437},1286,{"file":250,"line":883,"context":437},1289,{"file":250,"line":885,"context":437},1290,{"file":250,"line":887,"context":437},1292,{"file":250,"line":889,"context":437},1294,{"file":250,"line":891,"context":437},1295,{"file":250,"line":893,"context":437},1297,{"file":250,"line":895,"context":437},1299,{"file":250,"line":813,"context":437},{"file":250,"line":898,"context":437},1305,{"file":250,"line":815,"context":437},{"file":250,"line":901,"context":437},1307,{"file":250,"line":903,"context":437},1429,{"file":250,"line":905,"context":437},1435,{"file":250,"line":907,"context":437},1556,{"file":250,"line":909,"context":437},1687,{"file":250,"line":911,"context":437},1822,{"file":250,"line":913,"context":437},1874,{"file":250,"line":915,"context":437},1878,{"file":250,"line":917,"context":437},1880,{"file":250,"line":919,"context":437},2220,72,[],[923,939,949,959,979,1010,1020,1029,1042,1051,1067,1076,1090,1103,1113,1123,1137],{"entryPoint":924,"graph":925,"unsanitizedCount":228,"severity":938},"flush (core\\admin_table.class.php:170)",{"nodes":926,"edges":936},[927,931],{"id":928,"type":929,"label":930,"file":435,"line":436},"n0","source","$_SERVER['PHP_SELF'] (x2)",{"id":932,"type":933,"label":934,"file":435,"line":436,"wp_function":935},"n1","sink","echo() [XSS]","echo",[937],{"from":928,"to":932,"sanitized":261},"medium",{"entryPoint":940,"graph":941,"unsanitizedCount":14,"severity":938},"translate_add (core\\translation.class.php:178)",{"nodes":942,"edges":947},[943,946],{"id":928,"type":929,"label":944,"file":657,"line":945},"$_POST",184,{"id":932,"type":933,"label":934,"file":657,"line":455,"wp_function":935},[948],{"from":928,"to":932,"sanitized":261},{"entryPoint":950,"graph":951,"unsanitizedCount":228,"severity":938},"translate_modify (core\\translation.class.php:243)",{"nodes":952,"edges":957},[953,956],{"id":928,"type":929,"label":954,"file":657,"line":955},"$_POST (x2)",250,{"id":932,"type":933,"label":934,"file":657,"line":686,"wp_function":935},[958],{"from":928,"to":932,"sanitized":261},{"entryPoint":960,"graph":961,"unsanitizedCount":978,"severity":938},"translate_create (core\\translation.class.php:607)",{"nodes":962,"edges":975},[963,965,969,973],{"id":928,"type":929,"label":954,"file":657,"line":964},615,{"id":932,"type":933,"label":966,"file":657,"line":967,"wp_function":968},"fopen() [File Access]",652,"fopen",{"id":970,"type":929,"label":971,"file":657,"line":972},"n2","$_POST (x11)",612,{"id":974,"type":933,"label":934,"file":657,"line":700,"wp_function":935},"n3",[976,977],{"from":928,"to":932,"sanitized":261},{"from":970,"to":974,"sanitized":261},13,{"entryPoint":980,"graph":981,"unsanitizedCount":1009,"severity":938},"\u003Ctranslation.class> (core\\translation.class.php:0)",{"nodes":982,"edges":1004},[983,985,986,987,988,992,997,1000],{"id":928,"type":929,"label":984,"file":657,"line":945},"$_POST (x21)",{"id":932,"type":933,"label":934,"file":657,"line":455,"wp_function":935},{"id":970,"type":929,"label":954,"file":657,"line":964},{"id":974,"type":933,"label":966,"file":657,"line":967,"wp_function":968},{"id":989,"type":929,"label":990,"file":657,"line":991},"n4","$_POST (x8)",611,{"id":993,"type":933,"label":994,"file":657,"line":995,"wp_function":996},"n5","file_put_contents() [File Write]",982,"file_put_contents",{"id":998,"type":929,"label":954,"file":657,"line":999},"n6",610,{"id":1001,"type":933,"label":1002,"file":657,"line":723,"wp_function":1003},"n7","file_get_contents() [SSRF\u002FLFI]","file_get_contents",[1005,1006,1007,1008],{"from":928,"to":932,"sanitized":261},{"from":970,"to":974,"sanitized":261},{"from":989,"to":993,"sanitized":261},{"from":998,"to":1001,"sanitized":261},33,{"entryPoint":1011,"graph":1012,"unsanitizedCount":228,"severity":938},"\u003Chandler> (include\\grabzit2.1.4\\handler.php:0)",{"nodes":1013,"edges":1018},[1014,1017],{"id":928,"type":929,"label":1015,"file":1016,"line":11},"$_GET (x2)","include\\grabzit2.1.4\\handler.php",{"id":932,"type":933,"label":994,"file":1016,"line":375,"wp_function":996},[1019],{"from":928,"to":932,"sanitized":261},{"entryPoint":1021,"graph":1022,"unsanitizedCount":14,"severity":938},"configuration_page (links-synthesis.php:920)",{"nodes":1023,"edges":1027},[1024,1026],{"id":928,"type":929,"label":1025,"file":250,"line":867},"$_GET['page']",{"id":932,"type":933,"label":934,"file":250,"line":867,"wp_function":935},[1028],{"from":928,"to":932,"sanitized":261},{"entryPoint":1030,"graph":1031,"unsanitizedCount":186,"severity":1041},"\u003Cadmin_table.class> (core\\admin_table.class.php:0)",{"nodes":1032,"edges":1038},[1033,1034,1035,1037],{"id":928,"type":929,"label":930,"file":435,"line":436},{"id":932,"type":933,"label":934,"file":435,"line":436,"wp_function":935},{"id":970,"type":929,"label":1036,"file":435,"line":38},"$_GET (x3)",{"id":974,"type":933,"label":934,"file":435,"line":455,"wp_function":935},[1039,1040],{"from":928,"to":932,"sanitized":261},{"from":970,"to":974,"sanitized":261},"low",{"entryPoint":1043,"graph":1044,"unsanitizedCount":228,"severity":1041},"\u003Cparameters.class> (core\\parameters.class.php:0)",{"nodes":1045,"edges":1049},[1046,1048],{"id":928,"type":929,"label":954,"file":547,"line":1047},245,{"id":932,"type":933,"label":934,"file":547,"line":551,"wp_function":935},[1050],{"from":928,"to":932,"sanitized":261},{"entryPoint":1052,"graph":1053,"unsanitizedCount":14,"severity":1041},"del_param_callback (core.class.php:455)",{"nodes":1054,"edges":1064},[1055,1057,1060],{"id":928,"type":929,"label":944,"file":160,"line":1056},461,{"id":932,"type":1058,"label":1059,"file":160,"line":1056},"transform","→ del_param()",{"id":970,"type":933,"label":1061,"file":160,"line":1062,"wp_function":1063},"update_option() [Settings Manipulation]",441,"update_option",[1065,1066],{"from":928,"to":932,"sanitized":261},{"from":932,"to":970,"sanitized":261},{"entryPoint":1068,"graph":1069,"unsanitizedCount":228,"severity":1041},"add_param_callback (core.class.php:477)",{"nodes":1070,"edges":1074},[1071,1073],{"id":928,"type":929,"label":954,"file":160,"line":1072},480,{"id":932,"type":933,"label":1061,"file":160,"line":402,"wp_function":1063},[1075],{"from":928,"to":932,"sanitized":261},{"entryPoint":1077,"graph":1078,"unsanitizedCount":14,"severity":1041},"\u003Ccore.class> (core.class.php:0)",{"nodes":1079,"edges":1086},[1080,1082,1083,1084,1085],{"id":928,"type":929,"label":1081,"file":160,"line":1072},"$_POST (x3)",{"id":932,"type":933,"label":1061,"file":160,"line":402,"wp_function":1063},{"id":970,"type":929,"label":944,"file":160,"line":1056},{"id":974,"type":1058,"label":1059,"file":160,"line":1056},{"id":989,"type":933,"label":1061,"file":160,"line":1062,"wp_function":1063},[1087,1088,1089],{"from":928,"to":932,"sanitized":298},{"from":970,"to":974,"sanitized":261},{"from":974,"to":989,"sanitized":261},{"entryPoint":1091,"graph":1092,"unsanitizedCount":14,"severity":1102},"recheckURL (links-synthesis.php:2147)",{"nodes":1093,"edges":1100},[1094,1096],{"id":928,"type":929,"label":944,"file":250,"line":1095},2150,{"id":932,"type":933,"label":1097,"file":250,"line":1098,"wp_function":1099},"query() [SQLi]",2153,"query",[1101],{"from":928,"to":932,"sanitized":261},"high",{"entryPoint":1104,"graph":1105,"unsanitizedCount":14,"severity":1102},"ignoreURL (links-synthesis.php:2164)",{"nodes":1106,"edges":1111},[1107,1109],{"id":928,"type":929,"label":944,"file":250,"line":1108},2167,{"id":932,"type":933,"label":1097,"file":250,"line":1110,"wp_function":1099},2171,[1112],{"from":928,"to":932,"sanitized":261},{"entryPoint":1114,"graph":1115,"unsanitizedCount":14,"severity":1102},"doNotIgnoreURL (links-synthesis.php:2182)",{"nodes":1116,"edges":1121},[1117,1119],{"id":928,"type":929,"label":944,"file":250,"line":1118},2185,{"id":932,"type":933,"label":1097,"file":250,"line":1120,"wp_function":1099},2188,[1122],{"from":928,"to":932,"sanitized":261},{"entryPoint":1124,"graph":1125,"unsanitizedCount":228,"severity":1102},"changeURL (links-synthesis.php:2200)",{"nodes":1126,"edges":1134},[1127,1129,1130,1132],{"id":928,"type":929,"label":944,"file":250,"line":1128},2204,{"id":932,"type":933,"label":934,"file":250,"line":919,"wp_function":935},{"id":970,"type":929,"label":944,"file":250,"line":1131},2206,{"id":974,"type":933,"label":1097,"file":250,"line":1133,"wp_function":1099},2228,[1135,1136],{"from":928,"to":932,"sanitized":261},{"from":970,"to":974,"sanitized":261},{"entryPoint":1138,"graph":1139,"unsanitizedCount":1152,"severity":1102},"\u003Clinks-synthesis> (links-synthesis.php:0)",{"nodes":1140,"edges":1148},[1141,1142,1143,1145,1146,1147],{"id":928,"type":929,"label":1025,"file":250,"line":867},{"id":932,"type":933,"label":934,"file":250,"line":867,"wp_function":935},{"id":970,"type":929,"label":1144,"file":250,"line":1095},"$_POST (x4)",{"id":974,"type":933,"label":1097,"file":250,"line":1098,"wp_function":1099},{"id":989,"type":929,"label":944,"file":250,"line":1128},{"id":993,"type":933,"label":934,"file":250,"line":919,"wp_function":935},[1149,1150,1151],{"from":928,"to":932,"sanitized":261},{"from":970,"to":974,"sanitized":261},{"from":989,"to":993,"sanitized":261},6,{"summary":1154,"deductions":1155},"The \"links-synthesis\" v1.3.3 plugin presents a significant security risk due to its large, unprotected attack surface. All 16 identified AJAX handlers lack authentication checks, meaning any user, authenticated or not, can potentially trigger these functions. This is exacerbated by the presence of dangerous functions like `unserialize` and `exec`, which, when combined with unsanitized input, can lead to remote code execution.\n\nTaint analysis reveals 17 flows with unsanitized paths, and 5 of these are classified as high severity. This indicates a strong likelihood of vulnerabilities where user-supplied data can be manipulated to execute malicious code or access sensitive information. The complete absence of nonce checks on AJAX handlers is a critical oversight, making cross-site request forgery (CSRF) attacks highly probable.\n\nThe plugin's history of zero known CVEs is a positive sign, suggesting a lack of publicly disclosed vulnerabilities. However, this history, coupled with the alarming static analysis results, indicates that the plugin may be susceptible to undiscovered vulnerabilities. The low percentage of properly escaped output (6%) also raises concerns about potential cross-site scripting (XSS) vulnerabilities. Overall, while the plugin has no public vulnerability history, its internal code structure and lack of basic security checks create a very high-risk profile.",[1156,1158,1161,1163,1165,1168,1170,1172],{"reason":1157,"points":11},"Unprotected AJAX handlers",{"reason":1159,"points":1160},"Dangerous functions: unserialize, exec",15,{"reason":1162,"points":11},"High severity unsanitized taint flows",{"reason":1164,"points":11},"Missing nonce checks on AJAX",{"reason":1166,"points":1167},"Low percentage of proper output escaping",8,{"reason":1169,"points":1160},"Unsanitized paths in taint flows",{"reason":1171,"points":11},"Unprotected entry points",{"reason":1173,"points":186},"Limited capability checks","2026-03-17T01:41:30.085Z",{"wat":1176,"direct":1181},{"assetPaths":1177,"generatorPatterns":1178,"scriptPaths":1179,"versionParams":1180},[],[],[],[],{"cssClasses":1182,"htmlComments":1183,"htmlAttributes":1184,"restEndpoints":1185,"jsGlobals":1186,"shortcodeOutput":1187},[],[],[],[],[],[]]