{"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-10-07T12:30:21","modified_gmt":"2026-10-07T12:30:21","slug":"pilotdeck-connector","status":"publish","type":"plugin","link":"https:\/\/fon.wordpress.org\/plugins\/pilotdeck-connector\/","author":18711191,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"7.1.3","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":"f3f1f8","last_updated":"2026-10-07 12:30:21","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":174,"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},"1.3.0":{"tag":"1.3.0","author":"aveosoft","date":"2026-10-07 12:30:21","revision":3732574}},"upgrade_notice":{"1.3.0":"<p>Adds author support: articles from PilotDeck are credited to their real author, with Person structured data. No settings change needed.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3732574,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3732574,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3732574,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3732574,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.1","1.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3732574,"resolution":"1","location":"assets","locale":"","width":1400,"height":913},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3732574,"resolution":"2","location":"assets","locale":"","width":1400,"height":913},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3732574,"resolution":"3","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. The Default author is used for articles without an author of their own.","2":"The Plugins screen, with a direct Settings link and a prompt explaining what to do next after activation.","3":"Posts published from PilotDeck, each credited to its own author: an existing user matched by name, or an author user the plugin created."}},"plugin_section":[],"plugin_tags":[284848,2016,181641,1117,186],"plugin_category":[55],"plugin_contributors":[281846],"plugin_business_model":[],"class_list":["post-363776","plugin","type-plugin","status-publish","hentry","plugin_tags-author-schema","plugin_tags-auto-publish","plugin_tags-content-automation","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=3732574","banner_2x":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/banner-1544x500.png?rev=3732574","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/icon-128x128.png?rev=3732574","icon_2x":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/icon-256x256.png?rev=3732574","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/screenshot-1.png?rev=3732574","caption":"Settings \u2192 PilotDeck. The Integration Key is generated on your own site; copy it once and paste it into PilotDeck. The Default author is used for articles without an author of their own."},{"src":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/screenshot-2.png?rev=3732574","caption":"The Plugins screen, with a direct Settings link and a prompt explaining what to do next after activation."},{"src":"https:\/\/ps.w.org\/pilotdeck-connector\/assets\/screenshot-3.png?rev=3732574","caption":"Posts published from PilotDeck, each credited to its own author: an existing user matched by name, or an author user the plugin created."}],"raw_content":"<!--section=description-->\n<p>If you have ever published to WordPress from an external tool and found the SEO fields\nempty afterwards - no meta description, no focus keyword, no canonical, every post\ncredited to the same admin account - this plugin exists 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,\nFAQ structured data and the article's author all intact, written into whichever SEO\nplugin 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 - 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>Credits each article to its real author (new in 1.3.0) - see \"Authors\" below.<\/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>Authors (new in 1.3.0)<\/strong><\/p>\n\n<p>The authors you set up in PilotDeck now carry through to WordPress, so each article\nis credited to the person who wrote it instead of one shared account. This supports\nthe author signals (E-E-A-T) that search engines and AI answers look for.<\/p>\n\n<ul>\n<li><strong>Matched to an existing user.<\/strong> If a WordPress user who can write posts has the\nsame display name as the article's author, the post is credited to that user.<\/li>\n<li><strong>Created when missing.<\/strong> If no such user exists, the plugin creates one with the\n<strong>Author<\/strong> role, the author's name and bio, and their photo as the profile picture.\nThe account gets a random password that is never shown and a placeholder email on\nthe reserved <code>.invalid<\/code> domain, so nobody can sign in as it unless a site admin\nsets a password. You can edit, or reassign and delete, these users like any other.<\/li>\n<li><strong>Person structured data.<\/strong> A <code>schema.org<\/code> Person block describing the author\n(name, job title, bio, photo and profile links) is added to the page head of each\narticle, next to the FAQ block.<\/li>\n<li><strong>Default author as a fallback.<\/strong> Articles without an author, or any article whose\nauthor user could not be created, are credited to the user you choose under\nSettings \u2192 PilotDeck, as before.<\/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><a href=\"https:\/\/pilotdeck.co\">PilotDeck<\/a><\/strong>, a paid third-party\ncontent and SEO platform from Aveo Software. The plugin is not useful on its own - 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, including the article author's name, bio, photo URL and profile\nlinks. 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<li>which parts of the request were applied (for example, whether the post was credited\nto a matched or newly created 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>Outbound requests (images only)<\/strong><\/p>\n\n<p>When a publish request includes a featured image URL, or an author photo URL for an\nauthor user the plugin is creating, your site downloads that image so it can be added\nto your media library. The request goes to whatever host that image is on - normally\nPilotDeck's own storage or your image CDN. No other outbound requests are made.<\/p>\n\n<p><strong>Terms and privacy<\/strong><\/p>\n\n<ul>\n<li>PilotDeck website: <a href=\"https:\/\/pilotdeck.co\">pilotdeck.co<\/a><\/li>\n<li>PilotDeck <a href=\"https:\/\/pilotdeck.co\/terms\">Terms of Service<\/a><\/li>\n<li>PilotDeck <a href=\"https:\/\/pilotdeck.co\/privacy\">Privacy Policy<\/a><\/li>\n<\/ul>\n\n<p>By connecting this site to PilotDeck you agree to the <a href=\"https:\/\/pilotdeck.co\/terms\">Terms of Service<\/a> and <a href=\"https:\/\/pilotdeck.co\/privacy\">Privacy Policy<\/a>. 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 - the key already contains this site's address.<\/li>\n<li>Optional: under <strong>Settings \u2192 PilotDeck<\/strong>, pick the <strong>Default author<\/strong> used for\narticles that have no author of their own.<\/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 users, your theme, your database beyond two options, or your\nsite's front end until a connected PilotDeck account publishes something. You can\ndeactivate and delete it and the site is exactly as it was. If you want to see what it\nwould publish, there is an overview at <a href=\"https:\/\/pilotdeck.co\">pilotdeck.co<\/a>.<\/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=\"how%20does%20the%20plugin%20decide%20who%20the%20author%20of%20a%20post%20is%3F\"><h3>How does the plugin decide who the author of a post is?<\/h3><\/dt>\n<dd><p>It looks for a WordPress user who can write posts and whose display name matches the\narticle author's name in PilotDeck, ignoring upper and lower case. If it finds one, the\npost is credited to that user. If not, it creates a new user with the Author role for\nthat person. Articles with no author go to the Default author chosen on the settings\nscreen.<\/p><\/dd>\n<dt id=\"will%20it%20create%20user%20accounts%20on%20my%20site%3F\"><h3>Will it create user accounts on my site?<\/h3><\/dt>\n<dd><p>Only when PilotDeck publishes an article whose author has no matching user yet, and\nonly with the Author role, which can write and edit their own posts and nothing else.\nThe account has a random password that is never shown and a placeholder email on the\nreserved <code>.invalid<\/code> domain, so it cannot receive mail or be signed into until a site\nadmin sets a password. To avoid a new user, give an existing user the same display\nname as the author in PilotDeck before publishing.<\/p><\/dd>\n<dt id=\"an%20author%20was%20created%20twice%2C%20or%20not%20matched%20to%20my%20existing%20user.%20why%3F\"><h3>An author was created twice, or not matched to my existing user. Why?<\/h3><\/dt>\n<dd><p>Matching uses the display name exactly as written, apart from case. \"Jane Doe\" and\n\"Jane A. Doe\" are different names. Change the display name of your existing user (or\nthe author's name in PilotDeck) so they are the same, then publish again. Posts already\ncredited to the extra user can be reassigned when you delete it.<\/p><\/dd>\n<dt id=\"does%20it%20add%20author%20structured%20data%3F\"><h3>Does it add author structured data?<\/h3><\/dt>\n<dd><p>Yes. Each article with an author gets a <code>schema.org<\/code> Person block in the page head,\nbuilt by PilotDeck from the author's profile (name, job title, bio, photo and profile\nlinks). It sits alongside any Article schema your SEO plugin outputs. Re-publishing an\narticle without an author removes the block.<\/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 - a page, or a post written by a human - 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, including the FAQ and author structured\ndata, plus the profile-photo link it set on author users. Your posts, images,\ncategories, tags and users - including author users the plugin created - are left\nuntouched, because they belong to your site and are credited on published posts.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>New: articles are credited to their real author. The plugin matches an existing user\nby display name, or creates one with the Author role, name, bio and profile photo.<\/li>\n<li>New: <code>schema.org<\/code> Person structured data for the article's author in the page head.<\/li>\n<li>New: for author users it creates, the author's photo from PilotDeck becomes their\nprofile picture.<\/li>\n<li>Changed: \"Posts are authored by\" on the settings screen is now \"Default author\", the\nfallback for articles without an author.<\/li>\n<li>Changed: the name is now written PilotDeck throughout.<\/li>\n<li>Deleting the plugin now also removes the author structured data and photo links it\nstored. Users it created are kept.<\/li>\n<\/ul>\n\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, FAQ schema and author details that the core REST API silently discards.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/363776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=363776"}],"author":[{"embeddable":true,"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aveosoft"}],"wp:attachment":[{"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=363776"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=363776"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=363776"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=363776"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=363776"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fon.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=363776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}