{"id":311120,"date":"2026-05-14T16:57:52","date_gmt":"2026-05-14T16:57:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pir-siteflow-insight\/"},"modified":"2026-05-14T16:57:14","modified_gmt":"2026-05-14T16:57:14","slug":"pir-site-structure-mapper","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/pir-site-structure-mapper\/","author":23496993,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"PIR Site Structure Mapper","header_author":"PIR Solutions","header_description":"Visualize your WordPress block theme structure \u2014 templates, patterns, pages, navigation flow, and link health \u2014 all in one dashboard.","assets_banners_color":"6b89b5","last_updated":"2026-05-14 16:57:14","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/pirsolutions.com","header_plugin_uri":"https:\/\/www.pirsolutions.com\/site-structure-mapper.html","header_author_uri":"https:\/\/pirsolutions.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"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":"fgauer","date":"2026-05-14 16:57:14"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3532312,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3532312,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3532312,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3532312,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3532312,"resolution":"1","location":"assets","locale":"","width":770,"height":430},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3532312,"resolution":"2","location":"assets","locale":"","width":770,"height":360},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3532312,"resolution":"3","location":"assets","locale":"","width":770,"height":302},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3532312,"resolution":"4","location":"assets","locale":"","width":770,"height":886},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3532312,"resolution":"5","location":"assets","locale":"","width":770,"height":361}},"screenshots":{"1":"Site Navigation flow \u2014 visual map of your site's navigation structure and link relationships","2":"Template analysis \u2014 categorized template list with source badges and page usage","3":"Page inspector \u2014 template hierarchy resolution, content blocks, and link analysis","4":"Widget Areas \u2014 registered sidebars and active widgets (classic themes)","5":"Live crawl \u2014 HTTP-based site discovery with link verification"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[14280,1753,26282,4516,262959],"plugin_category":[43],"plugin_contributors":[262960],"plugin_business_model":[],"class_list":["post-311120","plugin","type-plugin","status-publish","hentry","plugin_tags-link-checker","plugin_tags-navigation","plugin_tags-site-map","plugin_tags-templates","plugin_tags-theme-analysis","plugin_category-customization","plugin_contributors-fgauer","plugin_committers-fgauer"],"banners":{"banner":"https:\/\/ps.w.org\/pir-site-structure-mapper\/assets\/banner-772x250.png?rev=3532312","banner_2x":"https:\/\/ps.w.org\/pir-site-structure-mapper\/assets\/banner-1544x500.png?rev=3532312","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pir-site-structure-mapper\/assets\/icon-128x128.png?rev=3532312","icon_2x":"https:\/\/ps.w.org\/pir-site-structure-mapper\/assets\/icon-256x256.png?rev=3532312","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/pir-site-structure-mapper\/assets\/screenshot-1.png?rev=3532312","caption":"Site Navigation flow \u2014 visual map of your site's navigation structure and link relationships"},{"src":"https:\/\/ps.w.org\/pir-site-structure-mapper\/assets\/screenshot-2.png?rev=3532312","caption":"Template analysis \u2014 categorized template list with source badges and page usage"},{"src":"https:\/\/ps.w.org\/pir-site-structure-mapper\/assets\/screenshot-3.png?rev=3532312","caption":"Page inspector \u2014 template hierarchy resolution, content blocks, and link analysis"},{"src":"https:\/\/ps.w.org\/pir-site-structure-mapper\/assets\/screenshot-4.png?rev=3532312","caption":"Widget Areas \u2014 registered sidebars and active widgets (classic themes)"},{"src":"https:\/\/ps.w.org\/pir-site-structure-mapper\/assets\/screenshot-5.png?rev=3532312","caption":"Live crawl \u2014 HTTP-based site discovery with link verification"}],"raw_content":"<!--section=description-->\n<p>PIR Site Structure Mapper gives you a complete visual map of how your WordPress site is structured. It reads your theme's templates, pages, navigation menus, and content links, then presents everything in an interactive dashboard so you can understand and manage your site architecture at a glance.<\/p>\n\n<p><strong>Works with three theme types:<\/strong><\/p>\n\n<ul>\n<li><strong>Block themes (Full Site Editing)<\/strong> \u2014 templates, template parts, patterns, block trees, and the full template hierarchy<\/li>\n<li><strong>Elementor sites<\/strong> \u2014 Theme Builder templates, saved templates, widget trees, display conditions, and navigation<\/li>\n<li><strong>Classic themes<\/strong> \u2014 PHP template files, template hierarchy resolution, widget areas, and navigation menus<\/li>\n<\/ul>\n\n<p><strong>Key features:<\/strong><\/p>\n\n<ul>\n<li><strong>Site Navigation<\/strong> \u2014 visual flow map showing how pages connect through menus, content links, and template links<\/li>\n<li><strong>Template analysis<\/strong> \u2014 see which templates exist, which pages use them, and how the template hierarchy resolves<\/li>\n<li><strong>Page inspector<\/strong> \u2014 template resolution chain, content block\/widget trees, and link analysis per page<\/li>\n<li><strong>Link health<\/strong> \u2014 internal, external, and unresolved links with live verification via HTTP HEAD requests<\/li>\n<li><strong>Live crawl<\/strong> \u2014 HTTP-based site crawling to discover pages and links as rendered<\/li>\n<li><strong>Widget areas<\/strong> (classic themes) \u2014 registered sidebars and their active widgets<\/li>\n<li><strong>Plugin routes<\/strong> \u2014 custom post types, taxonomies, and special pages registered by plugins<\/li>\n<li><strong>Guard system<\/strong> \u2014 configurable safety limits prevent runaway processing on large sites<\/li>\n<\/ul>\n\n<h3>Development<\/h3>\n\n<p>The full source code for this plugin is publicly available at:\nhttps:\/\/bitbucket.org\/fgauer\/wp-plugin-visual-editor\/<\/p>\n\n<h4>Source Files<\/h4>\n\n<p>The compiled files in <code>build\/<\/code> are generated from human-readable source code included in the plugin:<\/p>\n\n<ul>\n<li><code>src\/admin\/<\/code> \u2014 Admin dashboard React components and CSS (builds to <code>build\/admin.js<\/code> and <code>build\/style-admin.css<\/code>)<\/li>\n<li><code>src\/public\/<\/code> \u2014 Public-facing JS and CSS (builds to <code>build\/public.js<\/code> and <code>build\/style-public.css<\/code>)<\/li>\n<\/ul>\n\n<h4>Build Tools<\/h4>\n\n<ul>\n<li>Node.js (LTS recommended)<\/li>\n<li><code>@wordpress\/scripts<\/code> \u2014 WordPress wrapper around webpack, Babel, and PostCSS<\/li>\n<\/ul>\n\n<h4>Building from Source<\/h4>\n\n<p>To regenerate the compiled files:<\/p>\n\n<ol>\n<li>Install dependencies: <code>npm install<\/code><\/li>\n<li>Build assets: <code>npm run build<\/code><\/li>\n<li>For development with live reload: <code>npm start<\/code><\/li>\n<\/ol>\n\n<h4>Third-Party Libraries<\/h4>\n\n<p>All JavaScript dependencies are WordPress core packages (<code>@wordpress\/element<\/code>, <code>@wordpress\/api-fetch<\/code>, <code>@wordpress\/components<\/code>, etc.) loaded at runtime via the WordPress script dependency system. No third-party libraries are bundled into the compiled files.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>pir-site-structure-mapper<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the Plugins menu in WordPress<\/li>\n<li>Click \"PIR Site Structure Mapper\" in the admin sidebar to open the dashboard<\/li>\n<\/ol>\n\n<p>The plugin works immediately with no configuration required. It automatically detects your theme type (block, Elementor, or classic) and loads the appropriate data provider.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20themes%20are%20supported%3F\"><h3>Which themes are supported?<\/h3><\/dt>\n<dd><p>All three major WordPress theme types: block themes (FSE), Elementor-built sites, and classic PHP themes. The plugin detects your theme type automatically.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20modify%20my%20site%3F\"><h3>Does this plugin modify my site?<\/h3><\/dt>\n<dd><p>No. PIR Site Structure Mapper is read-only. It reads your existing theme files, templates, pages, menus, and widgets but never modifies them. The only data it stores is a version number and a welcome notice flag.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>The plugin only loads on its own admin dashboard page. It does not add any code to your public-facing site, so there is no performance impact for visitors.<\/p><\/dd>\n<dt id=\"what%20happens%20on%20very%20large%20sites%3F\"><h3>What happens on very large sites?<\/h3><\/dt>\n<dd><p>The plugin includes a guard system with configurable limits for block nesting depth, crawl page counts, and link extraction. Safety limits prevent excessive processing and are displayed in the dashboard if triggered.<\/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>Block theme (FSE) data provider \u2014 templates, patterns, pages, navigation<\/li>\n<li>Elementor data provider \u2014 Theme Builder templates, saved templates, pages, navigation<\/li>\n<li>Classic theme data provider \u2014 template files, pages, navigation, widget areas<\/li>\n<li>Site Navigation panel with live crawl and link verification<\/li>\n<li>Theme Info, Templates, Patterns, Pages, and Widget Areas panels<\/li>\n<li>Plugin routes detection (CPTs, taxonomies, special pages)<\/li>\n<li>Guard system with configurable safety limits<\/li>\n<\/ul>","raw_excerpt":"Visualize your WordPress site structure \u2014 templates, pages, navigation flow, widget areas, and link health \u2014 all in one dashboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/311120","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=311120"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/fgauer"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=311120"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=311120"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=311120"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=311120"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=311120"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=311120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}