{"id":379346,"date":"2026-10-02T10:46:44","date_gmt":"2026-10-02T10:46:44","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/block-audit\/"},"modified":"2026-10-02T10:31:21","modified_gmt":"2026-10-02T10:31:21","slug":"block-audit","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/block-audit\/","author":23096127,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"trunk","tested":"7.1.2","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"Block Audit","header_author":"Hiral Solanki","header_description":"Analyzes the blocks in the current post for common accessibility, performance, structure and content-quality issues, right inside the block editor.","assets_banners_color":"e1f1fd","last_updated":"2026-10-02 10:31:21","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/block-audit\/","header_author_uri":"https:\/\/profiles.wordpress.org\/hiral26\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3724565,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3724565,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x5002.jpg":{"filename":"banner-1544x5002.jpg","revision":3724565,"resolution":"1544x5002","location":"assets","locale":"","width":1544,"height":500},"banner-772\u00d7250.jpg":{"filename":"banner-772\u00d7250.jpg","revision":3724565,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3724565,"resolution":"1","location":"assets","locale":"","width":1915,"height":1043},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3724565,"resolution":"2","location":"assets","locale":"","width":1920,"height":948},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3724565,"resolution":"3","location":"assets","locale":"","width":1920,"height":952},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3724565,"resolution":"4","location":"assets","locale":"","width":1920,"height":951}},"screenshots":{"1":"The Block Audit sidebar with the overall score, category scores and counts.","2":"Issues grouped by block, with Go to block, Remove block and Ignore actions.","3":"Entering ALT text directly from an issue.","4":"The toolbar indicator on a block that has warnings.","5":"Settings \u2192 Block Audit."}},"plugin_section":[],"plugin_tags":[1953,4121,4932,148076,247],"plugin_category":[34,54],"plugin_contributors":[265820],"plugin_business_model":[],"class_list":["post-379346","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-blocks","plugin_tags-developer-tools","plugin_tags-gutenberg","plugin_tags-performance","plugin_category-accessibility","plugin_category-security-and-spam-protection","plugin_contributors-hiral26","plugin_committers-hiral26"],"banners":{"banner":"https:\/\/ps.w.org\/block-audit\/assets\/banner-772\u00d7250.jpg?rev=3724565","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/block-audit\/assets\/icon-128x128.jpg?rev=3724565","icon_2x":"https:\/\/ps.w.org\/block-audit\/assets\/icon-256x256.jpg?rev=3724565","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/block-audit\/assets\/screenshot-1.png?rev=3724565","caption":"The Block Audit sidebar with the overall score, category scores and counts."},{"src":"https:\/\/ps.w.org\/block-audit\/assets\/screenshot-2.png?rev=3724565","caption":"Issues grouped by block, with Go to block, Remove block and Ignore actions."},{"src":"https:\/\/ps.w.org\/block-audit\/assets\/screenshot-3.png?rev=3724565","caption":"Entering ALT text directly from an issue."},{"src":"https:\/\/ps.w.org\/block-audit\/assets\/screenshot-4.png?rev=3724565","caption":"The toolbar indicator on a block that has warnings."}],"raw_content":"<!--section=description-->\n<p>Block Audit is a content QA tool for the block editor. It scans the blocks in the post you are editing, including nested blocks, and lists likely problems in a <strong>Block Audit<\/strong> sidebar.<\/p>\n\n<p>Click <strong>Go to block<\/strong> on any issue to select the block, scroll it into view and highlight it.<\/p>\n\n<p>The plugin works with core WordPress blocks. It does not need a page builder, an external service or an account.<\/p>\n\n<h4>What it checks<\/h4>\n\n<p><strong>Accessibility<\/strong><\/p>\n\n<ul>\n<li>Images with missing, empty or placeholder-like ALT text (for example, a file name)<\/li>\n<li>Linked images without a text alternative<\/li>\n<li>Empty headings<\/li>\n<li>Skipped heading levels (reported as a warning, since some jumps are intentional)<\/li>\n<li>Links and buttons without readable text<\/li>\n<li>Links that open in a new tab without saying so<\/li>\n<li>Videos without a captions track<\/li>\n<\/ul>\n\n<p><strong>Performance risks<\/strong><\/p>\n\n<ul>\n<li>Large image files (thresholds are configurable)<\/li>\n<li>Images with very large dimensions<\/li>\n<li>Pages with many images<\/li>\n<li>External embeds and iframes (YouTube, Vimeo, maps, social embeds and more)<\/li>\n<\/ul>\n\n<p><strong>Structure<\/strong><\/p>\n\n<ul>\n<li>Empty Group, Columns, Column, Buttons, List, Gallery and Quote blocks<\/li>\n<li>Image, video, audio and embed blocks without media<\/li>\n<li>Very deeply nested blocks<\/li>\n<li>Missing or invalid blocks, plus a notice for custom blocks it can't check in detail<\/li>\n<\/ul>\n\n<p><strong>Content<\/strong><\/p>\n\n<ul>\n<li>Very long paragraphs<\/li>\n<li>Empty paragraphs and list items<\/li>\n<li>Duplicate headings<\/li>\n<\/ul>\n\n<h4>Scores<\/h4>\n\n<p>Each category gets a score from 0 to 100, and the overall score is the average of those. The rules behind the numbers are listed in the sidebar under <strong>About this score<\/strong>.<\/p>\n\n<p>This is a plugin-generated content health score. It is <strong>not<\/strong> a Lighthouse, PageSpeed, Core Web Vitals, SEO or WCAG compliance score. Automated checks only catch some problems, so you still need to review your content yourself.<\/p>\n\n<h4>Safe fixes only<\/h4>\n\n<ul>\n<li>Remove empty blocks with one click.<\/li>\n<li>Type ALT text for an image straight from the issue. The plugin never generates ALT text for you.<\/li>\n<li>Heading problems come with guidance. Heading levels are never changed automatically.<\/li>\n<li>Ignore an issue you have reviewed. Ignored issues don't count toward the score, and you can restore them at any time.<\/li>\n<\/ul>\n\n<h4>For developers<\/h4>\n\n<p>Register your own checks in JavaScript with the <code>blockAudit.checks<\/code> filter, or in PHP with the <code>block_audit_checks<\/code> filter. See <code>docs\/DEVELOPER.md<\/code> in the plugin folder.<\/p>\n\n<p>The editor script in <code>build\/<\/code> is compiled from the unminified source in <code>src\/<\/code>. To rebuild it, run <code>npm install<\/code> and then <code>npm run build<\/code>.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin does not:<\/p>\n\n<ul>\n<li>send your content or any other data to external services<\/li>\n<li>make remote requests<\/li>\n<li>use tracking, analytics or cookies<\/li>\n<\/ul>\n\n<p>All analysis happens in your browser and on your own server. The plugin stores only its settings (the <code>block_audit_settings<\/code> option), the list of ignored issues per post (post meta), and short-lived cached scan reports (transients). Deleting the plugin removes all of them.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>block-audit<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin from the Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open any post or page in the block editor. Then click the Block Audit icon in the top toolbar, or choose <strong>Block Audit<\/strong> from the Options (\u22ee) menu.<\/li>\n<li>Optional: adjust thresholds under <strong>Settings \u2192 Block Audit<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20guarantee%20wcag%20compliance%3F\"><h3>Does this plugin guarantee WCAG compliance?<\/h3><\/dt>\n<dd><p>No. It flags common, detectable problems. Many accessibility requirements can only be checked by a person, for example whether ALT text is accurate or whether content makes sense to someone using a screen reader.<\/p><\/dd>\n<dt id=\"will%20this%20improve%20my%20google%20rankings%20or%20pagespeed%20score%3F\"><h3>Will this improve my Google rankings or PageSpeed score?<\/h3><\/dt>\n<dd><p>The plugin doesn't measure or promise search rankings, PageSpeed, Lighthouse or Core Web Vitals results. Its performance checks point out content that is often worth reviewing, such as large images and third-party embeds.<\/p><\/dd>\n<dt id=\"why%20is%20an%20image%20with%20empty%20alt%20text%20only%20a%20warning%3F\"><h3>Why is an image with empty ALT text only a warning?<\/h3><\/dt>\n<dd><p>Decorative images should have empty ALT text. The plugin can't tell whether an image is decorative, so it asks you to check. If the image is decorative, click <strong>Ignore<\/strong>.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. Nothing loads on the front end of your site. In the editor, the scan runs in your browser, is debounced while you type, and fetches image file sizes in a single batched request.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20custom%20or%20third-party%20blocks%3F\"><h3>Does it work with custom or third-party blocks?<\/h3><\/dt>\n<dd><p>Custom blocks are listed with a notice that detailed checks aren't available for them, and they never break the scan. Developers can add checks for their own blocks.<\/p><\/dd>\n<dt id=\"where%20are%20ignored%20issues%20stored%3F\"><h3>Where are ignored issues stored?<\/h3><\/dt>\n<dd><p>In post meta (<code>_block_audit_ignored<\/code>) on the post being edited. Post content is never changed to store scanner state.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: accessibility, performance, structure and content checks, category and overall scores, jump to block, safe fixes, ignore rules, settings and developer filters.<\/li>\n<\/ul>","raw_excerpt":"Find common accessibility, performance, structure and content issues in your blocks, and jump straight to the block that needs attention.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/379346","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=379346"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hiral26"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=379346"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=379346"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=379346"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=379346"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=379346"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=379346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}