{"id":274877,"date":"2026-02-05T15:13:03","date_gmt":"2026-02-05T15:13:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/smart-content-sync\/"},"modified":"2026-03-21T10:35:41","modified_gmt":"2026-03-21T10:35:41","slug":"smart-content-sync","status":"publish","type":"plugin","link":"https:\/\/km.wordpress.org\/plugins\/smart-content-sync\/","author":23437278,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.1","stable_tag":"1.0.1","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Smart Content Sync","header_author":"Andale Plugins","header_description":"Stop Copy-Pasting. Create Once. Sync Everywhere.","assets_banners_color":"cfd1d4","last_updated":"2026-03-21 10:35:41","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/andaleplugins.com","header_plugin_uri":"","header_author_uri":"https:\/\/www.andaleplugins.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":221,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"andaleplugins","date":"2026-02-05 15:27:56"},"1.0.1":{"tag":"1.0.1","author":"andaleplugins","date":"2026-03-21 10:35:41"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3454773,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3454773,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3454773,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3454773,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"andale\/smart-content-sync":{"apiVersion":3,"name":"andale\/smart-content-sync","title":"Smart Content","textdomain":"smart-content-sync","category":"widgets","icon":"shortcode","keywords":["smart content","shortcode","sync"],"description":"Insert a centrally managed Smart Content block that can render dynamic variables (site\/post\/product\/user\/shortcode) anywhere.","example":{"attributes":{"smartContentId":0,"attrs":{"days":"30"}}},"supports":{"html":false,"inserter":true},"attributes":{"smartContentId":{"type":"integer","default":0},"attrs":{"type":"object","default":{}},"viewMode":{"type":"string","enum":["default","minimal"],"default":"default"}},"editorScript":"smart-content-sync-smart-content-block","editorStyle":"smart-content-sync-smart-content-block-editor","style":"smart-content-sync-smart-content-block-style"}},"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[569,529,54012,203145,286],"plugin_category":[45],"plugin_contributors":[255269],"plugin_business_model":[],"class_list":["post-274877","plugin","type-plugin","status-publish","hentry","plugin_tags-automation","plugin_tags-content","plugin_tags-reusable-content","plugin_tags-smart-content","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-andaleplugins","plugin_committers-andaleplugins"],"banners":{"banner":"https:\/\/ps.w.org\/smart-content-sync\/assets\/banner-772x250.png?rev=3454773","banner_2x":"https:\/\/ps.w.org\/smart-content-sync\/assets\/banner-1544x500.png?rev=3454773","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/smart-content-sync\/assets\/icon-128x128.png?rev=3454773","icon_2x":"https:\/\/ps.w.org\/smart-content-sync\/assets\/icon-256x256.png?rev=3454773","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Smart Content Sync lets you create <strong>reusable content blocks<\/strong> and insert them consistently across posts, pages, and WooCommerce products \u2014 without copy\u2011pasting.<\/p>\n\n<p>Instead of duplicating content everywhere, you create it once as <strong>Smart Content<\/strong> and reuse it manually or automatically, while keeping a single source of truth.<\/p>\n\n<p>This plugin is designed for performance, editorial control, and long\u2011term scalability.<\/p>\n\n<h3>Development \/ Source Code<\/h3>\n\n<p>This plugin ships compiled assets in \/dist for performance.\nHuman-readable source is included in \/resources.<\/p>\n\n<p>Build instructions:\n1) npm install\n2) npm run build (or \"npm run dev\" for the dev build)<\/p>\n\n<h4>Core concepts<\/h4>\n\n<ul>\n<li>Smart Content = reusable content blocks (custom post type)<\/li>\n<li>Single rendering pipeline for frontend, editors, previews, and auto\u2011insert<\/li>\n<li>Predictable behavior with explicit rules (no magic, no surprises)<\/li>\n<\/ul>\n\n<h3>Features<\/h3>\n\n<h4>Smart Content Blocks<\/h4>\n\n<ul>\n<li>Dedicated <strong>Smart Content<\/strong> custom post type<\/li>\n<li>Centralized editing with live preview<\/li>\n<li>Internal notes for editors (never shown on frontend)<\/li>\n<\/ul>\n\n<h4>Editor Integrations<\/h4>\n\n<ul>\n<li><strong>Classic Editor<\/strong>\n\n<ul>\n<li>TinyMCE button to insert Smart Content<\/li>\n<\/ul><\/li>\n<li><strong>Gutenberg<\/strong>\n\n<ul>\n<li>Dynamic Smart Content block<\/li>\n<\/ul><\/li>\n<li><strong>Shortcodes<\/strong>\n\n<ul>\n<li><code>[smart_content id=\"123\"]<\/code><\/li>\n<li><code>[smart_content slug=\"shipping-policy\"]<\/code><\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>Auto Insert (v1.0 Free)<\/h4>\n\n<p>Automatically inject Smart Content at predefined locations.<\/p>\n\n<p>Supported locations:\n* WordPress content\n  * Prepend to content\n  * Append to content\n* WooCommerce\n  * Single product page locations<\/p>\n\n<p>Runtime guarantees:\n* WordPress:\n  * Runs on <code>is_singular()<\/code> only\n  * No archives\n* WooCommerce:\n  * Single product pages only\n* Never runs in:\n  * Admin\n  * REST requests\n  * Feeds\n  * Previews<\/p>\n\n<p>Ordering:\n* Auto\u2011inserted blocks render in <strong>Smart Content order<\/strong>\n* Ordering is stable across saves and index rebuilds<\/p>\n\n<p>Performance:\n* Uses an internal option\u2011based index\n* Avoids slow meta queries at runtime<\/p>\n\n<h4>Smart Variables<\/h4>\n\n<p>Smart Content supports context\u2011aware variables via a unified rendering pipeline.<\/p>\n\n<p>Available contexts include:\n* Site\n* Post \/ Page\n* WooCommerce product\n* Shortcode attributes<\/p>\n\n<p>Rendering is consistent across:\n* Frontend\n* Editors\n* Previews\n* Auto\u2011insert<\/p>\n\n<h4>SEO Analysis Compatibility (v1.0)<\/h4>\n\n<ul>\n<li>Smart Content manual inserts are visible to SEO analyzers<\/li>\n<li>Server-side rendering ensures analyzers see expanded HTML (not placeholders)<\/li>\n<li>Draft-aware analysis:\n\n<ul>\n<li>Unsaved editor changes are included during SEO analysis<\/li>\n<\/ul><\/li>\n<li>Supported SEO plugin:\n\n<ul>\n<li>Yoast SEO<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p>Not included in v1.0:\n* Auto Inserted Smart Content is not yet included in SEO analysis\n* Additional SEO plugins (Rank Math, AIOSEO) are planned for future releases<\/p>\n\n<h4>Permissions &amp; Safety<\/h4>\n\n<ul>\n<li>Dedicated capabilities for Smart Content<\/li>\n<li>Rendering guarded against:\n\n<ul>\n<li>Admin screens<\/li>\n<li>Feeds<\/li>\n<li>REST contexts<\/li>\n<li>SEO analysis requests<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>Settings<\/h4>\n\n<ul>\n<li>Central Settings page under <strong>Smart Content<\/strong><\/li>\n<li>Uninstall behavior option:\n\n<ul>\n<li>Optional deletion of Smart Content posts on uninstall<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Uninstall Behavior<\/h3>\n\n<p>By default, uninstalling Smart Content Sync will:\n* Remove internal caches and runtime options\n* <strong>Preserve all Smart Content posts and metadata<\/strong><\/p>\n\n<p>You may optionally enable deletion of Smart Content posts from:\n<strong>Smart Content \u2192 Settings \u2192 Uninstall<\/strong><\/p>\n\n<h3>Extensibility<\/h3>\n\n<p>Smart Content Sync exposes filters and hooks for:\n* Auto\u2011insert locations\n* Rendering behavior\n* Smart Variable contexts\n* Permissions and guards<\/p>\n\n<p>The architecture is intentionally designed to support future Pro features without breaking v1.0 behavior.<\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GPLv2 or later.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>smart-content-sync<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the Plugins menu<\/li>\n<li>Create Smart Content via <strong>Smart Content<\/strong> in the admin menu<\/li>\n<li>Insert manually or enable Auto Insert per block<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added support for the renamed Gutenberg block registration and migration from the previous block name<\/li>\n<li>Refined SEO integration and editor detection behavior for analysis previews<\/li>\n<li>Added extensibility hooks for settings sections and improved admin\/client configuration plumbing<\/li>\n<li>Updated compatibility metadata and release packaging details<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial stable release<\/li>\n<li>Smart Content custom post type<\/li>\n<li>Classic Editor and Gutenberg integrations<\/li>\n<li>Shortcode rendering by ID or slug<\/li>\n<li>Auto Insert for WordPress and WooCommerce<\/li>\n<li>Unified rendering pipeline<\/li>\n<li>Performance\u2011safe auto\u2011insert indexing<\/li>\n<li>Settings framework with uninstall control<\/li>\n<li>SEO analysis compatibility for manually inserted Smart Content (Yoast SEO)<\/li>\n<\/ul>","raw_excerpt":"Create once. Sync everywhere. Reusable content blocks for posts, pages, and WooCommerce products.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/274877","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=274877"}],"author":[{"embeddable":true,"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/andaleplugins"}],"wp:attachment":[{"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=274877"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=274877"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=274877"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=274877"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=274877"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/km.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=274877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}