{"id":351000,"date":"2026-09-13T10:48:18","date_gmt":"2026-09-13T10:48:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dxm-block-toolkit\/"},"modified":"2026-09-13T10:47:44","modified_gmt":"2026-09-13T10:47:44","slug":"dxm-block-toolkit","status":"publish","type":"plugin","link":"https:\/\/ro.wordpress.org\/plugins\/dxm-block-toolkit\/","author":23536758,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.1","requires":"6.8","requires_php":"8.2","requires_plugins":null,"header_name":"DXM Block Toolkit","header_author":"DevXMachina","header_description":"Discover where Gutenberg blocks are used across posts, patterns, templates, navigations, and other supported sources.","assets_banners_color":"031f5e","last_updated":"2026-09-13 10:47:44","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/devxmachina.com\/products\/block-toolkit-lite\/","header_author_uri":"https:\/\/devxmachina.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":50,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"devxmachina","date":"2026-09-13 10:47:44","revision":3693566}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3693566,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3693566,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3693566,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3693566,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3693566,"resolution":"1","location":"assets","locale":"","width":1464,"height":1256},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3693566,"resolution":"2","location":"assets","locale":"","width":1952,"height":1382},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3693566,"resolution":"3","location":"assets","locale":"","width":1728,"height":1736},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3693566,"resolution":"4","location":"assets","locale":"","width":1724,"height":1686}},"screenshots":{"1":"Browse indexed Gutenberg blocks with instance and source counts, then open every source that uses a block.","2":"Filter a block's sources by content metadata and attributes, including CSS class names.","3":"Monitor audit scan health, scheduled scans, index integrity, and recent scan events.","4":"Confirm index freshness and begin reviewing the Block Inventory from the readiness panel."}},"plugin_section":[],"plugin_tags":[280432,4121,19795,148076],"plugin_category":[],"plugin_contributors":[280433],"plugin_business_model":[],"class_list":["post-351000","plugin","type-plugin","status-publish","hentry","plugin_tags-block-inventory","plugin_tags-blocks","plugin_tags-content-audit","plugin_tags-gutenberg","plugin_contributors-devxmachina","plugin_committers-devxmachina"],"banners":{"banner":"https:\/\/ps.w.org\/dxm-block-toolkit\/assets\/banner-772x250.png?rev=3693566","banner_2x":"https:\/\/ps.w.org\/dxm-block-toolkit\/assets\/banner-1544x500.png?rev=3693566","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dxm-block-toolkit\/assets\/icon-128x128.png?rev=3693566","icon_2x":"https:\/\/ps.w.org\/dxm-block-toolkit\/assets\/icon-256x256.png?rev=3693566","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dxm-block-toolkit\/assets\/screenshot-1.png?rev=3693566","caption":"Browse indexed Gutenberg blocks with instance and source counts, then open every source that uses a block."},{"src":"https:\/\/ps.w.org\/dxm-block-toolkit\/assets\/screenshot-2.png?rev=3693566","caption":"Filter a block's sources by content metadata and attributes, including CSS class names."},{"src":"https:\/\/ps.w.org\/dxm-block-toolkit\/assets\/screenshot-3.png?rev=3693566","caption":"Monitor audit scan health, scheduled scans, index integrity, and recent scan events."},{"src":"https:\/\/ps.w.org\/dxm-block-toolkit\/assets\/screenshot-4.png?rev=3693566","caption":"Confirm index freshness and begin reviewing the Block Inventory from the readiness panel."}],"raw_content":"<!--section=description-->\n<p>DXM Block Toolkit helps you discover where Gutenberg blocks are used and understand whether the index is healthy and current.<\/p>\n\n<p>It indexes every supported Gutenberg source without artificial edition-based caps on indexed sources, results, or scans, including:<\/p>\n\n<ul>\n<li>Posts, pages, and eligible custom post types.<\/li>\n<li>Synced patterns and reusable blocks.<\/li>\n<li>Templates and template parts.<\/li>\n<li>Navigations.<\/li>\n<\/ul>\n\n<p>The plugin includes:<\/p>\n\n<ul>\n<li>Block Inventory with block title, name, namespace, instance count, source count, and source-type distribution.<\/li>\n<li>Search by block title, name, or namespace, with sorting and pagination.<\/li>\n<li>Source drill-down with source title, source type, post type, status, occurrence count, and edit links.<\/li>\n<li>Filters for source type, status, class tokens, IDs and anchors, and indexed block attributes.<\/li>\n<li>Manual full scans, incremental indexing, daily recurring scans, progress, cancel and resume controls, index health, errors, comparisons, recent history, and local diagnostics.<\/li>\n<\/ul>\n\n<p>Scans read stored content and write only to DXM Block Toolkit index tables. They never modify post content.<\/p>\n\n<p>Common workflows:<\/p>\n\n<ol>\n<li>Run a full scan from the Scans tab to initialize the index.<\/li>\n<li>Search or sort Block Inventory to isolate a block type.<\/li>\n<li>Open View sources to find every indexed source that uses the block.<\/li>\n<li>Use source and attribute filters to narrow the results.<\/li>\n<li>Review Scans whenever you need to confirm freshness, errors, or index health.<\/li>\n<\/ol>\n\n<p>DXM Block Toolkit Pro is an optional add-on for content search, exports, network-wide reporting, and safe block transformations. DXM Block Toolkit Lite remains fully usable without Pro.<\/p>\n\n<p>Built by DevXMachina: https:\/\/devxmachina.com<\/p>\n\n<h3>Development<\/h3>\n\n<p>The distributed JavaScript and CSS files in <code>build\/<\/code> are generated from the human-readable sources in <code>src\/ui\/<\/code>.<\/p>\n\n<p>To reproduce the production assets:<\/p>\n\n<ol>\n<li>Install the Node.js dependencies with <code>npm install<\/code>.<\/li>\n<li>Run <code>npm run build<\/code>.<\/li>\n<\/ol>\n\n<p>PHP dependencies are declared in <code>composer.json<\/code> and locked in <code>composer.lock<\/code>. Install the production dependencies with <code>composer install --no-dev --optimize-autoloader<\/code>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/dxm-block-toolkit<\/code>, or install the ZIP through WordPress admin.<\/li>\n<li>Activate DXM Block Toolkit.<\/li>\n<li>Open <code>DXM -&gt; DXM Block Toolkit<\/code>.<\/li>\n<li>Run a full scan to initialize the index.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20dxm%20block%20toolkit%20lite%20limit%20posts%2C%20sources%2C%20results%2C%20or%20scans%3F\"><h3>Does DXM Block Toolkit Lite limit posts, sources, results, or scans?<\/h3><\/dt>\n<dd><p>No. DXM Block Toolkit Lite does not impose artificial edition-based caps on supported sources, indexed results, or scans. Normal server-resource and hosting constraints still apply.<\/p><\/dd>\n<dt id=\"which%20content%20does%20dxm%20block%20toolkit%20index%3F\"><h3>Which content does DXM Block Toolkit index?<\/h3><\/dt>\n<dd><p>DXM Block Toolkit indexes supported Gutenberg content from posts, pages, eligible custom post types, synced patterns, templates, template parts, and navigations. Excluded WordPress records such as revisions and auto-drafts are not treated as content sources.<\/p><\/dd>\n<dt id=\"can%20i%20run%20scans%20without%20a%20pro%20license%20key%3F\"><h3>Can I run scans without a Pro license key?<\/h3><\/dt>\n<dd><p>Yes. DXM Block Toolkit Lite has no commercial entitlement requirement, and its scanning and indexing never require a Pro license key. Manual scans, incremental indexing, daily recurring scans, comparisons, recent history, and health information remain available to administrators.<\/p><\/dd>\n<dt id=\"does%20dxm%20block%20toolkit%20modify%20post%20content%3F\"><h3>Does DXM Block Toolkit modify post content?<\/h3><\/dt>\n<dd><p>No. DXM Block Toolkit only discovers and indexes block usage. It does not transform or replace stored block content.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20blocks%20and%20patterns%3F\"><h3>What is the difference between Blocks and Patterns?<\/h3><\/dt>\n<dd><p>Blocks reports usage aggregated by block type, for example <code>core\/paragraph<\/code>. Patterns reports reusable or synced entities and the sources that reference them through <code>core\/block<\/code>.<\/p><\/dd>\n<dt id=\"how%20do%20attribute%20filters%20work%3F\"><h3>How do attribute filters work?<\/h3><\/dt>\n<dd><p>Open View sources for a block, then filter by class, ID or anchor, attribute path and value, or compact query syntax such as <code>class:hero id:intro attr:data-variant=dark<\/code>.<\/p>\n\n<p>Class and ID filters match exact tokens. Attribute filters use exact matching by default and support contains matching for bounded indexed text values. Active filters are combined, so a source must satisfy all of them.<\/p><\/dd>\n<dt id=\"how%20do%20attribute%20paths%20work%3F\"><h3>How do attribute paths work?<\/h3><\/dt>\n<dd><p>Attribute paths describe where a scalar value lives inside the parsed block attributes. Use a top-level key such as <code>anchor<\/code>, <code>className<\/code>, or <code>align<\/code>, or dot notation for nested values such as <code>style.color.text<\/code> and <code>layout.type<\/code>.<\/p>\n\n<p>Strings, numbers, booleans, and arrays of scalar values may be indexed. Arrays of objects, empty or oversized values, raw content blobs, and secret-like paths are skipped.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20later%20activate%20pro%3F\"><h3>What happens if I later activate Pro?<\/h3><\/dt>\n<dd><p>Pro reuses the DXM Block Toolkit index, so activation does not require an unnecessary reindex. Disabling or removing Pro does not delete the shared index.<\/p><\/dd>\n<dt id=\"how%20does%20dxm%20block%20toolkit%20work%20on%20multisite%3F\"><h3>How does DXM Block Toolkit work on multisite?<\/h3><\/dt>\n<dd><p>DXM Block Toolkit may be site-active or network-active, but its UI and API expose only the current site's index. Network-wide reporting and cross-site search are Pro capabilities.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Harden dynamic inventory queries by preparing table identifiers and all filter values through the WordPress database API.<\/li>\n<li>Preserve block and source pagination behavior while avoiding nested query interpolation.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Preserve Lite as a complete current-site inventory by moving network-wide reporting and export implementations entirely into the separate Pro add-on.<\/li>\n<li>Prepare all filtered inventory queries through the WordPress database API.<\/li>\n<li>Add automated release-boundary checks and improve admin table actions across supported WordPress versions.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Address WordPress.org review feedback: refresh Action Scheduler, harden internal identifier prefixes, and align namespaces.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial DXM Block Toolkit release with complete indexing, inventory, basic drill-down, attribute filters, recurring scans, comparisons, recent history, and scan health.<\/li>\n<\/ul>","raw_excerpt":"Index Gutenberg blocks and discover every source where they are used, with inventory, drill-down, filters, and scan health.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351000","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=351000"}],"author":[{"embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devxmachina"}],"wp:attachment":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351000"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351000"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351000"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351000"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351000"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}