{"id":321135,"date":"2026-06-23T10:07:18","date_gmt":"2026-06-23T10:07:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/vibeseo-ai-autopilot\/"},"modified":"2026-06-23T10:06:47","modified_gmt":"2026-06-23T10:06:47","slug":"vibeseo-content-connector","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/vibeseo-content-connector\/","author":23509719,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.0","stable_tag":"0.2.0","tested":"7.0","requires":"6.2","requires_php":"8.0","requires_plugins":null,"header_name":"VibeSEO Content Connector","header_author":"VibeSEO","header_description":"Connect WordPress to your VibeSEO account: publish approved articles as posts (or drafts) with full SEO meta, and sync status changes back.","assets_banners_color":"181309","last_updated":"2026-06-23 10:06:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/vibeseo.dev\/wordpress","header_author_uri":"https:\/\/vibeseo.dev","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.0":{"tag":"0.2.0","author":"vibeseodev","date":"2026-06-23 10:06:47"}},"upgrade_notice":{"0.2.0":"<p>Adds two-way status sync and publishes to WordPress when you publish in VibeSEO. See the new &quot;External services&quot;\nsection for exactly what data is exchanged.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3583046,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3583046,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3583046,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3583046,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The VibeSEO admin screen \u2014 copy your site URL and generate a permanent API key.","2":"A post received from VibeSEO, with SEO meta written to your active SEO plugin."}},"plugin_section":[],"plugin_tags":[2353,529,7143,186],"plugin_category":[55],"plugin_contributors":[268500],"plugin_business_model":[],"class_list":["post-321135","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-content","plugin_tags-publishing","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-vibeseodev","plugin_committers-vibeseodev"],"banners":{"banner":"https:\/\/ps.w.org\/vibeseo-content-connector\/assets\/banner-772x250.png?rev=3583046","banner_2x":"https:\/\/ps.w.org\/vibeseo-content-connector\/assets\/banner-1544x500.png?rev=3583046","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/vibeseo-content-connector\/assets\/icon-128x128.png?rev=3583046","icon_2x":"https:\/\/ps.w.org\/vibeseo-content-connector\/assets\/icon-256x256.png?rev=3583046","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>VibeSEO generates and approves SEO content in its own workspace, then pushes each approved post to your WordPress\nsite through this plugin. The hosted blog stays the canonical source of truth: content flows one way (VibeSEO \u2192\nWordPress), and only post status flows back so the two sides stay in sync.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Permanent API key \u2014 generate once in WP admin, paste into VibeSEO<\/li>\n<li>Publishes in WordPress when you publish in VibeSEO; optionally hold posts as drafts for review<\/li>\n<li>SEO meta written to your active plugin: Yoast, RankMath, AIOSEO, SEOPress, or Squirrly<\/li>\n<li>Featured image and inline images sideloaded into the Media Library (deduplicated by source)<\/li>\n<li>YouTube embeds preserved; JSON-LD article schema injected into post content<\/li>\n<li>Two-way status sync \u2014 status changes and deletions in WordPress report back to VibeSEO<\/li>\n<li>Non-destructive uninstall \u2014 your posts and media remain<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects your WordPress site to VibeSEO (https:\/\/vibeseo.dev), the external service where you generate\nand approve SEO content. The connection is the whole point of the plugin: VibeSEO pushes your approved articles into\nthis site, and this site reports their status back so the two stay in sync. The plugin sends nothing anywhere until\nyou generate an API key here and paste it into your VibeSEO project.<\/p>\n\n<p>What VibeSEO sends to this site: when you publish (or choose to hold as a draft) in VibeSEO, it calls this plugin's\nREST API with the article \u2014 title, HTML content, slug, excerpt, tags, SEO meta (title and description),\nfeatured-image URL, and JSON-LD schema \u2014 which the plugin saves as a WordPress post. These requests are\nauthenticated with the API key you generated.<\/p>\n\n<p>What this site sends to VibeSEO (vibeseo.dev): when a VibeSEO-created post later changes status or is deleted in\nWordPress, the plugin sends a small notification containing the connection id, the WordPress post id, the VibeSEO\npublication id, the event type (status change or deletion), the old and new post status, and a timestamp. No post\ncontent or personal data is included, and it fires only for posts VibeSEO itself created. Each notification is signed\nwith HMAC-SHA256 using a per-connection secret.<\/p>\n\n<ul>\n<li>Service: https:\/\/vibeseo.dev<\/li>\n<li>Terms of Service: https:\/\/vibeseo.dev\/terms-of-service<\/li>\n<li>Privacy Policy: https:\/\/vibeseo.dev\/privacy-policy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload to <code>\/wp-content\/plugins\/vibeseo\/<\/code> or install via the plugin directory.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <em>WP Admin \u2192 VibeSEO<\/em> and click <strong>Generate API key<\/strong>.<\/li>\n<li>Paste the site URL and key into VibeSEO \u2192 Settings \u2192 Publishing.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20vibeseo%20account%3F\"><h3>Do I need a VibeSEO account?<\/h3><\/dt>\n<dd><p>Yes. This plugin is the receiving end of VibeSEO's publishing pipeline and has no standalone function. Create a\nproject at https:\/\/vibeseo.dev, then connect this site under VibeSEO \u2192 Settings \u2192 Publishing.<\/p><\/dd>\n<dt id=\"where%20does%20my%20data%20go%3F\"><h3>Where does my data go?<\/h3><\/dt>\n<dd><p>See the \"External services\" section above. In short: VibeSEO sends articles to this site, and this site sends only\nstatus and deletion notifications (no post content) back to vibeseo.dev. Nothing is sent until you generate an API\nkey and connect a project.<\/p><\/dd>\n<dt id=\"which%20seo%20plugins%20are%20supported%3F\"><h3>Which SEO plugins are supported?<\/h3><\/dt>\n<dd><p>SEO meta (title and description) is written to whichever of these is active: Yoast SEO, Rank Math, All in One SEO\n(AIOSEO), SEOPress, or Squirrly. If none is active the post still publishes; only the dedicated meta fields are\nskipped.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20posts%20if%20i%20uninstall%20the%20plugin%3F\"><h3>What happens to my posts if I uninstall the plugin?<\/h3><\/dt>\n<dd><p>Nothing is deleted. Uninstall is non-destructive \u2014 your posts and media remain in WordPress. Only the plugin's own\nsettings (the API key hash and connection metadata) are removed.<\/p><\/dd>\n<dt id=\"will%20publishing%20in%20vibeseo%20publish%20on%20my%20site%3F\"><h3>Will publishing in VibeSEO publish on my site?<\/h3><\/dt>\n<dd><p>By default, yes: publishing in VibeSEO publishes the post here too (status parity). You can opt to always hold\nincoming posts as drafts for review from the VibeSEO connection settings. Drafts and ideas in VibeSEO are never\npushed.<\/p><\/dd>\n<dt id=\"why%20does%20the%20plugin%20read%20the%20authorization%20header%20specially%3F\"><h3>Why does the plugin read the Authorization header specially?<\/h3><\/dt>\n<dd><p>Requests from VibeSEO carry a Bearer API key. Some Apache configurations strip the Authorization header before PHP\nsees it, so the plugin also reads it back from the server environment. No extra configuration is normally required.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Publish in WordPress when published in VibeSEO (status parity); draft mode now opt-in.<\/li>\n<li>Two-way sync: report WordPress status changes and deletions back to VibeSEO via signed callbacks.<\/li>\n<li>Preserve YouTube\/iframe embeds through an iframe-aware sanitizer.<\/li>\n<li>Write SEO meta to all supported plugins (Yoast, RankMath, AIOSEO, SEOPress).<\/li>\n<li>Deduplicate sideloaded images by source URL; broaden inline-image rewriting.<\/li>\n<li>Read the Authorization header robustly on Apache setups that strip it.<\/li>\n<li>Tested up to WordPress 7.0.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Connect WordPress to your VibeSEO account: publish approved articles (as posts or drafts) with full SEO meta and two-way status sync.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/321135","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=321135"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vibeseodev"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=321135"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=321135"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=321135"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=321135"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=321135"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=321135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}