[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f8nXcNVXVM0BM04lH0O99v0MhYJq3FRqsDI8ZLzlGNN0":3,"$fD4pxr8tnb5LajIGyKQG7u46NArFLOtX7pHfPJoeLZvg":309,"$fBDlDoPnq_wIKmPchcUAwONlA3hi78wQVfqmXis3mIK4":313},{"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":21,"download_link":22,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25,"discovery_status":26,"vulnerabilities":27,"developer":28,"crawl_stats":24,"alternatives":33,"analysis":145,"fingerprints":286},"wireservice","Wireservice","1.2.0","tylrfishr","https:\u002F\u002Fprofiles.wordpress.org\u002Ftylrfishr\u002F","\u003Cp>Publish your posts and pages to the AT Protocol using the standard.site lexicons.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>PHP 8.3+\u003C\u002Fli>\n\u003Cli>WordPress 6.4+\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Setup\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Settings > Wireservice\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Connect your AT Protocol account via the OAuth flow.\u003C\u002Fli>\n\u003Cli>Configure your \u003Cstrong>Publication\u003C\u002Fstrong> settings (name, description, icon, theme colors) and sync to AT Protocol.\u003C\u002Fli>\n\u003Cli>Enable \u003Cstrong>Document\u003C\u002Fstrong> syncing and configure how post titles, descriptions, and cover images are sourced.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>How It Works\u003C\u002Fh3>\n\u003Ch3>Publication\u003C\u002Fh3>\n\u003Cp>Your WordPress site is represented as a \u003Ccode>site.standard.publication\u003C\u002Fcode> record on AT Protocol. The plugin syncs site-level metadata including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Name\u003C\u002Fstrong> &mdash; from WordPress site title, Yoast SEO, or a custom value\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Description\u003C\u002Fstrong> &mdash; from WordPress tagline, Yoast SEO, or a custom value\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Icon\u003C\u002Fstrong> &mdash; from WordPress site icon or a custom upload\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme colors\u003C\u002Fstrong> &mdash; background, foreground, accent, and accent foreground. NOTE: these are used by other ATProto platforms to style your content, not on your WordPress site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Discoverability\u003C\u002Fstrong> &mdash; opt in or out of discovery feeds. NOTE: these are used by other ATProto platforms to show your publication in algorithmic feeds, not on your WordPress site.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin also serves a \u003Ccode>.well-known\u002Fsite.standard.publication\u003C\u002Fcode> endpoint that returns the AT-URI of your publication record.\u003C\u002Fp>\n\u003Ch3>Documents\u003C\u002Fh3>\n\u003Cp>When document syncing is enabled, published posts and pages are automatically synced as \u003Ccode>site.standard.document\u003C\u002Fcode> records. Each document includes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Title and description (configurable source)\u003C\u002Fli>\n\u003Cli>Cover image (featured image, Yoast SEO image, or custom)\u003C\u002Fli>\n\u003Cli>Publication date and last-updated date\u003C\u002Fli>\n\u003Cli>Relative path (permalink)\u003C\u002Fli>\n\u003Cli>Tags and categories\u003C\u002Fli>\n\u003Cli>Optionally, full plain-text content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Documents are created on publish, updated on edit, and deleted when a post is trashed, deleted, or unpublished.\u003C\u002Fp>\n\u003Cp>A \u003Ccode>\u003Clink rel=\"site.standard.document\">\u003C\u002Fcode> tag is added to the \u003Ccode>\u003Chead>\u003C\u002Fcode> of each synced post for verification.\u003C\u002Fp>\n\u003Cp>Note that Wireservice does not have a content lexicon yet. This is in development.\u003C\u002Fp>\n\u003Ch3>Per-Post Overrides\u003C\u002Fh3>\n\u003Cp>A \u003Cstrong>Wireservice\u003C\u002Fstrong> meta box appears on the post editor, allowing per-post overrides for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Title source\u003C\u002Fli>\n\u003Cli>Description source\u003C\u002Fli>\n\u003Cli>Cover image source\u003C\u002Fli>\n\u003Cli>Whether to include full content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Yoast SEO Integration\u003C\u002Fh3>\n\u003Cp>When Yoast SEO is active, additional source options become available for both publication and document settings:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Publication\u003C\u002Fstrong>: Yoast organization name, website name, homepage meta description\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Documents\u003C\u002Fstrong>: Yoast SEO title, social title, X title, meta description, social description, X description, social image, X image\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Self-Hosting the OAuth Service\u003C\u002Fh3>\n\u003Cp>Wireservice authenticates with AT Protocol through an external OAuth service. By default it uses \u003Ccode>https:\u002F\u002Faip.wireservice.net\u003C\u002Fcode>, but you can run your own instance using \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgraze-social\u002Faip\" rel=\"nofollow ugc\">AIP\u003C\u002Fa>, a high-performance OAuth 2.1 authorization server with native AT Protocol integration.\u003C\u002Fp>\n\u003Ch3>Running AIP\u003C\u002Fh3>\n\u003Cp>AIP requires Rust 1.87+. To run locally:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>Generate an OAuth signing key with \u003Ccode>goat\u003C\u002Fcode>: \u003Ccode>goat key generate -t p256\u003C\u002Fcode>. Save the public and private keys somewhere safe.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Clone AIP: \u003Ccode>git clone https:\u002F\u002Fgithub.com\u002Fgraze-social\u002Faip.git\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Setup environment variables:\u003C\u002Fp>\n\u003Cp>\u003Ccode>EXTERNAL_BASE=https:\u002F\u002Fyour-domain.com\u003Cbr \u002F>\nDPOP_NONCE_SEED=$(openssl rand -hex 32)\u003Cbr \u002F>\nSTORAGE_BACKEND=sqlite\u003Cbr \u002F>\nATPROTO_OAUTH_SIGNING_KEYS=\u003C\u002Fcode>did:key:${YOUR_PRIVATE_KEY}\u003Ccode>OAUTH_SIGNING_KEYS=\u003C\u002Fcode>did:key:${YOUR_PRIVATE_KEY}\u003Ccode>ENABLE_CLIENT_API=true\u003Cbr \u002F>\nOAUTH_SUPPORTED_SCOPES=\"atproto:atproto atproto:repo:site.standard.publication atproto:repo:site.standard.document\u003Cbr \u002F>\natproto:blob:*\u002F*\"\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Run AIP: \u003Ccode>cargo run --bin aip\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Or with Docker:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>docker build -t aip .\u003Cbr \u002F>\ndocker run -p 8080:8080 \\\u003Cbr \u002F>\n  \u002F\u002F all of the above env vars here\u003Cbr \u002F>\n  aip\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Cp>For production, use the \u003Ccode>postgres\u003C\u002Fcode> storage backend instead of \u003Ccode>sqlite\u003C\u002Fcode>. Depending on your hosting environment, you may need to manually set the \u003Ccode>DNS_NAMESERVERS\u003C\u002Fcode> env var so that your AIP service can resolve handles properly. (Wireservice uses \u003Ccode>8.8.8.8,1.1.1.1\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Ch3>Configuring Wireservice\u003C\u002Fh3>\n\u003Cp>Once your AIP instance is running, update the OAuth Service URL in WordPress:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Settings > Wireservice\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Set the \u003Cstrong>OAuth Service URL\u003C\u002Fstrong> to your AIP instance (e.g., \u003Ccode>https:\u002F\u002Fyour-domain.com\u003C\u002Fcode>).\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>This is stored as the \u003Ccode>wireservice_oauth_url\u003C\u002Fcode> option and can also be set programmatically:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>update_option(‘wireservice_oauth_url’, ‘https:\u002F\u002Fyour-domain.com’);\u003Cbr \u002F>\n    \u003Ccode>\u003Ch3>Filters\u003C\u002Fh3>\u003C\u002Fcode>\u003Cbr \u002F>\n\u002F\u002F Customize which post types are synced (default: post, page)\u003Cbr \u002F>\nadd_filter(‘wireservice_syncable_post_types’, function ($types) {\u003Cbr \u002F>\n    $types[] = ‘custom_post_type’;\u003Cbr \u002F>\n    return $types;\u003Cbr \u002F>\n});\u003C\u002Fp>\n\u003Cp>\u002F\u002F Control whether a specific post should sync\u003Cbr \u002F>\nadd_filter(‘wireservice_should_sync_post’, function ($should_sync, $post) {\u003Cbr \u002F>\n    return $should_sync;\u003Cbr \u002F>\n}, 10, 2);\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"LICENSE.md\" rel=\"nofollow ugc\">AGPL 3.0\u003C\u002Fa>\u003C\u002Fp>\n","Publish your posts and pages to the AT Protocol using the standard.site lexicons.",0,139,"2026-03-19T21:23:00.000Z","6.9.4","6.4","8.3",[18,19,20],"atproto","bluesky","syndication","https:\u002F\u002Fwordpress.wireservice.net","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwireservice.1.2.0.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":11,"avg_security_score":23,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},1,30,94,"2026-05-20T06:55:55.312Z",[34,56,77,96,121],{"slug":35,"name":36,"version":37,"author":38,"author_profile":39,"description":40,"short_description":41,"active_installs":42,"downloaded":43,"rating":44,"num_ratings":45,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":49,"tags":50,"homepage":53,"download_link":54,"security_score":55,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"share-on-bluesky","Share on Bluesky","2.1.0","Matthias Pfefferle","https:\u002F\u002Fprofiles.wordpress.org\u002Fpfefferle\u002F","\u003Cp>“Share on Bluesky” is a WordPress plugin that allows you to automatically share new posts using your Bluesky-Profile.\u003C\u002Fp>\n","A simple Crossposter for Bluesky (AT Protocol)",200,4019,74,3,"2024-10-14T18:18:00.000Z","6.6.5","4.9","5.6",[18,51,19,52],"atprotocol","microblogging","https:\u002F\u002Fgithub.com\u002Fpfefferle\u002Fwordpress-bluesky","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fshare-on-bluesky.2.1.0.zip",92,{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":66,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":71,"tags":72,"homepage":74,"download_link":75,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":76},"neznam-atproto-share","Neznam Atproto Share","2.2.1","Marko Banušić","https:\u002F\u002Fprofiles.wordpress.org\u002Fmbanusic\u002F","\u003Cp>This plugin enables automatic posting of articles to ATProto networks like BlueSky. Also, it enables the display of comments from the ATProto network below the post as comments.\u003C\u002Fp>\n\u003Cp>The plugin adds a new section in the Settings -> Writing page where you can enter the login information for your ATProto network.\u003C\u002Fp>\n\u003Cp>A new meta box is added to the post editor where you can select weather to share the post to your ATProto network and what status to use.\u003C\u002Fp>\n\u003Cp>If no status is selected, the plugin will use the title of the post as the status.\u003C\u002Fp>\n\u003Cp>The plugin shares the post to your ATProto network when the post is published via the WordPress cron system. So make sure you have the cron system working on your WordPress installation.\u003C\u002Fp>\n\u003Cp>We recommend hooking up the cron system to a cron job on your server. You can find more information about this in the WordPress documentation.\u003C\u002Fp>\n","Automatically share to Authenticated Transfer Protocol networks like BlueSky and display comments from that network below the post as comments.",40,3306,90,4,"2025-11-28T09:19:00.000Z","6.9.0","6.0.0","8.0.0",[18,19,73],"share","https:\u002F\u002Fnezn.am\u002Fplugins\u002Fneznam-atproto-share","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fneznam-atproto-share.2.2.1.zip","2026-04-06T09:54:40.288Z",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":23,"num_ratings":29,"last_updated":87,"tested_up_to":14,"requires_at_least":88,"requires_php":89,"tags":90,"homepage":94,"download_link":95,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":76},"revive-to-sky","Revive To Sky – Post old content to Bluesky","1.1.1","Rhys Wynne","https:\u002F\u002Fprofiles.wordpress.org\u002Frhyswynne\u002F","\u003Cp>Revive To Sky is a WordPress plugin that helps you automatically share your old blog posts to \u003Ca href=\"https:\u002F\u002Fbsky.app\u002F\" rel=\"nofollow ugc\">Bluesky\u003C\u002Fa>, helping you increase traffic and engagement on your website. The plugin runs on a scheduled basis, ensuring your content reaches new audiences without manual intervention.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatically shares old blog posts to Bluesky\u003C\u002Fli>\n\u003Cli>Configurable sharing schedule\u003C\u002Fli>\n\u003Cli>Customizable post format\u003C\u002Fli>\n\u003Cli>Image support for shared posts\u003C\u002Fli>\n\u003Cli>Easy setup and configuration\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Stay Updated\u003C\u002Fh4>\n\u003Cp>Get notified about future updates and improvements by subscribing to \u003Ca href=\"https:\u002F\u002Fdwinrhys.com\u002Fnewsletter\u002F\" rel=\"nofollow ugc\">my newsletter\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>The plugin connects to the following services and uses the following API’s:-\u003C\u002Fp>\n\u003Ch4>Bluesky\u003C\u002Fh4>\n\u003Cp>This plugin connects to the Bluesky API to post messages to your Bluesky account. It will post the post title, URL to a post and a featured image, as well as any message you write, on your behalf – at intervals requested. It is needed to run the plugin.\u003C\u002Fp>\n\u003Cp>This service is provided by Bluesky Social, \u003Ca href=\"https:\u002F\u002Fbsky.social\u002Fabout\u002Fsupport\u002Fprivacy-policy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fbsky.social\u002Fabout\u002Fsupport\u002Ftos\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Mailerlite\u003C\u002Fh4>\n\u003Cp>This plugin connects to allow users to sign up for a newsletter to receive updates on the plugin from within the plugin’s option page. Should you choose to, it will collect a name and email if you fill in the clearly defined form in the plugin’s option page. The email list is a double opt in and you can unsubscribe at any time.\u003C\u002Fp>\n\u003Cp>This service is provided by Mailerlite, \u003Ca href=\"https:\u002F\u002Fwww.mailerlite.com\u002Flegal\u002Fprivacy-policy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.mailerlite.com\u002Flegal\u002Fterms-of-service\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Gravatar\u003C\u002Fh4>\n\u003Cp>This plugin connects to Gravatar to load an image of the plugin developer – Rhys Wynne – to put into the plugin’s option page.\u003C\u002Fp>\n\u003Cp>This service is provided by Gravatar, \u003Ca href=\"https:\u002F\u002Fsupport.gravatar.com\u002Fprivacy-and-security\u002Fdata-privacy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For urgent, paid support, please visit \u003Ca href=\"https:\u002F\u002Fdwinrhys.com\u002Fcontact-me\u002F\" rel=\"nofollow ugc\">dwinrhys.com\u002Fcontact-me\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>For general support and questions, please use the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Frevive-to-sky\u002F\" rel=\"ugc\">WordPress.org forums\u003C\u002Fa>.\u003C\u002Fp>\n","Automatically syndicate your old blog posts to Bluesky on a regular basis, increasing traffic and engagement automatically.",10,521,"2026-01-20T15:31:00.000Z","5.8","7.4",[91,19,92,93,20],"automation","content-sharing","social-media","https:\u002F\u002Frevivetosky.dwinrhys.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frevive-to-sky.1.1.1.zip",{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":104,"downloaded":105,"rating":106,"num_ratings":107,"last_updated":108,"tested_up_to":109,"requires_at_least":110,"requires_php":111,"tags":112,"homepage":117,"download_link":118,"security_score":31,"vuln_count":119,"unpatched_count":11,"last_vuln_date":120,"fetched_at":25},"simple-share-buttons-adder","Simple Share Buttons Adder","8.5.3","Simple Share","https:\u002F\u002Fprofiles.wordpress.org\u002Fdavidoffneal\u002F","\u003Cp>The Simple Share Buttons Adder does exactly what it says – adds share buttons to all of your posts and pages, simply.\u003C\u002Fp>\n\u003Cp>The new “Modern Share Buttons” tab are CSS-based settings which allow you more flexibility when it comes to customizing your Share Buttons, Icon and Icon Hover colors! You have the option to use our predefined CSS themes or your own custom CSS.\u003C\u002Fp>\n\u003Cp>This plugin has a dedicated website! Check out \u003Ca href=\"https:\u002F\u002Fsimplesharebuttons.com\" rel=\"nofollow ugc\">simplesharebuttons.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>You can even upload and use your own custom images if you wish!\u003C\u002Fp>\n\u003Cp>The Simple Share Buttons Adder utilizes features that, as a WordPress user, you will be familiar with. A self-explanatory administration screen will have you showing your Share Buttons on your posts and pages in no time!\u003C\u002Fp>\n\u003Cp>By downloading and installing this plugin you are agreeing to the \u003Ca href=\"https:\u002F\u002Fsimplesharebuttons.com\u002Fprivacy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fsimplesharebuttons.com\u002Fprivacy\u002F\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>.\u003C\u002Fp>\n","A simple plugin that enables you to add share buttons to all of your posts and\u002For pages.",40000,4295791,86,626,"2025-09-24T13:53:00.000Z","6.8.5","5.9","",[19,113,114,115,116],"facebook","share-buttons","social-buttons","threads","https:\u002F\u002Fsimplesharebuttons.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-share-buttons-adder.8.5.3.zip",6,"2024-05-28 00:00:00",{"slug":122,"name":123,"version":124,"author":125,"author_profile":126,"description":127,"short_description":128,"active_installs":129,"downloaded":130,"rating":131,"num_ratings":132,"last_updated":133,"tested_up_to":14,"requires_at_least":134,"requires_php":111,"tags":135,"homepage":140,"download_link":141,"security_score":142,"vuln_count":143,"unpatched_count":11,"last_vuln_date":144,"fetched_at":25},"feedwordpress","FeedWordPress","2025.1211","C. Johnson","https:\u002F\u002Fprofiles.wordpress.org\u002Fradgeek\u002F","\u003Cul>\n\u003Cli>Author: \u003Ca href=\"https:\u002F\u002Ffwpplugin.com\u002Fcontact\u002F\" rel=\"nofollow ugc\">C. Johnson\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Project URI: \u003Ca href=\"http:\u002F\u002Ffwpplugin.com\u002F\" rel=\"nofollow ugc\">http:\u002F\u002Ffwpplugin.com\u002F\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>License: GPL 2. See License below for copyright jots and tittles.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>FeedWordPress is an Atom\u002FRSS aggregator for WordPress. It syndicates content from feeds that you choose into your WordPress weblog, and then the content it syndicates appears as a series of special posts in your WordPress posts database. If you syndicate several feeds then you can use WordPress’s posts database and templating engine as the back-end of an aggregation (“planet”) website. It was developed, originally, as a utility\u002Fhobby project, because I needed a more flexible replacement for \u003Ca href=\"https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20051029095046\u002Fhttp:\u002F\u002Fwww.planetplanet.org\u002F\" rel=\"nofollow ugc\">Planet\u003C\u002Fa> for aggregator sites that I administered.\u003C\u002Fp>\n\u003Cp>FeedWordPress is designed with flexibility, ease of use, and ease of configuration in mind. You’ll need a working installation of WordPress (version \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FVersion_4.5\" rel=\"nofollow ugc\">4.5\u003C\u002Fa> or later), and it helps to have SFTP or FTP access to your web host. The ability to create cron jobs on your web host is helpful but not required.\u003C\u002Fp>\n\u003Ch3>Using and Customizing FeedWordPress\u003C\u002Fh3>\n\u003Cp>FeedWordPress has many options which can be accessed through the WordPress Dashboard, and a lot of functionality accessible programmatically through WordPress templates or plugins. For further documentation of the ins and outs, see the documentation at the \u003Ca href=\"http:\u002F\u002Ffeedwordpress.radgeek.com\u002F\" rel=\"nofollow ugc\">FeedWordPress project homepage\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>The FeedWordPress plugin is copyright © 2005-2021 by Charles Johnson. It uses code derived or translated from:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Flaughingmeme.org\u002Farchives\u002F002203.html\" rel=\"nofollow ugc\">wp-rss-aggregate.php\u003C\u002Fa> by \u003Ca href=\"kellan@protest.net\" rel=\"nofollow ugc\">Kellan Elliot-McCrea\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.simplepie.org\u002F\" rel=\"nofollow ugc\">SimplePie\u003C\u002Fa> feed parser by Ryan Parman, Geoffrey Sneddon, Ryan McCue, et al.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fmagpierss.sourceforge.net\u002F\" rel=\"nofollow ugc\">MagpieRSS\u003C\u002Fa> feed parser by \u003Ca href=\"kellan@protest.net\" rel=\"nofollow ugc\">Kellan Elliot-McCrea\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdiveintomark.org\u002Fprojects\u002Ffeed_finder\u002F\" rel=\"nofollow ugc\">Ultra-Liberal Feed Finder\u003C\u002Fa> by \u003Ca href=\"mark@diveintomark.org\" rel=\"nofollow ugc\">Mark Pilgrim\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002F\" rel=\"ugc\">WordPress Blog Tool and Publishing Platform\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>according to the terms of the \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Fcopyleft\u002Fgpl.html\" rel=\"nofollow ugc\">GNU General Public License\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>This program is free software; you can redistribute it and\u002For modify it under the terms of the \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Fcopyleft\u002Fgpl.html\" rel=\"nofollow ugc\">GNU General Public License\u003C\u002Fa> as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\u003C\u002Fp>\n","FeedWordPress syndicates content from feeds you choose into your WordPress weblog.",10000,1322049,84,61,"2025-12-11T14:32:00.000Z","4.5",[136,137,138,139,20],"aggregation","atom","feed","rss","https:\u002F\u002Ffwpplugin.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffeedwordpress.2025.1211.zip",97,5,"2024-03-04 00:00:00",{"attackSurface":146,"codeSignals":272,"taintFlows":281,"riskAssessment":282,"analyzedAt":285},{"hooks":147,"ajaxHandlers":247,"restRoutes":265,"shortcodes":266,"cronEvents":267,"entryPointCount":67,"unprotectedCount":11},[148,154,158,161,165,169,173,177,182,187,190,195,199,203,207,211,215,219,223,227,231,235,238,243],{"type":149,"name":150,"callback":151,"file":152,"line":153},"action","admin_menu","add_admin_menu","includes\u002FAdmin.php",34,{"type":149,"name":155,"callback":156,"file":152,"line":157},"admin_init","register_settings",35,{"type":149,"name":155,"callback":159,"file":152,"line":160},"maybe_adopt_existing_publication",36,{"type":149,"name":162,"callback":163,"file":152,"line":164},"admin_enqueue_scripts","enqueue_settings_assets",37,{"type":149,"name":166,"callback":167,"file":152,"line":168},"admin_post_wireservice_sync_publication","handle_sync_publication",38,{"type":149,"name":170,"callback":171,"file":152,"line":172},"admin_post_wireservice_reset_data","handle_reset_data",42,{"type":149,"name":174,"callback":175,"file":152,"line":176},"admin_post_wireservice_save_doc_settings","handle_save_doc_settings",46,{"type":178,"name":179,"callback":180,"file":152,"line":181},"filter","plugin_action_links_wireservice\u002Fwireservice.php","add_settings_link",66,{"type":149,"name":183,"callback":184,"file":185,"line":186},"admin_post_wireservice_disconnect","handle_disconnect","includes\u002FConnectionsManager.php",39,{"type":149,"name":155,"callback":188,"file":185,"line":189},"handle_oauth_callback",43,{"type":149,"name":191,"callback":192,"file":193,"line":194},"rest_api_init","register_rest_routes","includes\u002FSetup.php",55,{"type":149,"name":196,"callback":197,"file":193,"line":198},"init","register_well_known_rewrite",58,{"type":149,"name":200,"callback":201,"file":193,"line":202},"template_redirect","handle_well_known_request",59,{"type":178,"name":204,"callback":205,"file":193,"line":206},"query_vars","add_query_vars",60,{"type":149,"name":208,"callback":209,"file":193,"line":210},"wireservice_refresh_token","handle_scheduled_refresh",63,{"type":149,"name":212,"callback":213,"priority":85,"file":193,"line":214},"wp_after_insert_post","maybe_sync_document",68,{"type":149,"name":216,"callback":217,"file":193,"line":218},"before_delete_post","maybe_delete_document",69,{"type":149,"name":220,"callback":221,"priority":85,"file":193,"line":222},"transition_post_status","handle_status_transition",70,{"type":149,"name":224,"callback":225,"file":193,"line":226},"wp_head","output_document_verification_link",78,{"type":149,"name":228,"callback":229,"file":193,"line":230},"add_meta_boxes","add_document_meta_box",81,{"type":149,"name":232,"callback":233,"priority":85,"file":193,"line":234},"save_post","save_document_meta_box",82,{"type":149,"name":162,"callback":236,"file":193,"line":237},"enqueue_meta_box_assets",83,{"type":149,"name":239,"callback":240,"file":241,"line":242},"admin_notices","closure","wireservice.php",28,{"type":149,"name":244,"callback":245,"file":241,"line":246},"plugins_loaded","wireservice_init",98,[248,254,258,261],{"action":249,"nopriv":250,"callback":251,"hasNonce":252,"hasCapCheck":252,"file":152,"line":253},"wireservice_backfill_count",false,"handle_backfill_count",true,50,{"action":255,"nopriv":250,"callback":256,"hasNonce":252,"hasCapCheck":252,"file":152,"line":257},"wireservice_backfill_batch","handle_backfill_batch",54,{"action":259,"nopriv":250,"callback":260,"hasNonce":252,"hasCapCheck":252,"file":152,"line":198},"wireservice_get_publication_record","handle_get_publication_record",{"action":262,"nopriv":250,"callback":263,"hasNonce":252,"hasCapCheck":252,"file":152,"line":264},"wireservice_list_document_records","handle_list_document_records",62,[],[],[268,270],{"hook":208,"callback":208,"file":193,"line":269},99,{"hook":208,"callback":208,"file":241,"line":271},72,{"dangerousFunctions":273,"sqlUsage":274,"outputEscaping":276,"fileOperations":29,"externalRequests":119,"nonceChecks":85,"capabilityChecks":279,"bundledLibraries":280},[],{"prepared":11,"raw":11,"locations":275},[],{"escaped":277,"rawEcho":11,"locations":278},257,[],13,[],[],{"summary":283,"deductions":284},"The \"wireservice\" plugin version 1.2.0 demonstrates a strong security posture based on the provided static analysis.  The absence of dangerous functions, 100% use of prepared statements for SQL queries, and complete output escaping indicate robust coding practices.  Furthermore, the presence of nonce and capability checks for entry points, along with the lack of reported vulnerabilities in its history, suggest a mature and well-maintained plugin. The limited attack surface of only 4 AJAX handlers, all with authentication checks, is also a positive sign. \n\nWhile the static analysis shows no critical or high-severity issues in taint flows, and the plugin's history is clean, the presence of file operations and external HTTP requests warrants a moderate level of caution. These features, while not inherently insecure, represent potential vectors if not implemented with extreme care and input validation.  The lack of reported vulnerabilities is reassuring, but it is important to remember that past security is not a guarantee of future security.  The overall assessment is that this plugin is currently well-secured, but ongoing vigilance is always recommended, especially for components that interact with the file system or external services.",[],"2026-04-16T14:06:35.256Z",{"wat":287,"direct":298},{"assetPaths":288,"generatorPatterns":292,"scriptPaths":293,"versionParams":294},[289,290,291],"\u002Fwp-content\u002Fplugins\u002Fwireservice\u002Fassets\u002Fcss\u002Fsettings.css","\u002Fwp-content\u002Fplugins\u002Fwireservice\u002Fassets\u002Fjs\u002Fsettings.js","\u002Fwp-content\u002Fplugins\u002Fwireservice\u002Fassets\u002Fjs\u002Frecords.js",[],[290,291],[295,296,297],"wireservice\u002Fassets\u002Fcss\u002Fsettings.css?ver=","wireservice\u002Fassets\u002Fjs\u002Fsettings.js?ver=","wireservice\u002Fassets\u002Fjs\u002Frecords.js?ver=",{"cssClasses":299,"htmlComments":300,"htmlAttributes":301,"restEndpoints":302,"jsGlobals":305,"shortcodeOutput":308},[],[],[],[303,304],"\u002Fwp-json\u002Fwireservice\u002Fv1\u002Frecords\u002Fpublication","\u002Fwp-json\u002Fwireservice\u002Fv1\u002Frecords\u002Fdocument",[306,307],"wireserviceBackfill","wireserviceRecords",[],{"error":252,"url":310,"statusCode":311,"statusMessage":312,"message":312},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fwireservice\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":29,"versions":314},[315],{"version":6,"download_url":22,"svn_tag_url":316,"released_at":24,"has_diff":250,"diff_files_changed":317,"diff_lines":24,"trac_diff_url":24,"vulnerabilities":318,"is_current":252},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwireservice\u002Ftags\u002F1.2.0\u002F",[],[]]