{"id":363776,"date":"2026-09-21T13:14:48","date_gmt":"2026-09-21T13:14:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pilotdeck-connector\/"},"modified":"2026-09-21T13:14:16","modified_gmt":"2026-09-21T13:14:16","slug":"pilotdeck-connector","status":"publish","type":"plugin","link":"https:\/\/kir.wordpress.org\/plugins\/pilotdeck-connector\/","author":18711191,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.1","stable_tag":"1.2.1","tested":"7.1.2","requires":"5.7","requires_php":"7.4","requires_plugins":null,"header_name":"Pilotdeck Connector","header_author":"Pilotdeck","header_description":"Connects this site to Pilotdeck, an SEO content platform, so Pilotdeck can publish posts here \u2014 with the SEO meta (Yoast, Rank Math, AIOSEO, SEOPress) and FAQ schema that WordPress's REST API discards. Requires a Pilotdeck account.","assets_banners_color":"5e698c","last_updated":"2026-09-21 13:14:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pilotdeck.co","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":57,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.1":{"tag":"1.2.1","author":"aveosoft","date":"2026-09-21 13:14:16","revision":3705649}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3705649,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3705649,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3705649,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3705649,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3705649,"resolution":"1","location":"assets","locale":"","width":1400,"height":913},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3705649,"resolution":"2","location":"assets","locale":"","width":1400,"height":913}},"screenshots":{"1":"Settings \u2192 Pilotdeck. The Integration Key is generated on your own site; copy it once and paste it into Pilotdeck.","2":"The Plugins screen, with a direct Settings link and a prompt explaining what to do next after activation."}},"plugin_section":[],"plugin_tags":[2016,181641,178627,1117,186],"plugin_category":[55],"plugin_contributors":[281846],"plugin_business_model":[],"class_list":["post-363776","plugin","type-plugin","status-publish","hentry","plugin_tags-auto-publish","plugin_tags-content-automation","plugin_tags-faq-schema","plugin_tags-schema","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-aveosoft","plugin_committers-aveosoft"],"banners":{"banner":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/banner-772x250.png?rev=3705649","banner_2x":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/banner-1544x500.png?rev=3705649","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/icon-128x128.png?rev=3705649","icon_2x":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/icon-256x256.png?rev=3705649","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/screenshot-1.png?rev=3705649","caption":"Settings \u2192 Pilotdeck. The Integration Key is generated on your own site; copy it once and paste it into Pilotdeck."},{"src":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/screenshot-2.png?rev=3705649","caption":"The Plugins screen, with a direct Settings link and a prompt explaining what to do next after activation."}],"raw_content":"<!--section=description-->\n<p>If you have ever published to WordPress from an external tool and found the SEO fields\nempty afterwards \u2014 no meta description, no focus keyword, no canonical \u2014 this plugin\nexists for that exact problem.<\/p>\n\n<p>Pilotdeck Connector publishes content from <a href=\"https:\/\/pilotdeck.co\">Pilotdeck<\/a> into this\nWordPress site with the meta title, meta description, focus keyword, canonical URL and\nFAQ structured data all intact, written into whichever SEO plugin you already use.<\/p>\n\n<p><strong>Why a plugin is needed at all<\/strong><\/p>\n\n<p>WordPress core already exposes <code>\/wp\/v2\/posts<\/code>, so creating a post remotely needs no\nplugin. What core cannot do is write SEO meta. Yoast, Rank Math, All in One SEO and\nSEOPress store their fields as post meta that is not registered with <code>show_in_rest<\/code>,\nso core accepts the request, returns <code>201 Created<\/code>, and discards those fields without\nan error. For an SEO workflow that is a broken publish, not a partial one.<\/p>\n\n<p>This plugin closes that single gap. Its surface is deliberately small.<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li>Creates and updates posts sent from your Pilotdeck account.<\/li>\n<li>Writes meta title, meta description and focus keyword to whichever supported SEO\nplugin is installed \u2014 Yoast SEO, Rank Math, All in One SEO or SEOPress. If none is\ninstalled, posts still publish normally.<\/li>\n<li>Writes the canonical URL for Yoast, Rank Math and SEOPress.<\/li>\n<li>Outputs FAQPage (<code>schema.org<\/code>) structured data in the page head, which SEO plugins\ndo not generate because they cannot infer questions and answers from prose.<\/li>\n<li>Sets the featured image from a remote URL, including images served by CDNs from\npaths with no file extension.<\/li>\n<li>Assigns categories and tags, creating any that do not already exist.<\/li>\n<li>Honours a future publish date by scheduling the post rather than publishing it.<\/li>\n<\/ul>\n\n<p><strong>How connecting works<\/strong><\/p>\n\n<p>On activation the plugin generates a random 48-character key and stores it on your\nsite. Settings \u2192 Pilotdeck shows an Integration Key that packs your site address and\nthat key together, so you paste one value into Pilotdeck instead of two. You can\nregenerate the key at any time, which immediately stops any previous copy from working.<\/p>\n\n<p>Requests arrive over your site's REST API and must present that key. Nothing else can\npublish through this plugin.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin is a connector for <strong>Pilotdeck<\/strong> (https:\/\/pilotdeck.co), a paid third-party\ncontent and SEO platform from Aveo Software. The plugin is not useful on its own \u2014 it\nexists so that a Pilotdeck account can publish into this site.<\/p>\n\n<p><strong>How data flows<\/strong><\/p>\n\n<p>The plugin does <strong>not<\/strong> send your site's content, credentials or visitor data anywhere.\nIt does not phone home, collect analytics, or contact Pilotdeck on its own. It only\nlistens.<\/p>\n\n<p>Pilotdeck connects <em>inbound<\/em> to your site's REST API and sends the content you have\nasked it to publish. When it does, the plugin returns:<\/p>\n\n<ul>\n<li>the created or updated post ID, its public URL and status;<\/li>\n<li>your site name, site URL and WordPress version;<\/li>\n<li>which SEO plugin is installed, and the user ID configured as the post author.<\/li>\n<\/ul>\n\n<p>That information is returned only in response to a request that already carries your\nIntegration Key, and only to whoever made that request.<\/p>\n\n<p><strong>One outbound request<\/strong><\/p>\n\n<p>When a publish request includes a featured image URL, your site downloads that image\nso it can be added to your media library. The request goes to whatever host that image\nis on \u2014 normally Pilotdeck's own storage or your image CDN. No other outbound requests\nare made.<\/p>\n\n<p><strong>Terms and privacy<\/strong><\/p>\n\n<ul>\n<li>Pilotdeck: https:\/\/pilotdeck.co<\/li>\n<li>Terms of Service: https:\/\/pilotdeck.co\/terms<\/li>\n<li>Privacy Policy: https:\/\/pilotdeck.co\/privacy<\/li>\n<\/ul>\n\n<p>By connecting this site to Pilotdeck you are subject to those terms. A Pilotdeck account\nis required to use this plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to <strong>Settings \u2192 Pilotdeck<\/strong>.<\/li>\n<li>Copy the Integration Key.<\/li>\n<li>In Pilotdeck, go to <strong>Integrations \u2192 WordPress<\/strong> and paste the key. There is nothing\nelse to fill in \u2014 the key already contains this site's address.<\/li>\n<\/ol>\n\n<p>Serve your site over HTTPS. The settings screen warns you if it is not, because the key\nwould otherwise travel in clear text.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20pilotdeck%20account%3F\"><h3>Do I need a Pilotdeck account?<\/h3><\/dt>\n<dd><p>Yes. The plugin is a connector; it does nothing without a Pilotdeck account sending\ncontent to it.<\/p><\/dd>\n<dt id=\"i%20installed%20this%20without%20a%20pilotdeck%20account.%20what%20happens%3F\"><h3>I installed this without a Pilotdeck account. What happens?<\/h3><\/dt>\n<dd><p>Nothing. The plugin generates a key, adds one settings screen, and waits. It does not\nalter your posts, your theme, your database beyond two options, or your site's front end\nuntil a connected Pilotdeck account publishes something. You can deactivate and delete it\nand the site is exactly as it was. If you want to see what it would publish, there is an\noverview at https:\/\/pilotdeck.co.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20seo%20plugin%3F\"><h3>Do I need an SEO plugin?<\/h3><\/dt>\n<dd><p>No. Posts publish normally either way. If Yoast SEO, Rank Math, All in One SEO or\nSEOPress is installed, the plugin also fills in the SEO fields. If none is installed,\nthere is simply nowhere for a meta description to go.<\/p><\/dd>\n<dt id=\"where%20is%20the%20integration%20key%20stored%3F\"><h3>Where is the Integration Key stored?<\/h3><\/dt>\n<dd><p>In your site's options table, like any other WordPress setting. It is generated on your\nsite and never transmitted by the plugin. Treat it like a password: anyone holding it\ncan publish to your site.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20regenerate%20the%20key%3F\"><h3>What happens if I regenerate the key?<\/h3><\/dt>\n<dd><p>The previous key stops working immediately, everywhere it was pasted. Publishing resumes\nonce you paste the new key into Pilotdeck.<\/p><\/dd>\n<dt id=\"can%20pilotdeck%20overwrite%20my%20existing%20pages%20or%20posts%3F\"><h3>Can Pilotdeck overwrite my existing pages or posts?<\/h3><\/dt>\n<dd><p>No. Updates are only ever applied to posts this plugin created on this site. A request\nthat points at anything else \u2014 a page, or a post written by a human \u2014 is refused rather\nthan overwritten.<\/p><\/dd>\n<dt id=\"i%20pasted%20a%20valid%20key%20and%20still%20get%20an%20authentication%20error.\"><h3>I pasted a valid key and still get an authentication error.<\/h3><\/dt>\n<dd><p>Some servers, mainly Apache running PHP over CGI or FastCGI, strip the <code>Authorization<\/code>\nheader before WordPress sees it. The plugin checks the standard fallback used by those\nsetups and also accepts an <code>X-Pilotdeck-Key<\/code> header. If it still fails, ask your host to\npass the <code>Authorization<\/code> header through to PHP.<\/p><\/dd>\n<dt id=\"what%20is%20removed%20when%20i%20delete%20the%20plugin%3F\"><h3>What is removed when I delete the plugin?<\/h3><\/dt>\n<dd><p>Both of its options and the post meta it wrote. Your posts, images, categories and tags\nare left untouched \u2014 they belong to your site.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.1<\/h4>\n\n<p>First public release on WordPress.org.<\/p>\n\n<ul>\n<li>Publishes posts sent from Pilotdeck, with meta title, meta description, focus keyword\nand canonical URL written to Yoast SEO, Rank Math, All in One SEO or SEOPress.<\/li>\n<li>Emits FAQPage structured data in the page head.<\/li>\n<li>Sets the featured image from a remote URL, including CDN paths with no file extension.<\/li>\n<li>Assigns categories and tags, and schedules future-dated posts.<\/li>\n<li>Restricts updates to posts this plugin created, so a stale post ID cannot overwrite\nunrelated content.<\/li>\n<li>Works on hosts that strip the <code>Authorization<\/code> header, via the standard fallback and an\n  X-Pilotdeck-Key alternative.<\/li>\n<li>Removes its options and post meta when the plugin is deleted.<\/li>\n<\/ul>","raw_excerpt":"Publish content from Pilotdeck into WordPress with the SEO meta and FAQ schema that the core REST API silently discards.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/363776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=363776"}],"author":[{"embeddable":true,"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aveosoft"}],"wp:attachment":[{"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=363776"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=363776"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=363776"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=363776"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=363776"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=363776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}