{"id":334323,"date":"2026-07-09T11:54:47","date_gmt":"2026-07-09T11:54:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/check-broken-image\/"},"modified":"2026-07-09T11:58:26","modified_gmt":"2026-07-09T11:58:26","slug":"image-integrity-scanner","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/image-integrity-scanner\/","author":20259795,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Image Integrity Scanner","header_author":"Dhrumil Kumbhani","header_description":"Scans your WordPress posts and pages for broken internal and external images, lists them in a paginated report, and lets you export the results to CSV.","assets_banners_color":"d8dee3","last_updated":"2026-07-09 11:58:26","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/dhrumilk","header_plugin_uri":"","header_author_uri":"https:\/\/www.linkedin.com\/in\/dhrumil-kumbhani-707b7b179\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":34,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"dhrumilk","date":"2026-07-09 11:58:26"}},"upgrade_notice":{"1.0.0":"<p>Initial release of Image Integrity Scanner.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3601435,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3601435,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3601435,"resolution":"772x250","location":"assets","locale":"","width":750,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3601435,"resolution":"1","location":"assets","locale":"","width":1920,"height":989}},"screenshots":{"1":"The Image Integrity Scanner admin page with the Scan Now button and live progress bar.","2":"A completed scan showing the broken images report table with post title, image URL, and post URL.","3":"The CSV export of a broken image report opened in a spreadsheet."}},"plugin_section":[],"plugin_tags":[270709,128337,17210,270708,270710],"plugin_category":[],"plugin_contributors":[218195],"plugin_business_model":[],"class_list":["post-334323","plugin","type-plugin","status-publish","hentry","plugin_tags-404-images","plugin_tags-broken-images","plugin_tags-broken-link-checker","plugin_tags-image-checker","plugin_tags-media-scanner","plugin_contributors-dhrumilk","plugin_committers-dhrumilk"],"banners":{"banner":"https:\/\/ps.w.org\/image-integrity-scanner\/assets\/banner-772x250.png?rev=3601435","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/image-integrity-scanner\/assets\/icon-128x128.png?rev=3601435","icon_2x":"https:\/\/ps.w.org\/image-integrity-scanner\/assets\/icon-256x256.png?rev=3601435","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/image-integrity-scanner\/assets\/screenshot-1.png?rev=3601435","caption":"The Image Integrity Scanner admin page with the Scan Now button and live progress bar."}],"raw_content":"<!--section=description-->\n<p><strong>Image Integrity Scanner<\/strong> is a lightweight broken image checker for WordPress. Broken images damage user experience, slow content audits, and make your site look unfinished \u2014 and they are easy to miss because WordPress never alerts you when an <code>&lt;img&gt;<\/code> tag points to a dead URL. This plugin finds them for you, automatically.<\/p>\n\n<p>With one click of the <strong>Scan Now<\/strong> button, the plugin crawls every published post and page, checks every image it finds \u2014 including images embedded in post content and featured images \u2014 and reports any image that returns a 404 error, another bad HTTP status, or fails to load. Results appear in a clean, paginated, sortable table directly inside your WordPress admin, and the full report can be exported as a CSV file for sharing with your team or client.<\/p>\n\n<p>Whether you are auditing a site after a migration, cleaning up content from a CDN change, fixing a broken hotlink, or doing routine site maintenance, Image Integrity Scanner gives you a fast and accurate broken image report without needing a third-party SEO crawler or command-line tool.<\/p>\n\n<h4>Why scan for broken images?<\/h4>\n\n<ul>\n<li>Broken images create a poor experience for visitors and make pages look unfinished.<\/li>\n<li>Search engines can penalize pages with broken media when assessing overall page quality and image search ranking.<\/li>\n<li>Migrating servers, hosts, themes, or CDNs is one of the most common causes of sudden broken image links.<\/li>\n<li>Linking to external images that get deleted, renamed, or moved on another site silently breaks your content over time.<\/li>\n<li>Manually clicking through every page to check every image does not scale once your site grows.<\/li>\n<\/ul>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>One-click scanning<\/strong> \u2014 click Scan Now and the plugin does the rest, with a live progress bar so you always know how far along the scan is.<\/li>\n<li><strong>Scans posts and pages<\/strong> \u2014 checks all published content including images inside the post body and featured\/thumbnail images.<\/li>\n<li><strong>Detects internal broken images<\/strong> \u2014 finds 404s and missing files hosted on your own WordPress site and media library.<\/li>\n<li><strong>Detects external broken images<\/strong> \u2014 finds dead or unreachable images linked in from other websites.<\/li>\n<li><strong>Clear, sortable report table<\/strong> \u2014 see the post\/page title, the broken image URL, the post\/page URL, image type (internal or external), and HTTP status for every broken image found.<\/li>\n<li><strong>Native WordPress pagination<\/strong> \u2014 browse large reports comfortably with the same pagination UI used throughout wp-admin, 20 results per page by default.<\/li>\n<li><strong>CSV export<\/strong> \u2014 download the full broken image report as a CSV file in one click for documentation, client reports, or further analysis in a spreadsheet.<\/li>\n<li><strong>Fast and lightweight<\/strong> \u2014 built with batched AJAX scanning so even larger sites scan smoothly without timing out or overloading the server.<\/li>\n<li><strong>Secure by design<\/strong> \u2014 every request is nonce-verified and capability-checked, and all database queries are properly prepared using $wpdb-&gt;prepare().<\/li>\n<li><strong>No bloat, no dependencies<\/strong> \u2014 no third-party libraries, no tracking, no upsells. Just a focused broken image scanner.<\/li>\n<li><strong>Developer-friendly code<\/strong> \u2014 built following WordPress Coding Standards (WPCS) and WordPress VIP coding standards.<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Go to <strong>Tools \u2192 Image Integrity Scanner<\/strong> in your WordPress admin.<\/li>\n<li>Click <strong>Scan Now<\/strong>.<\/li>\n<li>Watch the live progress bar as the plugin scans your published posts and pages in batches.<\/li>\n<li>Review the broken images found in a familiar, sortable WordPress admin table.<\/li>\n<li>Click <strong>Export CSV<\/strong> to download the full report.<\/li>\n<\/ol>\n\n<h4>Who Is This Plugin For?<\/h4>\n\n<ul>\n<li>Bloggers and website owners who want to keep their content looking clean and professional.<\/li>\n<li>Agencies and freelancers performing site audits or post-migration checks for clients.<\/li>\n<li>SEO professionals who want to find and fix broken images that may affect page quality and image search rankings.<\/li>\n<li>Developers who need a quick, no-setup way to verify image integrity across a WordPress site.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<p><strong>From your WordPress dashboard<\/strong><\/p>\n\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Search for \"Image Integrity Scanner\".<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>Tools \u2192 Image Integrity Scanner<\/strong> and click <strong>Scan Now<\/strong>.<\/li>\n<\/ol>\n\n<p><strong>Manual installation<\/strong><\/p>\n\n<ol>\n<li>Upload the <code>image-integrity-scanner<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>Tools \u2192 Image Integrity Scanner<\/strong> and click <strong>Scan Now<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20modify%20my%20content%3F\"><h3>Does this plugin modify my content?<\/h3><\/dt>\n<dd><p>No. Image Integrity Scanner only reads your post and page content to extract image URLs and check them. It never edits, removes, or modifies any post, page, or media file.<\/p><\/dd>\n<dt id=\"how%20are%20broken%20images%20detected%3F\"><h3>How are broken images detected?<\/h3><\/dt>\n<dd><p>Each image URL found in your content is checked with an HTTP HEAD request, falling back automatically to a ranged GET request for servers or CDNs that do not support HEAD. Any response with a status code of 400 or higher, or any failed connection, is logged as broken.<\/p><\/dd>\n<dt id=\"does%20it%20check%20external%20images%20too%3F\"><h3>Does it check external images too?<\/h3><\/dt>\n<dd><p>Yes. The scanner checks both internal images hosted on your own WordPress site and external images linked in from other websites, and clearly labels each result so you know which is which.<\/p><\/dd>\n<dt id=\"will%20scanning%20a%20large%20site%20slow%20down%20my%20server%3F\"><h3>Will scanning a large site slow down my server?<\/h3><\/dt>\n<dd><p>The scanner processes posts and pages in small batches via AJAX rather than all at once, which keeps memory and execution time manageable even on larger sites. You can leave the scan running and watch the live progress as it works through your content.<\/p><\/dd>\n<dt id=\"can%20i%20export%20the%20results%3F\"><h3>Can I export the results?<\/h3><\/dt>\n<dd><p>Yes. Click the <strong>Export CSV<\/strong> button on the Image Integrity Scanner admin page to download a complete CSV report of every broken image found, including the post\/page title, image URL, post\/page URL, type, and HTTP status.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20check%20images%20inside%20custom%20post%20types%3F\"><h3>Does this plugin check images inside custom post types?<\/h3><\/dt>\n<dd><p>The current version scans standard WordPress posts and pages. Support for additional public post types is planned for a future release.<\/p><\/dd>\n<dt id=\"who%20can%20run%20a%20scan%3F\"><h3>Who can run a scan?<\/h3><\/dt>\n<dd><p>Only users with the <code>manage_options<\/code> capability (typically Administrators) can run a scan, view the report, or export the CSV.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20send%20any%20data%20to%20external%20servers%3F\"><h3>Does this plugin send any data to external servers?<\/h3><\/dt>\n<dd><p>No. All scanning happens on your own server. The plugin does not transmit any data to third-party services.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Scan posts and pages for broken internal and external images.<\/li>\n<li>Live AJAX progress bar during scanning.<\/li>\n<li>Sortable, paginated broken images report table.<\/li>\n<li>CSV export of scan results.<\/li>\n<\/ul>","raw_excerpt":"Find and fix broken images on your WordPress site in one click. Scans posts and pages for 404 images and dead image links. Export CSV.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/334323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=334323"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dhrumilk"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=334323"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=334323"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=334323"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=334323"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=334323"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=334323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}