{"id":257731,"date":"2026-03-01T14:39:18","date_gmt":"2026-03-01T14:39:18","guid":{"rendered":"https:\/\/en-gb.wordpress.org\/plugins\/metronyx-headless-cms-connector\/"},"modified":"2026-03-01T15:26:50","modified_gmt":"2026-03-01T15:26:50","slug":"metronyx-headless-cms-connector","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/metronyx-headless-cms-connector\/","author":23388458,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Metronyx Headless CMS Connector","header_author":"Arielle Phoenix","header_description":"Easy-to-use headless CMS connector for Next.js, React, and other frontend frameworks. Provides clean REST API endpoints for posts, pages, categories, and tags with CORS support and auto-revalidation.","assets_banners_color":"7f8396","last_updated":"2026-03-01 15:26:50","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/metronyx.co.uk","header_author_uri":"https:\/\/ariellephoenix.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":200,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"ariellejphoenix","date":"2026-03-01 15:26:50"}},"upgrade_notice":{"1.0.4":"<p>Plugin Check compliance: content rendering pipeline and meta_query annotation.<\/p>","1.0.3":"<p>Review compliance: Plugin URI fix, wp_enqueue compliance, AJAX action prefix fix.<\/p>","1.0.2":"<p>Review compliance update: contributor username fix, Plugin URI fix, and explicit permission_callback documentation.<\/p>","1.0.1":"<p>Security and compliance fixes for WordPress Plugin Check.<\/p>","1.0.0":"<p>Initial release of Metronyx Headless CMS Connector.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3472123,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3472123,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3472319,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3472319,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3472319,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3472319,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3472319,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"Main dashboard showing connection status and available endpoints","2":"Setup &amp; configuration page for frontend URL and CORS settings","3":"Complete API documentation with usage examples","4":"Post\/page meta boxes for SEO and content settings"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[181897,141196,211409,52651,23853],"plugin_category":[],"plugin_contributors":[256854],"plugin_business_model":[],"class_list":["post-257731","plugin","type-plugin","status-publish","hentry","plugin_tags-decoupled","plugin_tags-headless","plugin_tags-nextjs","plugin_tags-react","plugin_tags-rest-api","plugin_contributors-ariellejphoenix","plugin_committers-ariellejphoenix"],"banners":{"banner":"https:\/\/ps.w.org\/metronyx-headless-cms-connector\/assets\/banner-772x250.png?rev=3472319","banner_2x":"https:\/\/ps.w.org\/metronyx-headless-cms-connector\/assets\/banner-1544x500.png?rev=3472319","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/metronyx-headless-cms-connector\/assets\/icon-128x128.png?rev=3472123","icon_2x":"https:\/\/ps.w.org\/metronyx-headless-cms-connector\/assets\/icon-256x256.png?rev=3472123","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/metronyx-headless-cms-connector\/assets\/screenshot-1.png?rev=3472319","caption":"Main dashboard showing connection status and available endpoints"},{"src":"https:\/\/ps.w.org\/metronyx-headless-cms-connector\/assets\/screenshot-2.png?rev=3472319","caption":"Setup &amp; configuration page for frontend URL and CORS settings"},{"src":"https:\/\/ps.w.org\/metronyx-headless-cms-connector\/assets\/screenshot-3.png?rev=3472319","caption":"Complete API documentation with usage examples"}],"raw_content":"<!--section=description-->\n<p><strong>Metronyx Headless CMS Connector<\/strong> provides a clean, secure REST API to connect your WordPress content with any frontend framework. Perfect for developers building modern web applications with Next.js, React, Vue, Angular, or any other frontend technology.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Clean REST API<\/strong> - Simple endpoints for posts, pages, and content<\/li>\n<li><strong>Advanced Content Delivery<\/strong> - Optimized for modern headless CMS implementations<\/li>\n<li><strong>CORS Support<\/strong> - Configured for secure frontend framework connections<\/li>\n<li><strong>Framework Agnostic<\/strong> - Works with Next.js, React, Vue, Angular, and any frontend<\/li>\n<li><strong>SEO Optimized<\/strong> - Built-in meta fields and structured data for better search performance<\/li>\n<li><strong>Enterprise Security<\/strong> - Built-in security features, input validation, and rate limiting<\/li>\n<li><strong>Complete Documentation<\/strong> - Built-in API docs and usage examples<\/li>\n<\/ul>\n\n<h4>Security Features<\/h4>\n\n<p>This plugin has been thoroughly audited and includes:<\/p>\n\n<ul>\n<li>Input validation and sanitization<\/li>\n<li>CSRF protection with nonce verification<\/li>\n<li>XSS prevention with output escaping<\/li>\n<li>Rate limiting and pagination limits<\/li>\n<li>CORS security with strict origin validation<\/li>\n<li>Path traversal protection<\/li>\n<li>Proper capability checks for admin functions<\/li>\n<\/ul>\n\n<h4>API Endpoints<\/h4>\n\n<p><strong>Posts &amp; Pages:<\/strong>\n* <code>GET \/wp-json\/metronyx-connector\/v1\/posts<\/code> - All posts with pagination\n* <code>GET \/wp-json\/metronyx-connector\/v1\/posts\/{slug}<\/code> - Single post by slug\n* <code>GET \/wp-json\/metronyx-connector\/v1\/posts\/featured<\/code> - Featured posts only\n* <code>GET \/wp-json\/metronyx-connector\/v1\/pages<\/code> - All pages\n* <code>GET \/wp-json\/metronyx-connector\/v1\/pages\/{slug}<\/code> - Single page by slug<\/p>\n\n<p><strong>Categories &amp; Tags:<\/strong>\n* <code>GET \/wp-json\/metronyx-connector\/v1\/categories<\/code> - All categories\n* <code>GET \/wp-json\/metronyx-connector\/v1\/tags<\/code> - All tags<\/p>\n\n<p><strong>Coming Soon:<\/strong>\n* Advanced e-commerce endpoints (future releases)\n* Enhanced content filtering and search\n* Multi-site headless architecture support<\/p>\n\n<h4>Data Structure<\/h4>\n\n<p>Each post\/page includes:\n* Basic content (title, slug, content, excerpt)\n* SEO metadata (title, description, canonical URL)\n* Featured images with multiple sizes\n* Categories and tags\n* Author information\n* Custom meta fields<\/p>\n\n<p>Future releases will include:\n* Advanced content filtering and search capabilities\n* Enhanced SEO metadata and structured data\n* Multi-language content support\n* Custom post type integration\n* Performance analytics and insights<\/p>\n\n<h4>Usage Example<\/h4>\n\n<pre><code>\/\/ Fetch all posts\nconst posts = await fetch('\/wp-json\/metronyx-connector\/v1\/posts')\n  .then(res =&gt; res.json());\n\n\/\/ Fetch single post\nconst post = await fetch('\/wp-json\/metronyx-connector\/v1\/posts\/your-post-slug')\n  .then(res =&gt; res.json());\n\n\/\/ Next.js example\nexport async function getStaticProps({ params }) {\n  const post = await fetch(`${process.env.WORDPRESS_API_URL}posts\/${params.slug}`)\n    .then(res =&gt; res.json());\n\n  return { props: { post } };\n}\n<\/code><\/pre>\n\n<h3>Professional Services<\/h3>\n\n<p>Running a headless WordPress setup means your SEO, performance, and content pipeline all need to work together. Metronyx specializes in WordPress-powered businesses and can help with:<\/p>\n\n<ul>\n<li><strong>Headless CMS Architecture<\/strong> - Custom REST API design, frontend-backend decoupling, and deployment pipelines for Next.js, React, or Vue<\/li>\n<li><strong>AI SEO &amp; Answer Engine Optimization (AEO)<\/strong> - Get your WordPress content surfaced in AI search results from ChatGPT, Perplexity, and Google AI Overviews<\/li>\n<li><strong>Performance &amp; Caching<\/strong> - Server-side rendering optimization, CDN configuration, and API response caching for sub-second page loads<\/li>\n<li><strong>Custom API Development<\/strong> - Bespoke endpoints for WooCommerce, ACF, custom post types, and third-party integrations<\/li>\n<li><strong>SEO for Headless WordPress<\/strong> - Structured data, meta tag management, sitemap generation, and crawl optimization for decoupled sites<\/li>\n<li><strong>Multi-site &amp; Enterprise<\/strong> - Manage multiple headless WordPress properties from a single admin with shared content APIs<\/li>\n<\/ul>\n\n<p>Learn more at <a href=\"https:\/\/metronyx.co.uk\">metronyx.co.uk<\/a> or <a href=\"https:\/\/metronyx.co.uk\/free-tools\">get a free SEO audit<\/a>.<\/p>\n\n<h3>Developer<\/h3>\n\n<p>Built and maintained by <strong>Arielle Phoenix<\/strong> (<a href=\"https:\/\/ariellephoenix.com\">ariellephoenix.com<\/a>).\nAI SEO and headless WordPress solutions by <strong>Metronyx<\/strong> (<a href=\"https:\/\/metronyx.co.uk\">metronyx.co.uk<\/a>).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/metronyx-headless-cms-connector\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress<\/li>\n<li>Go to <strong>Headless CMS<\/strong> in your WordPress admin menu<\/li>\n<li>Configure your frontend URL and CORS settings in <strong>Headless CMS \u2192 Setup<\/strong><\/li>\n<li>Start using the API endpoints in your frontend application<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20frontend%20frameworks%20does%20this%20work%20with%3F\"><h3>What frontend frameworks does this work with?<\/h3><\/dt>\n<dd><p>This plugin works with any frontend framework that can make HTTP requests, including Next.js, React, Vue.js, Angular, Nuxt.js, Gatsby, and more.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20support%20e-commerce%3F\"><h3>Does this plugin support e-commerce?<\/h3><\/dt>\n<dd><p>E-commerce functionality is planned for future releases. Currently, the plugin focuses on content delivery for posts, pages, and taxonomies.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20secure%3F\"><h3>Is this plugin secure?<\/h3><\/dt>\n<dd><p>Yes, this plugin follows WordPress security best practices including input sanitization, output escaping, nonce verification, and proper capability checks.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20api%20responses%3F\"><h3>Can I customize the API responses?<\/h3><\/dt>\n<dd><p>The plugin provides comprehensive data in each API response. For custom modifications, you can use WordPress hooks and filters.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20up%20cors%20for%20my%20frontend%3F\"><h3>How do I set up CORS for my frontend?<\/h3><\/dt>\n<dd><p>Go to <strong>Headless CMS \u2192 Setup<\/strong> and enter your frontend URLs in the CORS Origins field (one per line).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed: Content rendering now uses get_the_content() pipeline instead of direct apply_filters for Plugin Check compliance<\/li>\n<li>Fixed: Added phpcs:ignore for meta_query usage with explanatory comment<\/li>\n<li>Improved: Content rendering includes do_blocks() support for block editor content<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed: Plugin URI changed to root domain to prevent timeout during WP.org review checks<\/li>\n<li>Fixed: Inline JavaScript migrated from raw  tag to wp_add_inline_script() for enqueue compliance<\/li>\n<li>Fixed: AJAX action renamed from dismiss_metronyx_welcome_notice to metronyx_dismiss_welcome_notice for proper prefix ordering<\/li>\n<li>Updated: Nonce action string updated to match new AJAX action name<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: Plugin URI now points to a live public page<\/li>\n<li>Fixed: Contributors field matches WordPress.org username<\/li>\n<li>Improved: Added explicit inline comments on all permission_callback declarations to clarify intentional public access for read-only published content endpoints<\/li>\n<li>Removed: Unused \"Coming Soon\" products endpoint comment<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: Added wp_unslash() to all $_POST values before sanitization<\/li>\n<li>Fixed: Escaped output variables in welcome notice (esc_attr, esc_html)<\/li>\n<li>Fixed: Added isset() check on nonce verification in dismiss handler<\/li>\n<li>Updated: Tested up to WordPress 6.9<\/li>\n<li>Updated: Tags trimmed to 5 per WordPress.org guidelines<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Clean REST API for posts, pages, categories, and tags<\/li>\n<li>CORS support for frontend frameworks<\/li>\n<li>Security features and input validation<\/li>\n<li>Admin interface with comprehensive documentation<\/li>\n<li>Custom meta fields for SEO and content settings<\/li>\n<\/ul>","raw_excerpt":"Transform your WordPress site into a powerful headless CMS for modern frontend frameworks like Next.js, React, Vue, and more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/257731","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=257731"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ariellejphoenix"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=257731"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=257731"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=257731"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=257731"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=257731"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=257731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}