[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fS_Z9cEELLNfo5sWr_GfjSX5A12n3nrW_ykSOBA86lkc":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":12,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":34,"analysis":124,"fingerprints":182},"stcw-headless-assistant","Static Cache Wrangler – Headless Assistant","2.1.0","derickschaefer","https:\u002F\u002Fprofiles.wordpress.org\u002Fderickschaefer\u002F","\u003Cp>\u003Cstrong>Static Cache Wrangler – Headless Assistant\u003C\u002Fstrong> is a companion plugin for \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fstatic-cache-wrangler\u002F\" rel=\"ugc\">Static Cache Wrangler\u003C\u002Fa> that converts cached HTML files into headless CMS-compatible formats for modern headless CMS workflows.  This plugin requires WP-CLI and is intended for developers and administrators who have good working knowledge of operating in shell environments with traditional Linux stream processing commands (e.g. sed, grep, awk, sort) and a willingness to explore the WordPress command-line interface.  This plugin enables composable, command-line interface tooling and IS NOT a point and click solution.\u003C\u002Fp>\n\u003Ch4>Testing Results\u003C\u002Fh4>\n\u003Cp>Tested on cachewrangler.com (15-page WordPress site):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>☑ \u003Cstrong>74% semantic conversion rate\u003C\u002Fstrong> – 564 blocks converted to structured content\u003C\u002Fli>\n\u003Cli>☑ \u003Cstrong>15 pages converted\u003C\u002Fstrong> successfully to Sanity format\u003C\u002Fli>\n\u003Cli>☑ \u003Cstrong>763 links preserved\u003C\u002Fstrong> with proper structure and references\u003C\u002Fli>\n\u003Cli>☑ \u003Cstrong>36 images tracked\u003C\u002Fstrong> with migration metadata\u003C\u002Fli>\n\u003Cli>☑ \u003Cstrong>14 accordions converted\u003C\u002Fstrong> semantically\u003C\u002Fli>\n\u003Cli>☑ \u003Cstrong>13 tables converted\u003C\u002Fstrong> semantically\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Top Conversion Rates Achieved:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Simple pages: 86% semantic conversion\u003Cbr \u002F>\n* Complex pages with mixed content: 74-82%\u003Cbr \u002F>\n* Ultimate test page (141 blocks, 23 different Kadence block types): 52%\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What Falls Back to HTML (requires custom hooks):\u003C\u002Fstrong>\u003Cbr \u002F>\n* Navigation menus (by design – preserves styling)\u003Cbr \u002F>\n* Advanced Kadence blocks (countdown, forms, testimonials, maps, etc.)\u003Cbr \u002F>\n* Premium block libraries (Otter, Spectra – requires additional detectors)\u003C\u002Fp>\n\u003Ch4>Extensible Architecture\u003C\u002Fh4>\n\u003Cp>Unlike hardcoded solutions, this plugin uses a \u003Cstrong>pluggable engine system\u003C\u002Fstrong> where CMS targets can be registered via filters. Ships with Sanity® CMS support (unofficial) out of the box.  It is technically feasible to target Contentful, Strapi, and others via extensions.\u003C\u002Fp>\n\u003Cp>\u003Cem>Sanity® is a registered trademark of Sanity.io. This project is not affiliated with or endorsed by Sanity.io.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Direct Sanity CMS Conversion:\u003C\u002Fstrong>\u003Cbr \u002F>\n* WordPress \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Sanity NDJSON export\u003Cbr \u002F>\n* Pattern detection for Gutenberg blocks\u003Cbr \u002F>\n* Schema generation for Sanity Studio\u003Cbr \u002F>\n* Asset tracking and manifest\u003Cbr \u002F>\n* Command: \u003Ccode>wp scw-headless convert --cms=sanity\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Smart Pattern Detection:\u003C\u002Fstrong>\u003Cbr \u002F>\n* 12 core Gutenberg patterns\u003Cbr \u002F>\n* 28 Kadence Blocks patterns\u003Cbr \u002F>\n* XPath-based detection with confidence scoring\u003Cbr \u002F>\n* Priority-based matching for nested structures\u003Cbr \u002F>\n* Pattern inheritance system\u003C\u002Fp>\n\u003Cp>\u003Cstrong>CLI-First Experience:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>wp scw-headless scan\u003C\u002Fcode> – View cached files\u003Cbr \u002F>\n* \u003Ccode>wp scw-headless analyze \u003Cfile>\u003C\u002Fcode> – Detect patterns\u003Cbr \u002F>\n* \u003Ccode>wp scw-headless convert --cms=sanity\u003C\u002Fcode> – Export to Sanity\u003Cbr \u002F>\n* \u003Ccode>wp scw-headless patterns\u003C\u002Fcode> – List registered patterns\u003Cbr \u002F>\n* \u003Ccode>wp scw-headless detectors\u003C\u002Fcode> – Show detector modules\u003Cbr \u002F>\n* \u003Ccode>wp scw-headless targets\u003C\u002Fcode> – List available CMS platforms\u003Cbr \u002F>\n* \u003Ccode>wp scw-headless info\u003C\u002Fcode> – Show plugin statistics\u003C\u002Fp>\n\u003Ch4>Future Roadmap Considerations\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Generic Portable Text Output:\u003C\u002Fstrong>\u003Cbr \u002F>\n* CMS-agnostic JSON format\u003Cbr \u002F>\n* Support for any Portable Text consumer\u003Cbr \u002F>\n* Command: \u003Ccode>wp scw-headless normalize\u003C\u002Fcode>\u003Cbr \u002F>\n* Non-WP analyzer and converter tooling\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Advanced Pattern Detection:\u003C\u002Fstrong>\u003Cbr \u002F>\n* 40+ patterns including Kadence Blocks\u003Cbr \u002F>\n* ACF field support (roadmap)\u003Cbr \u002F>\n* Page builder compatibility (roadmap)\u003Cbr \u002F>\n* Custom pattern registration\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Multi-CMS Support:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Sanity (today)\u003Cbr \u002F>\n* Strapi (horizon)\u003Cbr \u002F>\n* Contentful (horizon)\u003Cbr \u002F>\n* Payload CMS (horizon)\u003Cbr \u002F>\n* Any Portable Text consumer (roadmap)\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwp2headless.com\u002F\" rel=\"nofollow ugc\">Learn more about planned features features\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Funding Model\u003C\u002Fstrong>\u003Cbr \u002F>\n* This plugin is 100% free (true WordPress style)\u003Cbr \u002F>\n* Want to make a donation? Consider purchasing a copy of the author’s book on command-line interfaces for yourself or as a gift.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fmoderncli.dev\" rel=\"nofollow ugc\">Modern CLI Book\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Pattern Detection System\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Built-in Detector Modules:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Gutenberg Core\u003C\u002Fstrong> – 12 patterns:\u003Cbr \u002F>\n* heading, paragraph, image, gallery, video\u003Cbr \u002F>\n* list (ordered\u002Funordered), quote, code\u003Cbr \u002F>\n* button, buttons, separator, table\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Kadence Blocks\u003C\u002Fstrong> – 28 patterns:\u003Cbr \u002F>\n* accordion, tabs, advanced_button, progress_bar\u003Cbr \u002F>\n* icon_list, infobox, countdown, rowlayout\u003Cbr \u002F>\n* column, advanced_heading, form, testimonials\u003Cbr \u002F>\n* posts, table_of_contents, google_maps, lottie\u003Cbr \u002F>\n* image, video_popup, advanced_gallery, navigation\u003Cbr \u002F>\n* icon, spacer, show_more, search, identity\u003Cbr \u002F>\n* table, vector, countup\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Extensible via Filters:\u003C\u002Fstrong>\u003Cbr \u002F>\n    \u003Ccode>php\u003Cbr \u002F>\n\u002F\u002F Register custom patterns\u003Cbr \u002F>\nadd_action('stcw_headless_patterns_loaded', function() {\u003Cbr \u002F>\n    \\STCW\\Headless\\Engine\\Detector\\PatternRegistry::register('custom_block', [\u003Cbr \u002F>\n        'selectors' => ['.my-custom-block'],\u003Cbr \u002F>\n        'extractor' => [MyExtractor::class, 'extract'],\u003Cbr \u002F>\n        'priority' => 8,\u003Cbr \u002F>\n        'confidence' => 0.95,\u003Cbr \u002F>\n    ]);\u003Cbr \u002F>\n});\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Cache your WordPress site\u003C\u002Fstrong> with Static Cache Wrangler  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scan cached files:\u003C\u002Fstrong> \u003Ccode>wp scw-headless scan\u003C\u002Fcode>  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Analyze patterns:\u003C\u002Fstrong> \u003Ccode>wp scw-headless analyze \u002Fpage\u002F\u003C\u002Fcode>  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Convert:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Free: \u003Ccode>wp scw-headless convert --cms=sanity\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Supported CMS Targets\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Included:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Sanity CMS\u003C\u002Fstrong> – Full Portable Text conversion with schema generation\u003C\u002Fp>\n\u003Ch4>Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Migrating WordPress content to headless CMS platforms  \u003C\u002Fli>\n\u003Cli>JAMstack architecture with WordPress as authoring tool  \u003C\u002Fli>\n\u003Cli>SEO component analysis\u003C\u002Fli>\n\u003Cli>UI pattern analysis\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 6.0 or higher  \u003C\u002Fli>\n\u003Cli>PHP 7.4+ (PHP 8.x fully supported)  \u003C\u002Fli>\n\u003Cli>Static Cache Wrangler 2.0.5+ (must be installed and active)  \u003C\u002Fli>\n\u003Cli>WP-CLI recommended for best experience  \u003C\u002Fli>\n\u003Cli>Pattern Library Pro for enterprise features (optional)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Pattern Analysis\u003C\u002Fh3>\n\u003Cp>File: index.html (104 KB)\u003Cbr \u002F>\nPatterns Found: 71\u003C\u002Fp>\n\u003Cp>paragraph           20  Confidence: 1.00\u003Cbr \u002F>\nheading             15  Confidence: 1.00\u003Cbr \u002F>\nseparator           14  Confidence: 1.00\u003Cbr \u002F>\nkadence_button       6  Confidence: 0.90\u003Cbr \u002F>\nkadence_accordion    2  Confidence: 0.95\u003Cbr \u002F>\n…\u003C\u002Fp>\n\u003Cp>Confidence Distribution:\u003Cbr \u002F>\n  High (≥0.95):   60\u003Cbr \u002F>\n  Medium (0.85+): 11\u003Cbr \u002F>\n  Low (\u003C0.85):     0\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Cp>\u003Ch4>How do I get support?\u003C\u002Fh4>\n\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Free users: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fderickschaefer\u002Fstcw-headless-assistant\u002Fissues\" rel=\"nofollow ugc\">GitHub Issues\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Documentation: \u003Ca href=\"https:\u002F\u002Fwp2headless.com\u002Fdocumentation\u002F\" rel=\"nofollow ugc\">wp2headless.com\u002Fdocs\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Why are some files showing as 140 B?\u003C\u002Fh4>\n\u003Cp>Static Cache Wrangler may create gzipped files or use compression. The plugin handles this automatically by reading the actual \u003Ccode>index.html\u003C\u002Fcode> files within cached directories.\u003C\u002Fp>\n\u003Ch3>Additional Information\u003C\u002Fh3>\n\u003Ch4>Architecture\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Engine Components:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Scanner\u003C\u002Fstrong> – Finds cached HTML files\u003Cbr \u002F>\n* \u003Cstrong>Normalizer\u003C\u002Fstrong> – Cleans HTML while preserving structure\u003Cbr \u002F>\n* \u003Cstrong>Pattern Registry\u003C\u002Fstrong> – Centralized pattern definitions with inheritance\u003Cbr \u002F>\n* \u003Cstrong>Pattern Detector\u003C\u002Fstrong> – XPath-based pattern matching engine\u003Cbr \u002F>\n* \u003Cstrong>Extractors\u003C\u002Fstrong> – DOM-to-data conversion functions\u003Cbr \u002F>\n* \u003Cstrong>Parser\u003C\u002Fstrong> – Orchestrates normalization \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> detection \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> extraction\u003Cbr \u002F>\n* \u003Cstrong>Converter\u003C\u002Fstrong> – Transforms to target CMS format\u003Cbr \u002F>\n* \u003Cstrong>Target Registry\u003C\u002Fstrong> – Pluggable CMS target management\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Data Flow:\u003C\u002Fstrong>\u003Cbr \u002F>\n    \u003Ccode>Cached HTML \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Normalizer \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Pattern Detector \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Extractors \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Converter \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Export\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Documentation: https:\u002F\u002Fwp2headless.com\u002Fdocumentation\u002F\u003C\u002Fli>\n\u003Cli>GitHub: https:\u002F\u002Fgithub.com\u002Fderickschaefer\u002Fstcw-headless-assistant\u003C\u002Fli>\n\u003Cli>Issues: https:\u002F\u002Fgithub.com\u002Fderickschaefer\u002Fstcw-headless-assistant\u002Fissues\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Roadmap\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>v2.2.0 (Q1 2026) – Quality Focus\u003C\u002Fstrong>\u003Cbr \u002F>\n* Improve semantic conversion to 85%+ (currently 74%)\u003Cbr \u002F>\n* Wire up remaining Kadence extractors (button, icon list, maps)\u003Cbr \u002F>\n* Enhance navigation menu handling\u003Cbr \u002F>\n* Add pattern detection validators\u003Cbr \u002F>\n* 80%+ test coverage\u003C\u002Fp>\n\u003Cp>\u003Cstrong>v2.3.0 (Q2 2026) – More Patterns\u003C\u002Fstrong>\u003Cbr \u002F>\n* Elementor widgets detection\u003Cbr \u002F>\n* Beaver Builder modules\u003Cbr \u002F>\n* ACF field mapping\u003Cbr \u002F>\n* Custom post type support\u003C\u002Fp>\n\u003Cp>\u003Cstrong>v2.5.0 (Q3 2026) – Multi-CMS\u003C\u002Fstrong>\u003Cbr \u002F>\n* TBD based on input, feedback, and demand\u003C\u002Fp>\n\u003Ch4>Contributing\u003C\u002Fh4>\n\u003Cp>Contributions welcome!\u003Cbr \u002F>\n* Additional CMS target implementations\u003Cbr \u002F>\n* Page builder detector modules\u003Cbr \u002F>\n* Pattern extraction improvements\u003Cbr \u002F>\n* Documentation and examples\u003Cbr \u002F>\n* Test coverage\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fderickschaefer\u002Fstcw-headless-assistant\u002Fblob\u002Fmain\u002FCONTRIBUTING.md\" rel=\"nofollow ugc\">Contribution Guidelines\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Privacy Policy\u003C\u002Fh4>\n\u003Cp>This plugin does not collect, store, or transmit any user data. All conversion happens locally on your WordPress installation.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Data Storage:\u003C\u002Fstrong>\u003Cbr \u002F>\n* No external API calls\u003Cbr \u002F>\n* No analytics or tracking\u003Cbr \u002F>\n* No cookies used\u003Cbr \u002F>\n* Export files stored locally in WordPress uploads directory\u003Cbr \u002F>\n* License validation (Pattern Library Pro) stored in wp_options\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>GPL v2 or later – Copyright © 2024-2025 Derick Schaefer\u003C\u002Fp>\n\u003Cp>This program is free software; you can redistribute it and\u002For modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\u003C\u002Fp>\n\u003Ch3>Third-Party Trademark Notices\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Content Management Systems:\u003C\u002Fstrong>\u003Cbr \u002F>\nSanity® is a registered trademark of Sanity.io\u003Cbr \u002F>\nContentful® is a registered trademark of Contentful GmbH\u003Cbr \u002F>\nStrapi® is a registered trademark of Strapi Solutions SAS\u003Cbr \u002F>\nBuilder.io® is a registered trademark of Builder.io, Inc.\u003Cbr \u002F>\nDatoCMS® is a registered trademark of Dato srl\u003Cbr \u002F>\nPayload CMS® is a registered trademark of Payload CMS, Inc.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WordPress Ecosystem:\u003C\u002Fstrong>\u003Cbr \u002F>\nWordPress® and Gutenberg® are registered trademarks of the WordPress Foundation\u003Cbr \u002F>\nWP-CLI® is a registered trademark of the WordPress Foundation\u003Cbr \u002F>\nKadence® and Kadence Blocks™ are trademarks of Kadence WP LLC\u003Cbr \u002F>\nElementor® is a registered trademark of Elementor Ltd.\u003Cbr \u002F>\nDivi® is a registered trademark of Elegant Themes, Inc.\u003Cbr \u002F>\nAdvanced Custom Fields® (ACF) is a registered trademark of WP Engine, Inc.\u003Cbr \u002F>\nWooCommerce® is a registered trademark of Automattic Inc.\u003Cbr \u002F>\nBeaver Builder® is a registered trademark of Beaver Builder\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Development Tools:\u003C\u002Fstrong>\u003Cbr \u002F>\nGitHub® is a registered trademark of GitHub, Inc.\u003Cbr \u002F>\nJSON™ is a trademark of JSON.org\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Content & Media:\u003C\u002Fstrong>\u003Cbr \u002F>\nYouTube® is a registered trademark of Google LLC\u003Cbr \u002F>\nLottie™ is a trademark of Airbnb, Inc.\u003Cbr \u002F>\nGoogle Maps™ is a trademark of Google LLC\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Project Attribution:\u003C\u002Fstrong>\u003Cbr \u002F>\nWP2Headless.com is owned by Derick Schaefer\u003Cbr \u002F>\nStatic Cache Wrangler is developed by Derick Schaefer\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Disclaimer:\u003C\u002Fstrong>\u003Cbr \u002F>\nThis plugin is not affiliated with, endorsed by, or sponsored by any of the trademark owners listed above. These names are referenced solely to describe compatibility, integration capabilities, or as examples of headless CMS platforms that may be used with exported content. The plugin has not been tested, approved, or certified by any of these companies or organizations.\u003C\u002Fp>\n","Convert Static Cache Wrangler HTML output to headless CMS import formats with pluggable architecture.",0,100,"2026-01-22T02:30:00.000Z","6.9.4","6.0","7.4",[18,19,20,21,22],"cms","converter","exporter","headless","sanity","https:\u002F\u002Fmoderncli.dev\u002Fcode\u002Fstcw-headless-assistant\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstcw-headless-assistant.2.1.0.zip",null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":30,"avg_security_score":31,"avg_patch_time_days":30,"trust_score":32,"computed_at":33},5,30,94,90,"2026-04-05T09:24:30.450Z",[35,54,75,93,108],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":12,"num_ratings":45,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":49,"tags":50,"homepage":51,"download_link":52,"security_score":53,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"wp-headless","WP Headless","1.0.1","Joe Bailey-Roberts","https:\u002F\u002Fprofiles.wordpress.org\u002Fsephsekla\u002F","\u003Cp>Logged in users are redirected to the editor screen for the post, while non-logged in users must log in first. This means that you can share a readable link straight to the editor, depending on your permalink settings.\u003C\u002Fp>\n\u003Cp>Good for task management or organisation resource management.\u003C\u002Fp>\n\u003Ch3>What the plugin actually does\u003C\u002Fh3>\n\u003Cp>In simple terms, the plugin removes the frontend of the WordPress site. Post permalinks go straight to the editor page, and the theme is mostly redundant.\u003C\u002Fp>\n\u003Ch3>Why would I want to do that?\u003C\u002Fh3>\n\u003Cp>This is definitely not a useful plugin for a public-facing website. Instead, this allows you to convert WordPress into a headless CMS for managing tasks, content and more, all protected by the standard user role system. You can share a post permalink with a collaborator and they will be directed straight to the editor screen.\u003C\u002Fp>\n\u003Cp>Maybe you want to go a step further and create an external application to display your WordPress content elsewhere using the API. In this case you definitely don’t want the standard WP frontend accessible!\u003C\u002Fp>\n","A lightweight plugin to disable the WP frontend experience.",300,7862,2,"2019-04-25T16:50:00.000Z","5.1.22","4.6","5.2.4",[18,21],"","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-headless.zip",85,{"slug":55,"name":56,"version":57,"author":58,"author_profile":59,"description":60,"short_description":61,"active_installs":12,"downloaded":62,"rating":12,"num_ratings":29,"last_updated":63,"tested_up_to":64,"requires_at_least":65,"requires_php":66,"tags":67,"homepage":73,"download_link":74,"security_score":12,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"frontend-view-for-headless-cms","Frontend View For Headless CMS","1.1","Dropndot Solutions","https:\u002F\u002Fprofiles.wordpress.org\u002Fdropndot\u002F","\u003Cp>Frontend View For Headless CMS is a plugin that seamlessly links your backend WordPress content, including posts, pages, custom post types, taxonomies, categories, and authors to your headless CMS frontend site. This ensures that any content in your WordPress backend are linked with your headless CMS frontend, therefore, you can easily visit the contents using visit links.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Redirects from WordPress content to the corresponding URLs on your headless CMS site.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cp>This plugin is developed by Dropndot Solutions. For more information, visit \u003Ca href=\"https:\u002F\u002Fwww.dropndot.com\u002F\" rel=\"nofollow ugc\">Dropndot Solutions\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Contact\u003C\u002Fh3>\n\u003Cp>For support or inquiries, please contact us at \u003Ca href=\"mailto:info@dropndot.com\" rel=\"nofollow ugc\">info@dropndot.com\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Like the Plugin?\u003C\u002Fh3>\n\u003Cp>If you find this plugin helpful, please leave a positive review on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffrontend-view-for-headless-cms\" rel=\"ugc\">WordPress Plugin Directory\u003C\u002Fa>\u003C\u002Fp>\n","Frontend View For Headless CMS links backend WordPress articles, pages, custom post types, taxonomies, and categories to the headless CMS site.",2239,"2025-05-09T06:04:00.000Z","6.8.5","5.0","7.2",[68,69,70,71,72],"headless-cms-wordpress","headless-frontend","next-js","react","wordpress-to-next-js","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffrontend-view-for-headless-cms\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffrontend-view-for-headless-cms.1.1.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":11,"downloaded":83,"rating":11,"num_ratings":11,"last_updated":51,"tested_up_to":14,"requires_at_least":65,"requires_php":16,"tags":84,"homepage":90,"download_link":91,"security_score":12,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":92},"atlasly-content-manager","Atlasly Content Manager","1.0.0","ashwathama","https:\u002F\u002Fprofiles.wordpress.org\u002Fashwathama\u002F","\u003Cp>Atlasly helps you build schema-driven data models inside WordPress and use them through REST API and GraphQL.\u003C\u002Fp>\n\u003Cp>Use Atlasly when you need:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Structured content types and entries\u003C\u002Fli>\n\u003Cli>API-first workflows for headless WordPress\u003C\u002Fli>\n\u003Cli>Form submission capture and data storage\u003C\u002Fli>\n\u003Cli>Import\u002Fexport for operational workflows\u003C\u002Fli>\n\u003Cli>Relationship fields and flexible schema design\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This free plugin includes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Content type builder with 20+ field types\u003C\u002Fli>\n\u003Cli>Entry management with CRUD operations\u003C\u002Fli>\n\u003Cli>REST API endpoints for content types and entries\u003C\u002Fli>\n\u003Cli>GraphQL endpoint for querying data\u003C\u002Fli>\n\u003Cli>File uploads through WordPress media library\u003C\u002Fli>\n\u003Cli>Relationship fields between entries\u003C\u002Fli>\n\u003Cli>Import\u002Fexport in CSV, JSON, and XML\u003C\u002Fli>\n\u003Cli>Setup wizard and admin dashboard\u003C\u002Fli>\n\u003Cli>Basic webhook triggers for create\u002Fupdate\u002Fdelete events\u003C\u002Fli>\n\u003C\u002Ful>\n","Schema-driven content types, entries, REST API, GraphQL, and form capture for modern WordPress projects.",179,[85,86,87,88,89],"custom-fields","form-submissions","graphql","headless-cms","rest-api","https:\u002F\u002Fgithub.com\u002FchandrakantNagpure\u002Fatlasly","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fatlasly-content-manager.1.0.0.zip","2026-03-15T10:48:56.248Z",{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":11,"downloaded":101,"rating":11,"num_ratings":11,"last_updated":102,"tested_up_to":64,"requires_at_least":65,"requires_php":16,"tags":103,"homepage":51,"download_link":107,"security_score":12,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"flotiq-sync","Flotiq Sync","1.1.0","Flotiq","https:\u002F\u002Fprofiles.wordpress.org\u002Fflotiq\u002F","\u003Cp>The purpose of this plugin is to let you fill your \u003Ca href=\"https:\u002F\u002Fflotiq.com\" rel=\"nofollow ugc\">Flotiq\u003C\u002Fa> account with your WordPress data. Thanks to this, you can take advantage of WordPress and dive into the Flotiq universe. We support automatic synchronization of the following types of content: posts, pages, media, tags, categories, authors.\u003C\u002Fp>\n\u003Cp>This plugin is relying on a 3rd party Software as a Service – \u003Ca href=\"https:\u002F\u002Fflotiq.com\" rel=\"nofollow ugc\">Flotiq\u003C\u002Fa> to store a copy of your data (posts, pages, media, tags, categories and authors) in your personal Flotiq Account. Your data will remain private. The plugin does not affect your data stored in WordPress.\u003C\u002Fp>\n\u003Cp>The Flotiq Terms and Conditions are available at \u003Ca href=\"https:\u002F\u002Fflotiq.com\u002Fflotiq-terms-of-service\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fflotiq.com\u002Fflotiq-terms-of-service\u002F\u003C\u002Fa>.\u003C\u002Fp>\n","Use this WordPress plugin to easily connect your WordPress instance to Flotiq and synchronize your data.",1180,"2025-04-24T12:39:00.000Z",[104,105,88,106],"backup","flotiq","synchronization","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fflotiq-sync.1.1.0.zip",{"slug":109,"name":110,"version":111,"author":112,"author_profile":113,"description":114,"short_description":115,"active_installs":11,"downloaded":116,"rating":11,"num_ratings":11,"last_updated":117,"tested_up_to":118,"requires_at_least":119,"requires_php":16,"tags":120,"homepage":122,"download_link":123,"security_score":53,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"headless-converter","Headless Converter","1.0.6","Atte Liimatainen","https:\u002F\u002Fprofiles.wordpress.org\u002Fattlii\u002F","\u003Cp>Converts frontend to JSON response when request is done with certain conditions.\u003C\u002Fp>\n\u003Ch3>Inspiration\u003C\u002Fh3>\n\u003Cp>After creating a bunch of headless WordPress + Web app stacks, I wanted to find a standard and a all-round solution for fetching per page information for web applications inside WordPress. Built-in rest api works fine in basic cases, but it doesn’t support querying by path. Usually this meant that for each project developers would create a custom rest endpoint which would return expected content using content type and slug parameters.\u003C\u002Fp>\n\u003Cp>WordPress has few built-in functions to retrieve content by path, \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Ffunctions\u002Furl_to_postid\u002F\" rel=\"nofollow ugc\">url_to_postid\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Ffunctions\u002Fget_page_by_path\u002F\" rel=\"nofollow ugc\">get_page_by_path\u003C\u002Fa>, but they don’t seem to work with multilanguage plugins, taxonomy or archive pages, which means that WP doesn’t have a reliable way to fetch content this way through rest api.\u003C\u002Fp>\n\u003Cp>This plugin converts frontend to JSON which seems after above solution the best way to do things, with added layer of security through application passwords (WordPress v5.6 feature) and a filter, which let’s developers alter outgoing data.\u003C\u002Fp>\n\u003Ch3>How to start using the plugin\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Install and activate this plugin in your environment\u003C\u002Fli>\n\u003Cli>Create application password for a user with administrator role\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>After above steps have been made, make a request to a page with added \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBasic_access_authentication#Client_side\" rel=\"nofollow ugc\">Authorization header\u003C\u002Fa>. See data fetching examples at the end of this documentation for more help\u003C\u002Fp>\n\u003Ch3>Modifying the output\u003C\u002Fh3>\n\u003Cp>Plugin outputs current page’s Post object or null. This can be modified using \u003Ccode>headless-converter-modify-data\u003C\u002Fcode>-filter. You can either modify passed in post object or do your own logic like in the example below.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * Modifies Headless Converter plugin's output.\n * \n * @param WPPost|null $post - Current template's post object \n *\u002F\nfunction modify_headless_converter_output($post) {\n  if(is_404()) {\n    return \"this block renders 404 page content\";\n  } else if(is_page()) {\n    return \"this block renders page post types content\";\n  } else if (is_singular('post')) {\n    return \"this block renders single post content\";\n  } else if(is_home()) {\n    return \"this block renders post archive\";\n  } else {\n    return $post;\n  }\n}\n\nadd_filter('headless-converter-modify-data', 'modify_headless_converter_output');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Data fetching examples\u003C\u002Fh3>\n\u003Ch4>Fetch\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>const username = \"admin\"\nconst password = \"1111 1111 1111 1111 1111\"\nconst url = \"http:\u002F\u002Flocalhost:3000\u002F?page_id=2\"\nconst opts = {\n  headers: {\n     'Authorization': 'Basic ' + btoa(username + \":\" + password) \n  }, \n}\nfetch(url, opts).then(r => r.json()).then(console.log)\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Axios\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>const axios = require(\"axios\")\n\nconst username = \"admin\"\nconst password = \"1111 1111 1111 1111 1111\"\nconst url = \"http:\u002F\u002Flocalhost:3000\u002F?page_id=2\"\nconst opts = {\n  auth: {\n    username,\n    password\n  }\n}\n\naxios(url, opts).then(r => r.data).then(console.log)\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Converts frontend to JSON response when request is done with certain conditions.",2653,"2022-01-28T19:15:00.000Z","5.9.13","5.6",[19,21,121],"json","https:\u002F\u002Fgithub.com\u002FAttLii\u002Fheadless-converter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fheadless-converter.1.0.6.zip",{"attackSurface":125,"codeSignals":161,"taintFlows":175,"riskAssessment":176,"analyzedAt":181},{"hooks":126,"ajaxHandlers":157,"restRoutes":158,"shortcodes":159,"cronEvents":160,"entryPointCount":11,"unprotectedCount":11},[127,133,137,142,148,153],{"type":128,"name":129,"callback":130,"file":131,"line":132},"action","admin_menu","add_submenu","admin\\class-stcw-headless-admin.php",21,{"type":128,"name":134,"callback":135,"file":131,"line":136},"admin_enqueue_scripts","enqueue_assets",22,{"type":128,"name":138,"callback":139,"file":140,"line":141},"admin_notices","stcw_headless_admin_notice_missing_scw","stcw-headless-assistant.php",83,{"type":143,"name":144,"callback":145,"priority":146,"file":140,"line":147},"filter","plugin_row_meta","stcw_headless_plugin_row_meta",10,105,{"type":128,"name":149,"callback":150,"priority":151,"file":140,"line":152},"init","stcw_headless_register_kadence_extractors",25,120,{"type":128,"name":154,"callback":155,"file":140,"line":156},"plugins_loaded","stcw_headless_init",122,[],[],[],[],{"dangerousFunctions":162,"sqlUsage":163,"outputEscaping":166,"fileOperations":173,"externalRequests":11,"nonceChecks":11,"capabilityChecks":168,"bundledLibraries":174},[],{"prepared":164,"raw":11,"locations":165},103,[],{"escaped":167,"rawEcho":168,"locations":169},58,1,[170],{"file":140,"line":171,"context":172},76,"raw output",13,[],[],{"summary":177,"deductions":178},"The \"stcw-headless-assistant\" plugin v2.1.0 exhibits a generally strong security posture based on the provided static analysis. The complete absence of identified dangerous functions, the use of prepared statements for all SQL queries, and a high percentage of properly escaped output are excellent indicators of secure coding practices.  Furthermore, the lack of known vulnerabilities and CVEs in its history suggests a well-maintained and secure plugin.  The plugin also demonstrates a very limited attack surface, with no exposed AJAX handlers, REST API routes, shortcodes, or cron events, which significantly reduces the opportunities for attackers to interact with the plugin's code.  \n\nHowever, a critical concern arises from the absence of any nonce checks across all entry points, which were identified as having 0 total entry points and 0 unprotected entry points. While the static analysis reports 0 unprotected entry points, the lack of any nonce checks, even if capability checks are present, represents a significant oversight. This could potentially leave the plugin vulnerable to Cross-Site Request Forgery (CSRF) attacks if any of its functionalities were to be triggered by external requests without proper verification.  The plugin does have one capability check, which is a positive sign, but this alone does not fully mitigate CSRF risks.  Therefore, while the plugin excels in many areas of secure coding, the missing nonce checks present a notable weakness.",[179],{"reason":180,"points":146},"Missing nonce checks on entry points","2026-03-17T07:11:02.465Z",{"wat":183,"direct":193},{"assetPaths":184,"generatorPatterns":187,"scriptPaths":188,"versionParams":190},[185,186],"\u002Fwp-content\u002Fplugins\u002Fstcw-headless-assistant\u002Fadmin\u002Fcss\u002Fadmin-style.css","\u002Fwp-content\u002Fplugins\u002Fstcw-headless-assistant\u002Fadmin\u002Fjs\u002Fadmin-script.js",[],[189],"admin\u002Fjs\u002Fadmin-script.js",[191,192],"stcw-headless-assistant\u002Fadmin\u002Fcss\u002Fadmin-style.css?ver=","stcw-headless-assistant\u002Fadmin\u002Fjs\u002Fadmin-script.js?ver=",{"cssClasses":194,"htmlComments":195,"htmlAttributes":196,"restEndpoints":197,"jsGlobals":198,"shortcodeOutput":199},[],[],[],[],[],[]]