{"id":351165,"date":"2026-10-08T04:52:49","date_gmt":"2026-10-08T04:52:49","guid":{"rendered":"https:\/\/en-ca.wordpress.org\/plugins\/metricpage-builder\/"},"modified":"2026-10-08T04:52:26","modified_gmt":"2026-10-08T04:52:26","slug":"metricpage-builder","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/metricpage-builder\/","author":10874197,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.10","stable_tag":"1.0.10","tested":"7.1.3","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"MetricPage Builder","header_author":"Yujesh K C","header_description":"A fast, schema-driven page builder with a server-side rendering (SSR) compile pipeline.","assets_banners_color":"","last_updated":"2026-10-08 04:52:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":87,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.10":{"tag":"1.0.10","author":"yujesh","date":"2026-10-08 04:52:26","revision":3733671}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.10"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The MetricPage Builder editor interface.","2":"The global settings panel for managing your design system."}},"plugin_section":[],"plugin_tags":[4121,16612,1084,9937,284942],"plugin_category":[],"plugin_contributors":[284943],"plugin_business_model":[],"class_list":["post-351165","plugin","type-plugin","status-publish","hentry","plugin_tags-blocks","plugin_tags-metric","plugin_tags-page-builder","plugin_tags-site-builder","plugin_tags-ssr","plugin_contributors-yujesh","plugin_committers-yujesh"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/metricpage-builder.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>MetricPage Builder represents a completely new way to construct WordPress pages. Instead of relying on bloated shortcodes or slow rendering pipelines, MetricPage Builder operates on a strict, schema-driven data model.<\/p>\n\n<p>This plugin proves a new architecture for page builders:\n* <strong>Sparse Documents:<\/strong> Data is stored incredibly efficiently.\n* <strong>Regenerable Compile Cache:<\/strong> Pages are compiled Server-Side (SSR) for absolute maximum performance on the frontend.\n* <strong>Thin Editor Library:<\/strong> A lightweight editor experience.\n* <strong>Fragment Canvas Updates:<\/strong> Lightning-fast UI updates.<\/p>\n\n<h3>Who is this for?<\/h3>\n\n<p><strong>For Developers &amp; Agencies:<\/strong>\nIf you are tired of the \"div soup\", slow performance, and unpredictable CSS output of traditional drag-and-drop page builders, MetricPage Builder is for you. Traditional builders often cause unexpectedly high database storage usage by saving massive amounts of metadata and bloated revision histories. MetricPage's sparse documents solve this, storing only the raw data needed. You define the exact HTML structure and CSS inside your theme, and the builder simply acts as a rigid, ultra-lightweight data-entry UI.<\/p>\n\n<p><strong>For Clients &amp; Content Creators:<\/strong>\nHave a client that barely touches the backend? MetricPage Builder provides an impossible-to-break editing experience perfect for them. Instead of navigating a massive, complex UI with padding and margin controls, users simply fill out a clean form (e.g., \"Heading\", \"Image\", \"Button text\"). The builder perfectly compiles it into the developer's approved design system, removing the learning curve entirely.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>metric-builder<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the <strong>MetricPage Builder<\/strong> plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Activate the companion <strong>Metric Theme Kit<\/strong> theme.<\/li>\n<li>Navigate to <strong>Pages<\/strong>, and click <strong>Edit with Metric<\/strong> to launch the builder.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20build%20my%20header%20and%20footer%20with%20metric%3F\"><h3>Can I build my header and footer with Metric?<\/h3><\/dt>\n<dd><p>Yes. Go to Metric \u2192 Header &amp; Footer, add a header or footer and build it in the same builder as your pages. You can create as many as you like and choose where each appears with display conditions: entire site, front page, blog page, search, 404, author\/date archives, all singular content, a post type (all or specific items), all archives, a post type archive, or a taxonomy (all or specific terms). Exclude rules win; otherwise the most specific match wins, and ties go to the most recently updated part. Pages with no match keep your theme's default.<\/p>\n\n<p>Your theme needs to print the part where it outputs its header or footer:<\/p>\n\n<pre><code>&lt;?php if ( ! function_exists( 'metric_builder_part' ) || ! metric_builder_part( 'header' ) ) { get_template_part( 'header-default' ); } ?&gt;\n<\/code><\/pre>\n\n<p>Themes can declare <code>add_theme_support( 'metric-site-parts' );<\/code> and seed their own header\/footer components with the <code>metric_site_part_seed<\/code> filter.<\/p><\/dd>\n<dt id=\"does%20this%20replace%20the%20block%20editor%20%28gutenberg%29%3F\"><h3>Does this replace the Block Editor (Gutenberg)?<\/h3><\/dt>\n<dd><p>Yes, MetricPage Builder acts as a complete alternative to the default editor on the pages you choose to edit with it.<\/p><\/dd>\n<dt id=\"where%20is%20the%20data%20stored%3F\"><h3>Where is the data stored?<\/h3><\/dt>\n<dd><p>The raw schema data is stored efficiently in post meta. The compiled SSR output is held in a regenerable cache (object cache, transient, or a file under <code>uploads\/metricpage-builder\/<\/code>) and injected into the page through a <code>the_content<\/code> filter, so your site remains unbelievably fast.<\/p>\n\n<p>Note: the compiled HTML is not written back into the <code>post_content<\/code> column. Plugins that analyse the raw column directly (for example some SEO content analysers) will not see the rendered body.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Changed: Default Single Post template layout order updated to Title -&gt; Meta -&gt; Featured Image -&gt; Content -&gt; Author Box -&gt; Related Posts.<\/li>\n<li>Layout: Added container padding to <code>.metric-single<\/code> and centered <code>.metric-single-image<\/code> with clean responsive max-width containment.<\/li>\n<li>Fix: Eliminated PHP undefined array key notices in <code>PostBlocks.php<\/code> when image shape or content width attributes are omitted.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>New: Single Post templates. Design how blog posts look in the Metric builder (Metric \u2192 Theme Parts \u2192 Single Posts) and choose which posts use each template. A ready-made default layout is included. Works with block and classic themes.<\/li>\n<li>New: Post Title, Featured Image, Post Meta, Post Content and Author Box blocks, filled in for the post being viewed.<\/li>\n<li>New: Author Box with social links. Authors add Facebook, X, Instagram, LinkedIn, YouTube and TikTok links under Users \u2192 Profile.<\/li>\n<li>New: Post List can show posts related to the current post (same category).<\/li>\n<li>Changed: Metric \u2192 Header &amp; Footer is now Metric \u2192 Theme Parts.<\/li>\n<li>Fix: Post List grids show one column on phones, and pagination links point to the right page.<\/li>\n<li>Fix: Post blocks stay empty on non-post pages; post embeds keep WordPress's embed view; caches rebuild after security salts change.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>New: Post List block. Show posts (or any public post type) in a grid or list, filtered by category and tag, with order, count, show\/hide options and pagination. New posts appear without republishing the page.<\/li>\n<li>Security: Shortcode markers in compiled pages are now signed, so marker text typed into content can never run a shortcode.<\/li>\n<li>Developers: <code>metric_register_dynamic_block()<\/code> registers blocks rendered on every request; select fields accept <code>enumLabels<\/code>.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Security: All front-end output, including shortcode output, is filtered with wp_kses before it is returned to the_content. Form elements are allowed so shortcode forms keep working; the list can be extended with the <code>metric_front_allowed_html<\/code> filter.<\/li>\n<li>Security: Settings inputs are sanitized field by field as they are read.<\/li>\n<li>Fix: Publishing a header or footer from the Header &amp; Footer list now publishes the latest builder changes.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Fix: Opening a page in the builder no longer changes the live page.<\/li>\n<li>Fix: Autosaves are stored as a draft; visitors see changes only after Publish. Preview shows the draft.<\/li>\n<li>Fix: Shortcode output such as forms is no longer stripped on pages, headers and footers.<\/li>\n<li>Security: Free-form shortcodes and page structure changes (including nested components) are enforced server-side by capability.<\/li>\n<li>Security: Builder document endpoints only accept supported post types; image paths can no longer resolve outside the uploads\/content folders.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>New: Metric \u2192 Header &amp; Footer. Build multiple headers and footers in the Metric builder and choose where each appears with Elementor-style display conditions. Includes new Site Header and Site Footer components. Replaces the removed file editor.<\/li>\n<li>Security: Removed the Header &amp; Footer file editor; the plugin no longer writes to theme or plugin folders.<\/li>\n<li>Security: The builder screen now checks edit permission for the page and requires a nonce before converting a page to Metric.<\/li>\n<li>Security: Publishing now requires the page type's own publish capability.<\/li>\n<li>Compiled cache and optimized images are stored in uploads\/metricpage-builder\/.<\/li>\n<li>Admin CSS and JavaScript are loaded as enqueued files instead of inline tags.<\/li>\n<li>Removed Google Fonts from the editor canvas; the canvas uses your theme's fonts.<\/li>\n<li>Removed site-specific defaults from Settings.<\/li>\n<li>Added uninstall cleanup for plugin settings, capabilities and cache files.<\/li>\n<li>New: Use Metric on Posts as well as Pages (filterable with <code>metric_supported_post_types<\/code>).<\/li>\n<li>New: WordPress's post-locking now protects the builder, so two people can no longer silently overwrite each other's edits to the same page or header\/footer.<\/li>\n<li>New: Undo\/redo in the builder (Ctrl\/Cmd+Z, Ctrl\/Cmd+Shift+Z).<\/li>\n<li>New: Container component \u2014 group components into a responsive grid (columns can differ on desktop\/tablet\/mobile), with drag-and-drop nesting in the Page Structure sidebar and on the canvas, and a full Style tab (background color\/image\/gradient, padding, margin, border, shadow, alignment).<\/li>\n<li>Fix: the editor canvas now shows every built-in component's real styling while you edit (it previously loaded only the active theme's CSS, not the plugin's own).<\/li>\n<li>Fix: <code>&lt;style&gt;<\/code> blocks shipped by theme-kit components were being stripped down to their bare CSS text and printed visibly on the page; also fixes any <code>--custom-property<\/code> inside them being corrupted into <code>&amp;#8211;<\/code> characters.<\/li>\n<li>The Container's settings are now grouped into collapsible, Elementor-style sections (Layout, Background, Text, Border &amp; shadow) plus a dedicated Advanced tab for spacing \u2014 instead of one long flat list.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Universal Plugin Components: Bundled 5 built-in core starter components (metric_hero, metric_text, metric_cards, metric_cta, metric_faq) and core-components.css so MetricPage Builder is 100% ready to use out-of-the-box on any WordPress theme.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Dynamic Drop Indicators: Real-time top\/bottom position calculation during section dragging with blue indicator lines and centered badges on live iframe canvas and sidebar list.<\/li>\n<li>Section Card Redesign: Overhauled structure sidebar section cards with modern white cards, subtle borders, elevated shadows, section type SVG icon badges, left-accent border indicators for active items, 6-dot drag handles, and interactive red trash icons.<\/li>\n<li>Component Search UI: Upgraded component search input with inner SVG search icon, focus ring outline, and smooth background transitions.<\/li>\n<li>Drag &amp; Drop Reordering: Removed legacy up\/down arrow buttons in favor of drag-and-drop section reordering and in-between drop insertion.<\/li>\n<li>Import &amp; Export UI: Reduced visual noise of Export and Import buttons in toolbar header using a subtle ghost button style.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Default Sections Tab: Editor opens with the Sections (Structure) tab active by default.<\/li>\n<li>Page Import \/ Export: Full page schema JSON export and import capabilities in editor toolbar.<\/li>\n<li>WordPress 7.1 Compatibility: Updated tested compatibility header to 7.1.<\/li>\n<li>Plugin Check Compliance: Fixed PHPCS variable prefixing, input sanitization, and view template variable warnings.<\/li>\n<li>Build Package Isolation: Moved all production ZIP build artifacts to \/wp-content\/builds\/.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Global Settings Integration: Added global typography controls (H1-H6, paragraph, blockquote font sizes &amp; line heights), brand color tokens, and border radius settings.<\/li>\n<li>Compile Cache Clearance: Automatic compile cache flushing upon saving settings in WP Admin.<\/li>\n<li>Admin Bar Action: Global \"Clear Metric Cache\" action button in WordPress admin bar.<\/li>\n<li>Font Unit Presets: Quick font size unit preset toggles (px, rem, fluid) and auto-sanitization.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release of MetricPage Builder featuring schema-driven data model, SSR compile pipeline, thin editor library, and regenerable SSR compile cache.<\/li>\n<\/ul>","raw_excerpt":"A lightning-fast, schema-driven page builder featuring a Server-Side Rendering (SSR) compile pipeline.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351165","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=351165"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/yujesh"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351165"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351165"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351165"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351165"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351165"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}