[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fDh9Zgi1G9YoMRKWtePuvHhTSUR7G0iZnbndkvcuYe3E":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":14,"download_link":23,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":36,"analysis":143,"fingerprints":327},"headlines-plus-widget","The Publisher Desk – Headlines Plus Widget","1.0.8","PublisherDesk","https:\u002F\u002Fprofiles.wordpress.org\u002Fthepublisherdesk\u002F","\u003Cp>Unlock the potential of your content with \u003Cstrong>Headlines Plus\u003C\u002Fstrong>, the ultimate free plugin designed to help WordPress publishers grow their audience. With tools for syndication, content sharing, and performance optimization, \u003Cstrong>Headlines Plus\u003C\u002Fstrong> connects you to a network of quality publishers to boost your reach and engagement—at no cost.\u003C\u002Fp>\n\u003Ch3>Why Choose Headlines Plus?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Free Traffic Sharing:\u003C\u002Fstrong> Gain access to a trusted network of publishers to exchange traffic and grow your audience organically.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Effortless Syndication:\u003C\u002Fstrong> Share and receive content seamlessly, driving quality traffic to your site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Integration:\u003C\u002Fstrong> Use customizable widgets, shortcodes, or SDK snippets to display syndicated content anywhere on your site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lazy Load for Performance:\u003C\u002Fstrong> Reduce initial page load time with lazy-loaded widgets that fetch content dynamically when visible.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Simple and Intuitive:\u003C\u002Fstrong> Designed specifically for WordPress, the plugin is easy to install, configure, and use.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Headlines Plus is your solution to building meaningful traffic without compromising on quality.\u003C\u002Fp>\n\u003Cp>Join the growing community of publishers and start sharing for free with Headlines Plus today!\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to various external services to provide its functionality. Below is an outline of the services used, the data collected, and their purpose:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Publisher Details Submission\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Service\u003C\u002Fstrong>: https:\u002F\u002Fwww.publisherdesk.com\u002Fwp-json\u002Fheadlines-plus\u002Fv1\u002F*\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Purpose\u003C\u002Fstrong>: Collects publisher details during initial plugin setup to improve service quality and track publisher activity.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Collected\u003C\u002Fstrong>: Name, email, domain, and feed URL (provided during setup).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Storage\u003C\u002Fstrong>: This data is securely stored in the WordPress database and shared with our API for service enhancement.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy\u003C\u002Fstrong>: All data is handled in compliance with applicable privacy standards.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Content Recommendations with PubExchange\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Service\u003C\u002Fstrong>: https:\u002F\u002Fmodule.pubexchange.com\u002Fjson\u002F*\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Purpose\u003C\u002Fstrong>: Enhances content recommendations using AI-powered analysis of reader behavior to deliver personalized story recommendations.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Collected\u003C\u002Fstrong>: Articles being read (via feed data and plugin settings) and metadata.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy Policy\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fwww.pubexchange.com\u002Flegal\u002Fprivacy\" rel=\"nofollow ugc\">PubExchange API\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Feed URL Integration\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Service\u003C\u002Fstrong>: https:\u002F\u002Frss.app\u002Ffeeds\u002F_uGSbjZRP8ggLzOLF.xml\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Purpose\u003C\u002Fstrong>: Fetches data during the approval process to create a grid of posts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Collected\u003C\u002Fstrong>: None (the feed URL provides publicly available content).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Headlines Plus SDK Integration\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Service\u003C\u002Fstrong>: https:\u002F\u002Fsdk.headlinesplus.com\u002Fheadlines-plus-sdk.min.js\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Purpose\u003C\u002Fstrong>: Collects data from SDK widget attributes to pass to Dappier’s API and retrieve relevant content recommendations.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Collected\u003C\u002Fstrong>: Metadata and configuration parameters from the SDK.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy\u003C\u002Fstrong>: Data is sent securely to the API.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Terms of Use and Privacy Policies\u003C\u002Fstrong>:\u003Cbr \u002F>\n– \u003Cstrong>Publisher Desk API\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fwww.publisherdesk.com\u002Fprivacy-policy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Cstrong>PubExchange API\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fwww.pubexchange.com\u002Flegal\u002Fprivacy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>All external integrations are designed to enhance functionality and user experience. Data transmission is conducted securely and in accordance with privacy regulations. Users are encouraged to review the terms and privacy policies of these services.\u003C\u002Fp>\n\u003Ch3>How the Widget Works\u003C\u002Fh3>\n\u003Cp>The \u003Cstrong>Headlines Plus Widget\u003C\u002Fstrong> dynamically displays a grid or list of articles by fetching curated content from an external API at \u003Ccode>api.dappier.com\u003C\u002Fcode>. Depending on the publisher’s settings, the widget pulls content from:\u003Cbr \u002F>\n– \u003Cstrong>Your website’s feed URL upon aproval\u003C\u002Fstrong> (submitted during form setup),\u003Cbr \u002F>\n– \u003Cstrong>Curated articles\u003C\u002Fstrong> sourced via the Headlines Plus publisher network.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch3>Widgets:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Go to \u003Cstrong>Appearance > Widgets\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Add the “Headlines Plus Widget” to your sidebar or footer area.\u003C\u002Fli>\n\u003Cli>Configure options like headline, lazy loading, and display style.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcodes:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Add the following shortcode to any post or page:\u003Cbr \u002F>\n[headlines_plus_shortcode lazy_load=”true” view_style=”grid” query=”your-query”]\u003C\u002Fli>\n\u003Cli>Parameters:\u003C\u002Fli>\n\u003Cli>\u003Ccode>similarity_top_k\u003C\u002Fcode>: Number of total articles to display.\u003C\u002Fli>\n\u003Cli>\u003Ccode>lazy_load\u003C\u002Fcode>: Enable lazy loading (\u003Ccode>true\u003C\u002Fcode> or \u003Ccode>false\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>\u003Ccode>view_style\u003C\u002Fcode>: Display content in \u003Ccode>grid\u003C\u002Fcode> or \u003Ccode>list\u003C\u002Fcode> format.\u003C\u002Fli>\n\u003Cli>\u003Ccode>query\u003C\u002Fcode>: Custom search query to fetch specific content. Normally defaults to the post slug.\u003C\u002Fli>\n\u003Cli>\u003Ccode>logo_style\u003C\u002Fcode>: full-size-logo, short-logo\u003C\u002Fli>\n\u003Cli>\u003Ccode>internal_articles\u003C\u002Fcode>: Number of internal articles to include in the recommendations.\u003C\u002Fli>\n\u003C\u002Ful>\n","Headlines Plus: Free plugin for WordPress to grow your audience with traffic sharing, syndication, and lazy-loading widgets or shortcodes.",10,552,0,"","6.8.5","6.0.2","7.0",[19,20,21,22],"content-sharing","content-syndication","traffic-sharing","wordpress-widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fheadlines-plus-widget.zip",100,null,"2026-03-15T10:48:56.248Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":32,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"thepublisherdesk",5,150,91,30,88,"2026-04-04T19:01:55.481Z",[37,61,83,103,123],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":14,"tags":52,"homepage":57,"download_link":58,"security_score":59,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":60},"canonical-seo-content-syndication","Canonical SEO Content Syndication WordPress Plugin","3.0","Harsh Agrawal","https:\u002F\u002Fprofiles.wordpress.org\u002Fdenharsh\u002F","\u003Cp>Content syndication is a process of amplifying your content to other blogs without hurting the SEO of your original content. You can let other blogs to republish your content in exact format with rel=canonical tag.\u003C\u002Fp>\n\u003Cp>You can read about Rel=canonical tag here at pt.4: https:\u002F\u002Fsupport.google.com\u002Fwebmasters\u002Fanswer\u002F139066?hl=en\u003C\u002Fp>\n\u003Cp>In this guide you can learn everything about using content syndication for content marketing: http:\u002F\u002Fwww.shoutmeloud.com\u002Frelcanonical-wordpresss-content-syndication-seo.html\u003C\u002Fp>\n\u003Cp>\u003Cem>Canonical SEO Content syndication plugin\u003C\u002Fem> adds a meta box at post editor section. You can add permalink of post where the content was originally published. Popular blogs like bufferblog, readwriteweb are taking advantage of content syndication and rel=canonical tags.\u003C\u002Fp>\n","Canonical SEO Content syndication plugin adds rel=canonical tag for content syndication. The meta box is added at edit post section.",500,15480,80,4,"2019-04-01T12:55:00.000Z","5.1.22","3.1",[53,54,20,55,56],"canonical","content-marketing","search-engine-optimisation","seo","https:\u002F\u002Fwww.shoutmeloud.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcanonical-seo-content-syndication.zip",85,"2026-03-15T15:16:48.613Z",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":24,"num_ratings":71,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":14,"tags":75,"homepage":81,"download_link":82,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":60},"wpb-woocommerce-widgets-accordion","WPB Widgets Accordion for WooCommerce","1.0.5","WPBean","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpbean\u002F","\u003Cp>You may have so many widgets on your shop page and you want to show all the widgets in a clean accordion. So that your shop page looks more professional and clean. In that situation, our WPB Widgets Accordion for WooCommerce plugin comes handy.\u003C\u002Fp>\n\u003Cp>This Widgets Accordion Plugin can turn your widgets to a collapsible accordion. So that you can add more widgets with more contents than your theme default widgets.  Our Widgets Accordion Plugin will work like a charm.\u003C\u002Fp>\n\u003Cp>You can check our WPB Widgets Accordion for WooCommerce plugin live demo and if you have any questions or any feature request, please open a support ticket on our forum.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fdemo3.wpbean.com\u002Fshop\u002F\" rel=\"nofollow ugc\">Live DEMO\u003C\u002Fa>  |  \u003Ca href=\"https:\u002F\u002Fwpbean.com\u002Fsupport\u002F\" rel=\"nofollow ugc\">Support Forum\u003C\u002Fa> |  \u003Ca href=\"http:\u002F\u002Fdocs.wpbean.com\u002Fdocs\u002Fwpb-woocommerce-widgets-accordion\u002Finstalling\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>👋 Need expert WordPress & WooCommerce development help?\u003C\u002Fh3>\n\u003Cp>I’m currently available for hire — WordPress and WooCommerce development, custom features, bug fixing, speed optimization, performance tuning, full site development, and more.\u003Cbr \u002F>\nWith over 10 years of experience building high-quality WordPress solutions, I can help you take your website to the next level.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwpbean.com\u002Fweb-development-services\u002F?utm_source=WordPress&utm_medium=desc-link&utm_campaign=available-for-hire&utm_content=WPB+WooCommerce+widgets+Accordion\" rel=\"nofollow ugc\">\u003Cstrong>Contact me here \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan>\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Plugin Features:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Two different styles for the accordion.\u003C\u002Fli>\n\u003Cli>Very simple and easy to use with shortcode.\u003C\u002Fli>\n\u003Cli>Work with any WordPress theme.\u003C\u002Fli>\n\u003Cli>Modern responsive clean design.\u003C\u002Fli>\n\u003Cli>Easy ShortCode system.\u003C\u002Fli>\n\u003Cli>All Modern Browser Support. \u003C\u002Fli>\n\u003Cli>Translation & RTL Language ready. \u003C\u002Fli>\n\u003Cli>Very Lightweight & many More\u003C\u002Fli>\n\u003C\u002Ful>\n","WPB Widgets Accordion for WooCommerce will allow you to show your widgets in an accordion.",70,2654,2,"2026-03-13T10:01:00.000Z","6.6.5","5.0",[76,77,78,79,80],"accordion","sidebar-accordion","widgets-accordion","woocommerce-widgets-accordion","wordpress-widgets-accordion","https:\u002F\u002Fwpbean.com\u002Fdownloads\u002Fwpb-woocommerce-widgets-accordion","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpb-woocommerce-widgets-accordion.1.0.5.zip",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":13,"num_ratings":13,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":14,"download_link":102,"security_score":59,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":60},"widgets-bundle","Widgets Bundle","2.0.5","Akshit Sethi","https:\u002F\u002Fprofiles.wordpress.org\u002Fakshitsethi\u002F","\u003Cp>Widgets are great and add more power to your website. Widgets Bundle comes powerpacked with 10 awesome widgets to power up your website and add more features to it which you always desired. It contains the following widgets:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Ads Widget – for having sponsored section on your website\u003C\u002Fli>\n\u003Cli>Posts Widget – for displaying posts with thumbnails\u003C\u002Fli>\n\u003Cli>Personal Widget – it’s like having an about me section\u003C\u002Fli>\n\u003Cli>Instagram Widget – showcase those lovely photos from Instagram\u003C\u002Fli>\n\u003Cli>Facebook Widget – helps you showcase your Facebook page feed\u003C\u002Fli>\n\u003Cli>Twitter Widget – beautifully showcase your twitter profile feed\u003C\u002Fli>\n\u003Cli>Social Widget – display your social media links with icons\u003C\u002Fli>\n\u003Cli>Subscribe Widget – do you use MailChimp as your newsletter service? If yes, then this widget let’s you have a beautiful subscribe form on the website\u003C\u002Fli>\n\u003Cli>Quote Widget – write quotes and show them in a beautiful format\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>About\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>I’m \u003Cstrong>Akshit Sethi\u003C\u002Fstrong>, Designer + Developer by profession & Entrepreneur by passion. In love with WWW and Spanish. I create premium WordPress themes & plugins. Building some crazy stuff these days.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fakshitsethi.com\" rel=\"nofollow ugc\">Website\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fakshitsethi.com\u002Fthemes\" rel=\"nofollow ugc\">WordPress Themes\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fakshitsethi.com\u002Fplugins\" rel=\"nofollow ugc\">WordPress Plugins\u003C\u002Fa>\u003C\u002Fp>\n","The Widgets Bundle plugin allows you to add powerful collection of beautifully crafted widgets to your website.",20,4402,"2020-04-09T09:45:00.000Z","5.4.19","4.8","5.6",[98,99,100,101],"widgets","wordpress-widgets","wp-widgets","wp-widgets-plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidgets-bundle.zip",{"slug":104,"name":105,"version":106,"author":107,"author_profile":108,"description":109,"short_description":110,"active_installs":11,"downloaded":111,"rating":24,"num_ratings":112,"last_updated":113,"tested_up_to":114,"requires_at_least":115,"requires_php":14,"tags":116,"homepage":121,"download_link":122,"security_score":59,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":60},"recent-archive-more-widget","Recent Archive More Widget","1.1","De paragon","https:\u002F\u002Fprofiles.wordpress.org\u002Fde-paragon\u002F","\u003Cp>‘Recent Archive More Widget’ displays posts, not listed on page content area on the widget area of the sidebar of category archive page. If a post (within the current category archive page) is displayed on the content area of the page, this plugin will exclude it from the list of posts to be displayed in the widget area of the sidebar. Recent archive more widget displays more posts of the current category on the sidebar.\u003Cbr \u002F>\n    \u003Cstrong>Features\u003C\u002Fstrong>\u003Cbr \u002F>\n*   Recent Archive More Widget is intelligent enough to know when it is on a category page. I.E if this widget is added on the sidebar it will remain silent (not appear) unless the page currently viewed is category archive page.\u003Cbr \u002F>\n*   There is no need to configure the titles and archives, Recent Archive More widget knows what to do.\u003Cbr \u002F>\n*   Two Configuration options: Widget title (I recommend you leave the title blank) and Number of post to display default is 3 posts (you can change this).\u003Cbr \u002F>\n*   Displays post thumbnail and title nicely on the sidebar.\u003C\u002Fp>\n","'Recent Archive More Widget' displays posts, not listed on page content area on the widget area of the sidebar of category archive page.",1781,1,"2014-11-08T16:46:00.000Z","4.0.38","3.5",[117,118,119,120,22],"archive-page","category-archive","category-archive-sidebar","posts-on-sidebar","mrparagon.me\u002Frecent-archive\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frecent-archive-more-widget.1.1.zip",{"slug":124,"name":125,"version":126,"author":127,"author_profile":128,"description":129,"short_description":130,"active_installs":11,"downloaded":131,"rating":24,"num_ratings":112,"last_updated":132,"tested_up_to":133,"requires_at_least":134,"requires_php":135,"tags":136,"homepage":141,"download_link":142,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":60},"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.",477,"2026-01-20T15:31:00.000Z","6.9.4","5.8","7.4",[137,138,19,139,140],"automation","bluesky","social-media","syndication","https:\u002F\u002Frevivetosky.dwinrhys.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frevive-to-sky.1.1.1.zip",{"attackSurface":144,"codeSignals":222,"taintFlows":276,"riskAssessment":315,"analyzedAt":326},{"hooks":145,"ajaxHandlers":211,"restRoutes":219,"shortcodes":220,"cronEvents":221,"entryPointCount":71,"unprotectedCount":13},[146,152,157,161,165,168,174,178,183,186,191,195,198,203,208],{"type":147,"name":148,"callback":149,"file":150,"line":151},"action","admin_menu","hptpd_admin_page","admin\\class-admin-page.php",23,{"type":147,"name":153,"callback":154,"file":155,"line":156},"admin_enqueue_scripts","enqueue_admin_scripts","admin\\class-admin-scripts.php",13,{"type":147,"name":148,"callback":158,"file":159,"line":160},"add_submenu","admin\\class-after-content-settings.php",63,{"type":147,"name":162,"callback":163,"file":159,"line":164},"admin_init","register_setting",64,{"type":147,"name":153,"callback":166,"file":159,"line":167},"enqueue_settings_assets",65,{"type":169,"name":170,"callback":171,"file":172,"line":173},"filter","cron_schedules","add_custom_cron_interval","admin\\class-check-pub-status-cron.php",16,{"type":147,"name":175,"callback":176,"file":172,"line":177},"init","manage_cron_schedule",19,{"type":147,"name":179,"callback":180,"file":181,"line":182},"admin_post_hptpd_approval_form","handle_form_submission","headlines-plus-widget.php",56,{"type":147,"name":162,"callback":184,"file":181,"line":185},"closure",76,{"type":147,"name":187,"callback":188,"file":189,"line":190},"template_redirect","setup_hooks","includes\\class-after-content-injector.php",44,{"type":147,"name":192,"callback":193,"priority":30,"file":189,"line":194},"wp_footer","print_hidden_widget_in_footer",69,{"type":147,"name":196,"callback":197,"file":189,"line":69},"wp_enqueue_scripts","enqueue_front_script",{"type":169,"name":199,"callback":200,"priority":201,"file":189,"line":202},"the_content","append_widget_after_content",99,73,{"type":147,"name":204,"callback":205,"file":206,"line":207},"widgets_init","pd_register_widgets","widget\\class-headlines-plus-widget.php",8,{"type":169,"name":209,"callback":184,"priority":11,"file":206,"line":210},"style_loader_tag",33,[212,218],{"action":213,"nopriv":214,"callback":180,"hasNonce":215,"hasCapCheck":214,"file":216,"line":217},"hptpd_approval_form",false,true,"admin\\class-approval-form.php",15,{"action":213,"nopriv":215,"callback":180,"hasNonce":215,"hasCapCheck":214,"file":216,"line":173},[],[],[],{"dangerousFunctions":223,"sqlUsage":224,"outputEscaping":256,"fileOperations":13,"externalRequests":48,"nonceChecks":112,"capabilityChecks":112,"bundledLibraries":275},[],{"prepared":225,"raw":226,"locations":227},3,12,[228,230,231,234,236,239,242,244,246,248,250,254],{"file":216,"line":33,"context":229},"$wpdb->get_var() with variable interpolation",{"file":172,"line":182,"context":229},{"file":172,"line":232,"context":233},87,"$wpdb->get_row() with variable interpolation",{"file":181,"line":235,"context":229},112,{"file":181,"line":237,"context":238},162,"$wpdb->get_col() with variable interpolation",{"file":181,"line":240,"context":241},166,"$wpdb->query() with variable interpolation",{"file":181,"line":243,"context":238},182,{"file":181,"line":245,"context":241},186,{"file":181,"line":247,"context":229},197,{"file":181,"line":249,"context":229},202,{"file":251,"line":252,"context":253},"includes\\helpers.php",40,"$wpdb->get_results() with variable interpolation",{"file":206,"line":255,"context":233},52,{"escaped":257,"rawEcho":207,"locations":258},155,[259,263,265,266,268,269,271,273],{"file":260,"line":261,"context":262},"admin\\class-render-admin-page.php",45,"raw output",{"file":260,"line":264,"context":262},108,{"file":260,"line":235,"context":262},{"file":260,"line":267,"context":262},113,{"file":189,"line":267,"context":262},{"file":206,"line":270,"context":262},311,{"file":206,"line":272,"context":262},367,{"file":206,"line":274,"context":262},372,[],[277,300],{"entryPoint":278,"graph":279,"unsanitizedCount":112,"severity":299},"handle_form_submission (admin\\class-approval-form.php:70)",{"nodes":280,"edges":296},[281,286,290],{"id":282,"type":283,"label":284,"file":216,"line":285},"n0","source","$_POST",127,{"id":287,"type":288,"label":289,"file":216,"line":285},"n1","transform","→ store_publisher_data()",{"id":291,"type":292,"label":293,"file":216,"line":294,"wp_function":295},"n2","sink","get_var() [SQLi]",172,"get_var",[297,298],{"from":282,"to":287,"sanitized":214},{"from":287,"to":291,"sanitized":214},"high",{"entryPoint":301,"graph":302,"unsanitizedCount":112,"severity":299},"\u003Cclass-approval-form> (admin\\class-approval-form.php:0)",{"nodes":303,"edges":311},[304,305,306,307,309],{"id":282,"type":283,"label":284,"file":216,"line":232},{"id":287,"type":292,"label":293,"file":216,"line":294,"wp_function":295},{"id":291,"type":283,"label":284,"file":216,"line":285},{"id":308,"type":288,"label":289,"file":216,"line":285},"n3",{"id":310,"type":292,"label":293,"file":216,"line":294,"wp_function":295},"n4",[312,313,314],{"from":282,"to":287,"sanitized":215},{"from":291,"to":308,"sanitized":214},{"from":308,"to":310,"sanitized":214},{"summary":316,"deductions":317},"The \"headlines-plus-widget\" v1.0.8 plugin demonstrates a generally good security posture with several strengths.  Notably, the absence of any recorded CVEs, bundled libraries, shortcodes, cron events, and REST API routes contributes to a reduced attack surface and minimal known vulnerabilities. The plugin also shows good practices in output escaping, with 95% of outputs being properly escaped, and a high percentage of SQL queries utilizing prepared statements, mitigating common SQL injection risks.  A single nonce check and capability check on its entry points provide a baseline level of authentication and authorization.\n\nHowever, there are specific concerns arising from the static analysis. The presence of two AJAX handlers, even though currently protected by authentication, represents a potential entry point if future updates or code modifications are not carefully secured.  More significantly, the taint analysis reveals two flows with unsanitized paths, classified as high severity. This indicates that user-supplied data might be flowing into potentially dangerous operations without adequate sanitization, creating a risk of code execution or other malicious activities. The external HTTP requests also warrant attention, as they could be exploited if the target endpoints are compromised or if the plugin transmits sensitive information insecurely.\n\nGiven the lack of historical vulnerabilities, it suggests that the developers have a degree of awareness regarding security. However, the recent discovery of high-severity taint flows points to a potential gap in secure coding practices for certain data handling scenarios. The plugin's strengths lie in its limited attack surface and diligent output escaping. Its weaknesses are primarily concentrated in the identified unsanitized taint flows, which demand immediate attention to prevent potential exploitation.",[318,320,322,324],{"reason":319,"points":217},"High severity taint flows detected",{"reason":321,"points":30},"AJAX handlers without auth checks (though currently protected)",{"reason":323,"points":48},"SQL queries not fully using prepared statements",{"reason":325,"points":225},"External HTTP requests present","2026-03-16T23:11:23.478Z",{"wat":328,"direct":339},{"assetPaths":329,"generatorPatterns":333,"scriptPaths":334,"versionParams":335},[330,331,332],"\u002Fwp-content\u002Fplugins\u002Fheadlines-plus-widget\u002Fadmin\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fheadlines-plus-widget\u002Fadmin\u002Fjs\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Fheadlines-plus-widget\u002Fwidget\u002Fcss\u002Fwidget.css",[],[331],[336,337,338],"headlines-plus-widget\u002Fadmin\u002Fcss\u002Fadmin.css?ver=","headlines-plus-widget\u002Fadmin\u002Fjs\u002Fadmin.js?ver=","headlines-plus-widget\u002Fwidget\u002Fcss\u002Fwidget.css?ver=",{"cssClasses":340,"htmlComments":343,"htmlAttributes":345,"restEndpoints":347,"jsGlobals":348,"shortcodeOutput":350},[341,342],"hptpd-widget-settings","hptpd-admin-page",[344],"\u003C!-- This is a placeholder to prevent the plugin from being deleted -->",[346],"data-hptpd-widget-id",[],[349],"hptpd_params",[]]