[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$frp0idHVPfT-SnPE2Jou0vvrzzwuQZ135ajl3h_hv-b4":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":148,"fingerprints":436},"contextly-related-links","Contextly Recommends","6.1.3","rsingel","https:\u002F\u002Fprofiles.wordpress.org\u002Frsingel\u002F","\u003Cp>\u003Ca href=\"http:\u002F\u002Fcontextly.com\" title=\"Contextly\" rel=\"nofollow ugc\">Contextly\u003C\u002Fa> is the most powerful and customizable related posts plugin for WordPress.\u003Cbr \u002F>\nContextly provides related, popular and evergreen post recommendations to help you build a loyal audience by getting readers to read more of your content and come back to your site.\u003C\u002Fp>\n\u003Cp>Contextly’s smart recommendations can be shown in modules at the end of posts, in the body of stories and in the WordPress sidebar.\u003C\u002Fp>\n\u003Cp>Additionally, Contextly is the only related posts plugin that lets readers subscribe by emails to the topics on your site they care about so they can get notified by email when a new post is published – with no extra work by you.\u003C\u002Fp>\n\u003Cp>Our algorithms run on our servers, not yours, so we never slow your site down. You can filter out older posts, non-relevant tags and categories and posts with keywords. You can even choose related links for each story.\u003C\u002Fp>\n\u003Cp>We also boost your SEO by making it dead simple to add links in the body of your post to previous stories, and Google crawls our links.\u003C\u002Fp>\n\u003Cp>We also send daily, weekly and monthly reports to you that let you and your team know how what’s doing well on your site and how Contextly is performing.\u003C\u002Fp>\n\u003Cp>Plus we don’t track your users, so we’re GDPR- and CCPA-compliant.\u003C\u002Fp>\n\u003Cp>Contextly comes with a free trial (no credit card required), but operates on a paid subscription basis. You can see our pricing and learn more about what we do on the Contextly website.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Multiple Recommendation Modules – You can give readers multiple chances to go deeper, via the Main Module at the end of a post; a Siderail that shows up next to posts (what WordPress calls the Sidebar) and mid-story recommendation modules (automatic or curated).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Related Recommendations – Related content gives your readers an opportunity to dive deeply into a topic and is the most effective strategy to get readers to read more. Our related content is actually related, looking deeply at the content of posts, not just tags and categories. These are computed in our data center, not in your database, so you won’t be slowed down. Top webhosts that ban most relate posts plugins recommend us.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Popular Recommendations – Readers are often interested in your most recent and best content. That is why we make this content available on every page, because every page is the new home page. We use a smart algorithm to identify 10 to 15 popular stories so we keep the popular section varied, no stale top 5 lists here.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Evergreen Recommendations – Good stories should be read well after they have been showcased on the home page. We identify “oldies but goodies” and let you choose to resurface them to users. This increases the lifetime value of every story you write.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Advanced Filters – You can exclude content from recommendations by tag, category or url. You can also set time limits on recommendations, either globally or by individual tags and categories.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Channels Subscriptions – You can let readers subscribe to be notified by email when new stories are published about the topics they care about. This requires no work on your end and you control what the email notifications look like.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Privacy – Contextly is GDPR and CCPA-compliant. We don’t share your data with anyone and don’t track your readers.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Wicked-Fast Performance – Contextly does all the hard work on its servers, so we don’t hit your database like most related post plugins do. We host all our files on a fast, global CDN so images load quickly. That means your site stays fast and if you get a lot of traffic, Contextly won’t bring your site down. That’s also why the top WordPress hosting services ban other plugins and recommend Contextly.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Editorial Control\u002FCuration – We believe high-quality content is the result of a happy marriage between humans and smart algorithms. Our curation tools allow writers and editors to control what related posts show up on a story. We then use that info to make better recommendations for the entire site.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Responsive Designs – We have multiple designs and image sizes to choose from, and they all look great on mobile and desktops. You can customize their look and feel with a few clicks, while advanced users can customize the CSS.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Analytics – We send daily, weekly and monthly analytics reports that let you easily see which of your posts are doing well and how engaging they are. You can have these sent to everyone on your team.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Custom Post Types – If you use custom post types, you can choose which ones to show Contextly recommendations on, and which to keep out.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Video Recommendations – Our recommendations are not limited to blog posts. We can easily integrate your Youtube channel content. Videos will be displayed where they are most relevant.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>SEO – The best SEO comes from links in the body of stories linking to previous content. We make it super-easy for writers to add these links without having to leave the post to go search in Google.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Internal Promotional Links – If you have a newsletter or an event you’d like to promote, Contextly makes it dead-simple to include that in the recommendation module. That puts promotions where users will actually see them.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>About Contextly\u003C\u002Fh3>\n\u003Cp>Contextly helps publishers build loyal and return audiences. We do that by creating engagement tools that are good for publications, writers and readers. If you have questions, please write us at info@contextly.com.\u003C\u002Fp>\n","Build your audience with great related and popular recommendations. Let readers follow topics. Editorial control and machine learning.",100,52266,76,23,"2024-07-23T13:35:00.000Z","6.6.5","2.0.2","",[20,21,22,23,24],"custom-posts","promotion","related","related-links","seo","https:\u002F\u002Fcontextly.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontextly-related-links.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},2,110,89,30,86,"2026-04-04T07:16:51.012Z",[40,66,85,109,127],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":55,"tags":56,"homepage":61,"download_link":62,"security_score":63,"vuln_count":64,"unpatched_count":28,"last_vuln_date":65,"fetched_at":30},"yet-another-related-posts-plugin","YARPP – Yet Another Related Posts Plugin","5.30.11","YARPP","https:\u002F\u002Fprofiles.wordpress.org\u002Fjeffparker\u002F","\u003Ch4>Related Posts Plugin for WordPress\u003C\u002Fh4>\n\u003Cp>\u003Cem>Yet Another Related Posts Plugin (YARPP)\u003C\u002Fem> is a professionally maintained, highly customizable, performant and feature rich plugin that displays pages, posts, and custom post types related to the current entry. YARPP introduces your visitors to other relevant content on your site — boosting visitor engagement, time on site and SEO. Related Posts can increase your pageviews up to 10%. Simply install, activate and watch your sessions and pageviews increase.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>An advanced and versatile algorithm\u003C\u002Fstrong>: Using a customizable algorithm considering post titles, content, tags, categories, and custom taxonomies, YARPP finds related content from across your site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Caching\u003C\u002Fstrong>: Inbuilt cache makes subsequent queries super efficient and fast\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Templates and Styles\u003C\u002Fstrong>: Use a pre-built \u003Cstrong>list\u003C\u002Fstrong> or \u003Cstrong>thumbnail\u003C\u002Fstrong> template, or use the YARPP custom templating system for 100% control of how results are styles and displayed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible\u003C\u002Fstrong> with a full range of placement options, including:\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fyet-another-related-posts-plugin\u002F#installation\" rel=\"ugc\">Automatic Display Options\u003C\u002Fa> (pick where to show YARPP from the YARPP settings page)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fyet-another-related-posts-plugin\u002F#installation\" rel=\"ugc\">RSS\u002FFeed Options\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fyet-another-related-posts-plugin\u002F#installation\" rel=\"ugc\">Block Editor (Gutenberg)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fyet-another-related-posts-plugin\u002F#installation\" rel=\"ugc\">[yarpp] Shortcode\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fyet-another-related-posts-plugin\u002F#installation\" rel=\"ugc\">Widget\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fyet-another-related-posts-plugin\u002F#installation\" rel=\"ugc\">YARPP functions()\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fyet-another-related-posts-plugin\u002F#installation\" rel=\"ugc\">REST API\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Works with all languages\u003C\u002Fstrong>, including those with full-width (double-byte) characters and those that don’t use spaces between words\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom post type and taxonomy\u003C\u002Fstrong> support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WordPress Multisite\u003C\u002Fstrong> support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>bbPress forums\u003C\u002Fstrong> support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce\u003C\u002Fstrong> support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Professionally maintained and supported\u003C\u002Fstrong> with regular updates\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>YARPP Algorithm Explained\u003C\u002Fh4>\n\u003Cp>\u003Ciframe title=\"VideoPress Video Player\" aria-label='VideoPress Video Player' width='750' height='422' src='https:\u002F\u002Fvideo.wordpress.com\u002Fembed\u002F0n2TSzkb?hd=0&cover=1' frameborder='0' allowfullscreen allow='clipboard-write'>\u003C\u002Fiframe>\u003Cscript src='https:\u002F\u002Fv0.wordpress.com\u002Fjs\u002Fnext\u002Fvideopress-iframe.js?m=1674852142'>\u003C\u002Fscript>\u003C\u002Fp>\n\u003Ch4>Contribute: Translate YARPP\u003C\u002Fh4>\n\u003Cp>YARPP is available for \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fyet-another-related-posts-plugin\u002F\" rel=\"nofollow ugc\">translation directly on WordPress.org\u003C\u002Fa>. Please check out the official \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fpolyglots\u002Fhandbook\u002Frosetta\u002Ftheme-plugin-directories\u002F\" rel=\"nofollow ugc\">Translator Handbook\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Wide Support\u003C\u002Fh4>\n\u003Cp>YARPP is the \u003Cstrong>most popular\u003C\u002Fstrong> and \u003Cstrong>the highest rated\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fyarpp.com\u002F\" rel=\"nofollow ugc\">Related Posts Plugin for WordPress\u003C\u002Fa>. With your support, this plugin always strives to be the best WordPress plugin for Content Discovery and Related Posts.\u003C\u002Fp>\n\u003Cp>✔ Over 10 years of development\u003Cbr \u002F>\n✔ Over 6 million downloads\u003Cbr \u002F>\n✔ Translated into more than a dozen languages\u003Cbr \u002F>\n✔ Professionally maintained and actively supported with regular updates\u003Cbr \u002F>\n✔ Works with all languages\u003C\u002Fp>\n\u003Cp>YARPP works best with PHP 5.3 or greater, MySQL 5.6 or greater OR MariaDB 10.1 or greater, and WordPress 3.7 or greater. See \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fyet-another-related-posts-plugin\u002Ffaq\u002F\" rel=\"ugc\">the FAQ\u003C\u002Fa> for answers to common questions.\u003C\u002Fp>\n","The best WordPress plugin for displaying related posts. Simple and flexible, with a powerful proven algorithm and inbuilt caching.",100000,7947492,96,1148,"2024-11-11T18:16:00.000Z","6.7.5","3.7","5.3",[57,58,59,24,60],"contextual-related-posts","posts","related-posts","similar-posts","https:\u002F\u002Fyarpp.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fyet-another-related-posts-plugin.5.30.11.zip",83,8,"2024-08-26 00:00:00",{"slug":57,"name":67,"version":68,"author":69,"author_profile":70,"description":71,"short_description":72,"active_installs":73,"downloaded":74,"rating":50,"num_ratings":75,"last_updated":76,"tested_up_to":77,"requires_at_least":78,"requires_php":79,"tags":80,"homepage":81,"download_link":82,"security_score":35,"vuln_count":83,"unpatched_count":28,"last_vuln_date":84,"fetched_at":30},"Contextual Related Posts","4.2.2","Ajay","https:\u002F\u002Fprofiles.wordpress.org\u002Fajay\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontextual-related-posts\u002F\" rel=\"ugc\">Contextual Related Posts\u003C\u002Fa> is a powerful WordPress plugin that displays fast, intelligent related posts to keep users on your site longer. Improve SEO, increase pageviews, and lower bounce rates — no setup needed.\u003C\u002Fp>\n\u003Ch3>Key features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Activate and Forget\u003C\u002Fstrong>: Activate the plugin. Contextual Related Posts automatically displays related posts on your site and in your feed after the content. There is no need to edit any template files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Control with Manual Install\u003C\u002Fstrong>: Want placement control? You have multiple options available:\n\u003Cul>\n\u003Cli>\u003Cstrong>Gutenberg \u002F Block Editor support\u003C\u002Fstrong>: You can easily add a “Related Posts [CRP]” block to any post or page with its options and settings.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widgets\u003C\u002Fstrong>: Add related posts to any widgetized theme area, such as the sidebar or footer. You can configure the widget options to suit your needs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode\u003C\u002Fstrong>: Use \u003Ccode>[crp]\u003C\u002Fcode> to display the related posts anywhere within the post content.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong>: Fetch related posts for any post ID using \u003Ccode>contextual-related-posts\u002Fv1\u002Fposts\u002F\u003Cid>\u002F\u003C\u002Fcode>. You can also use query parameters to filter or sort the results.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The algorithm\u003C\u002Fstrong>: Find related posts based on the current post’s title and\u002For content. You can also find posts by tags, categories and selected custom fields.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Caching\u003C\u002Fstrong>: Related posts output is automatically cached as visitors browse through your site, reducing the load on your server and improving performance.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdemo.webberzone.com\" rel=\"nofollow ugc\">View Demo\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Contextual Related Posts uses an intelligent algorithm that analyzes your post’s title and\u002For content to find the most related ones. This way, you can show your visitors more awesome content and keep them on your site longer.\u003C\u002Fp>\n\u003Cp>With Contextual Related Posts, you can quickly boost your site’s traffic, reduce bounce rates, and refresh old entries. It’s fast, flexible, and easy to use. Try it today and see the difference for yourself!\u003C\u002Fp>\n\u003Cp>Additional features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Exclusions\u003C\u002Fstrong>: Exclude posts from specific categories or tags from being displayed in the related posts list.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom post types\u003C\u002Fstrong>: The related posts list supports posts, pages, attachments, or any other custom post type on your site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Thumbnail support\u003C\u002Fstrong>: Display thumbnails or not!\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Styles\u003C\u002Fstrong>: The output of the related posts list is wrapped in CSS classes that allow you to style it easily using custom CSS code.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable output\u003C\u002Fstrong>: Display post excerpts in the related posts list. Customize the HTML tags and attributes used to display the output.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Extendable code\u003C\u002Fstrong>: Many filters and actions allow developers to easily add features, modify outputs, or integrate with other plugins.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>MySQL FULLTEXT indices\u003C\u002Fh3>\n\u003Cp>On activation, the plugin creates three MySQL FULLTEXT indices (or indexes), which are leveraged to find the related posts. \u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fcontextual-related-posts-algorithm\u002F\" rel=\"nofollow ugc\">Learn more about how the algorithm works\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you’re running a multisite installation, an index is created for each blog upon activation. These indices occupy space in your MySQL database but are essential for running the plugin.\u003C\u002Fp>\n\u003Cp>Two options on the settings page allow you to remove these indices when deactivating or deleting the plugin. The latter is true by default.\u003C\u002Fp>\n\u003Ch3>💼 Features Exclusive to CRP Pro\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fplugins\u002Fcontextual-related-posts\u002Fpro\u002F\" rel=\"nofollow ugc\">CRP Pro\u003C\u002Fa> supercharges your related posts with advanced customization, better performance, and powerful content strategy tools.\u003C\u002Fp>\n\u003Ch4>🚀 Performance Enhancements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fefficient-content-storage-and-indexing\u002F\" rel=\"nofollow ugc\">Efficient Content Storage and Indexing\u003C\u002Fa>: Speed up your site with optimized custom tables and efficient database indices for lightning-fast queries.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fcaching-in-contextual-related-posts\u002F\" rel=\"nofollow ugc\">Cache Setting\u003C\u002Fa>: Fine-tune your performance with configurable cache times from 1 hour to 1 year.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fserver-load-threshold-setting-in-contextual-related-posts-pro\u002F\" rel=\"nofollow ugc\">Server Load Threshold\u003C\u002Fa>: Prevent CRP from running queries when the database is under heavy load.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fcontextual-related-posts-bot-protection\u002F\" rel=\"nofollow ugc\">Bot Protection\u003C\u002Fa>: Skip CRP processing for known bots and crawlers using an extensible signature list, saving server resources.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🎯 Smarter Content Matching\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fcontextual-related-posts-algorithm\u002F\" rel=\"nofollow ugc\">Advanced Algorithm\u003C\u002Fa>: Control exactly how relevant content is found by adjusting weights for title, content, and excerpt.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fcontextual-related-posts-algorithm\u002F#weighting-categories-tags-and-taxonomies\" rel=\"nofollow ugc\">Taxonomy Weight System\u003C\u002Fa>: Refine your matches with precise taxonomy weighting for perfect content relationships.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🛒 WooCommerce Integration\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Related Products for WooCommerce\u003C\u002Fstrong>: Seamlessly integrate with WooCommerce to show related products.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Product Matching & Filtering\u003C\u002Fstrong>: Index SKUs and attributes, filter by stock status, and use category-based recommendations with native WooCommerce styling.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Display Customization\u003C\u002Fstrong>: Toggle prices, ratings, and choose to replace or complement WooCommerce’s related products.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fwoocommerce-related-products\u002F\" rel=\"nofollow ugc\">📖 WooCommerce Related Products Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>WP-CLI Support\u003C\u002Fh3>\n\u003Cp>Contextual Related Posts Pro includes comprehensive WP-CLI commands for advanced management and automation. Perfect for developers, agencies, and site administrators who need powerful command-line tools.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key WP-CLI Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Database Management\u003C\u002Fstrong>: Migrate post meta, check index status, and manage database operations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cache Control\u003C\u002Fstrong>: Clear, warm, enable\u002Fdisable cache with multisite support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Table Operations\u003C\u002Fstrong>: Sync content and manage FULLTEXT indexes for optimal performance\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Processing\u003C\u002Fstrong>: Reprocess posts and manage related content in bulk\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multisite Ready\u003C\u002Fstrong>: All commands support \u003Ccode>--network\u003C\u002Fcode> flag for multisite installations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fcontextual-related-posts-wp-cli\u002F\" rel=\"nofollow ugc\">📖 Complete CLI Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>🎨 Advanced Design & Display Options\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fcontextual-related-posts-blocks\u002F\" rel=\"nofollow ugc\">Block Editor Integration\u003C\u002Fa>: Create beautiful layouts with the Query Loop Block and ready-to-use block patterns including Grid, Image with Title, and more.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fcontextual-related-posts-shortcode\u002F\" rel=\"nofollow ugc\">Extra Shortcode Parameters\u003C\u002Fa>: Unlock additional customization options for complete control over your related posts display.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>📊 Analytics & Content Strategy Tools\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Ftracking-parameters\u002F\" rel=\"nofollow ugc\">Tracking Parameters\u003C\u002Fa>: Measure content performance with automatic UTM tracking for all related post clicks.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fcornerstone-posts-in-contextual-related-posts\u002F\" rel=\"nofollow ugc\">Cornerstone Posts\u003C\u002Fa>: Guide visitors to your most important content by featuring key articles in your related posts lists.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fsupport\u002Fknowledgebase\u002Fcontextual-related-posts-metabox\u002F\" rel=\"nofollow ugc\">Additional Metabox Settings\u003C\u002Fa>: Control related content at the individual post level for perfect content relationships.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>GDPR\u003C\u002Fh3>\n\u003Cp>Contextual Related Posts doesn’t collect personal data or send information to external services — making it GDPR-friendly by default.\u003C\u002Fp>\n\u003Cp>⚠️ You’re responsible for ensuring your site’s overall GDPR compliance.\u003C\u002Fp>\n\u003Ch3>Donations\u003C\u002Fh3>\n\u003Cp>Love Contextual Related Posts? Help keep it alive!\u003C\u002Fp>\n\u003Cp>You can \u003Ca href=\"https:\u002F\u002Fwzn.io\u002Fdonate-crp\" rel=\"nofollow ugc\">donate\u003C\u002Fa> or upgrade to \u003Ca href=\"https:\u002F\u002Fwebberzone.com\u002Fplugins\u002Fcontextual-related-posts\u002Fpro\u002F\" rel=\"nofollow ugc\">CRP Pro\u003C\u002Fa> — both help support development and support.\u003C\u002Fp>\n\u003Ch3>Contribute\u003C\u002Fh3>\n\u003Cp>Contextual Related Posts is also available on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWebberZone\u002Fcontextual-related-posts\" rel=\"nofollow ugc\">Github\u003C\u002Fa>.\u003Cbr \u002F>\nSo, if you’ve got some cool feature you’d like to implement into the plugin or a bug you’ve been able to fix, consider forking the project and sending me a pull request.\u003C\u002Fp>\n\u003Cp>Bug reports are \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWebberZone\u002Fcontextual-related-posts\u002Fissues\" rel=\"nofollow ugc\">welcomed on Github\u003C\u002Fa>. Please note Github is \u003Cem>not\u003C\u002Fem> a support forum, and issues that aren’t suitably qualified as bugs will be closed.\u003C\u002Fp>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cp>Contextual Related Posts is available for \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fcontextual-related-posts\" rel=\"nofollow ugc\">translation directly on WordPress.org\u003C\u002Fa>. Check out the official \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fpolyglots\u002Fhandbook\u002Frosetta\u002Ftheme-plugin-directories\u002F\" rel=\"nofollow ugc\">Translator Handbook\u003C\u002Fa> to contribute.\u003C\u002Fp>\n\u003Ch3>Other Plugins by WebberZone\u003C\u002Fh3>\n\u003Cp>Contextual Related Posts is one of the many plugins developed by WebberZone. Check out our other plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftop-10\u002F\" rel=\"ugc\">Top 10\u003C\u002Fa> – Track daily and total visits to your blog posts and display the popular and trending posts\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadd-to-all\u002F\" rel=\"ugc\">WebberZone Snippetz\u003C\u002Fa> – The ultimate snippet manager for WordPress to create and manage custom HTML, CSS or JS code snippets\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fknowledgebase\u002F\" rel=\"ugc\">Knowledge Base\u003C\u002Fa> – Create a knowledge base or FAQ section on your WordPress site\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbetter-search\u002F\" rel=\"ugc\">Better Search\u003C\u002Fa> – Enhance the default WordPress search with contextual results sorted by relevance\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fautoclose\u002F\" rel=\"ugc\">Auto-Close\u003C\u002Fa> – Automatically close comments, pingbacks and trackbacks and manage revisions\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpopular-authors\u002F\" rel=\"ugc\">Popular Authors\u003C\u002Fa> – Display popular authors in your WordPress widget\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwhere-did-they-go-from-here\u002F\" rel=\"ugc\">Followed Posts\u003C\u002Fa> – Show a list of related posts based on what your users have read\u003C\u002Fli>\n\u003C\u002Ful>\n","Keep visitors on your site longer with intelligent, fast-loading, contextually related posts. Block, shortcode, custom post type and widget ready.",60000,2596586,199,"2026-03-13T06:03:00.000Z","6.9.4","6.6","7.4",[57,22,59,24,60],"https:\u002F\u002Fwebberzone.com\u002Fplugins\u002Fcontextual-related-posts\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontextual-related-posts.4.2.2.zip",7,"2025-05-07 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":27,"num_ratings":95,"last_updated":96,"tested_up_to":97,"requires_at_least":98,"requires_php":99,"tags":100,"homepage":104,"download_link":105,"security_score":106,"vuln_count":107,"unpatched_count":28,"last_vuln_date":108,"fetched_at":30},"related-posts-for-wp","Related Posts for WordPress","2.3.0","Barry Kooij","https:\u002F\u002Fprofiles.wordpress.org\u002Fbarrykooij\u002F","\u003Ch4>Related Posts for WordPress\u003C\u002Fh4>\n\u003Cp>Related Posts for WordPress offers you the ability to link related posts to each other with just 1 click!\u003C\u002Fp>\n\u003Cp>Our installation wizard will do all the hard work for you, simply activate the plugin, set the amount of posts that should relate and press the button. Related Posts for WordPress will do the rest. Relating posts in WordPress has never been this easy!\u003C\u002Fp>\n\u003Cp>Fully tested and working on PHP 5.3 and up (including PHP 8, 8.1, 8.2, 8.3 & 8.4)!\u003C\u002Fp>\n\u003Cblockquote>\n\u003Ch4>Related Posts for WordPress Premium\u003C\u002Fh4>\n\u003Cp>There’s an even better version of this plugin that comes with the following extra features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Full Styling Control With Our Configurator\u003C\u002Fli>\n\u003Cli>Cross Custom Post Type Support\u003C\u002Fli>\n\u003Cli>Overwritable templates\u003C\u002Fli>\n\u003Cli>Custom Taxonomy Support\u003C\u002Fli>\n\u003Cli>Adjustable Weights\u003C\u002Fli>\n\u003Cli>WordPress Network \u002F Multisite support\u003C\u002Fli>\n\u003Cli>Keep manually created links\u003C\u002Fli>\n\u003Cli>Priority Email Support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.relatedpostsforwp.com\u002Ffeatures\u002F?utm_source=wp-plugin-repo&utm_medium=link&utm_campaign=after-features-info-link\" rel=\"nofollow ugc\">More information\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.relatedpostsforwp.com\u002Fupgrade-premium\u002F?utm_source=wp-plugin-repo&utm_medium=link&utm_campaign=after-features-purchase-link\" rel=\"nofollow ugc\">Upgrade >>\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Related Posts for WordPress won’t lag your server!\u003C\u002Fh4>\n\u003Cp>We believe having related posts shouldn’t slow down your website. That’s why Related Posts for WordPress creates its own cache and does all the heavy lifting in the admin panel, offering you quality related posts while keeping your website fast!\u003C\u002Fp>\n\u003Ch4>Automatically link posts to each other\u003C\u002Fh4>\n\u003Cp>After installing the plugin you will be taking to a wizard that will analyze your posts and link them to each other based on what we think is related. This means you can install Related Posts for WordPress on your website that has thousands of posts and create related connections on the fly, without any manual work!\u003C\u002Fp>\n\u003Ch4>Manually add, edit or remove\u003C\u002Fh4>\n\u003Cp>Everyone makes mistakes, so do we. That’s why you can easily modify all automatically created related posts. Simply navigate to the post that has incorrect related posts attached to it, select the correct related post and you’re done.\u003C\u002Fp>\n\u003Ch4>Shortcode\u003C\u002Fh4>\n\u003Cp>Related Posts for WordPress has a related post shortcode allowing you to display related posts on any position within your content.\u003C\u002Fp>\n\u003Ch4>Widget\u003C\u002Fh4>\n\u003Cp>Related Posts for WordPress has a related post widget allowing you to display related posts in any sidebar you’d like.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>More information\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Visit the \u003Ca href=\"http:\u002F\u002Fwww.relatedpostsforwp.com\u002F?utm_source=wp-plugin-repo&utm_medium=link&utm_campaign=more-information\" rel=\"nofollow ugc\">Related Posts for WordPress website\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Other \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fbarrykooij\u002F\" rel=\"nofollow ugc\">WordPress plugins\u003C\u002Fa> by \u003Ca href=\"http:\u002F\u002Fwww.barrykooij.com\u002F\" rel=\"nofollow ugc\">Barry Kooij\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Contact Barry on Twitter: \u003Ca href=\"http:\u002F\u002Ftwitter.com\u002Fbarry_kooij\" rel=\"nofollow ugc\">@barry_kooij\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>If you’re a dev, follow or contribute to the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbarrykooij\u002Frelated-posts-for-wp\" rel=\"nofollow ugc\">Related Posts for WordPress plugin on GitHub\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","The best WordPress plugin for related posts. Simple, flexible, powerful algorithm, and built-in caching. Fully setup with only 1 click!",20000,633687,325,"2025-05-10T10:11:00.000Z","6.8.5","5.0","7.2",[101,102,22,103,60],"contextual-relations","inline-related-posts","seo-bounce-rate","http:\u002F\u002Fwww.relatedpostsforwp.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frelated-posts-for-wp.2.3.0.zip",99,6,"2024-03-13 00:00:00",{"slug":110,"name":111,"version":112,"author":113,"author_profile":114,"description":115,"short_description":116,"active_installs":117,"downloaded":118,"rating":27,"num_ratings":119,"last_updated":120,"tested_up_to":97,"requires_at_least":98,"requires_php":18,"tags":121,"homepage":125,"download_link":126,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"upprev","upPrev","4.1.2","Marcin Pietrzak","https:\u002F\u002Fprofiles.wordpress.org\u002Fiworks\u002F","\u003Cp>Display cool, animated fly-out or fade box with related content.\u003C\u002Fp>\n\u003Cp>When a reader scrolls to the bottom of a single post, page, or custom post type, an animate box will be shown allowing the reader to select the previous or random available post or posts in the selected configuration:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Just previous\u003C\u002Fli>\n\u003Cli>Previous in category\u003C\u002Fli>\n\u003Cli>Previous in tag\u003C\u002Fli>\n\u003Cli>Random\u003C\u002Fli>\n\u003Cli>Related using YARPP (only post\u002Fpages)\u003C\u002Fli>\n\u003C\u002Fol>\n","Display cool, animated fly-out or fade box with related content.",1000,190052,126,"2025-06-16T07:58:00.000Z",[122,123,22,24,124],"box","notification","thumbnail","https:\u002F\u002Fgithub.com\u002Fiworks\u002Fupprev","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fupprev.4.1.2.zip",{"slug":128,"name":129,"version":130,"author":131,"author_profile":132,"description":133,"short_description":134,"active_installs":135,"downloaded":136,"rating":11,"num_ratings":137,"last_updated":138,"tested_up_to":77,"requires_at_least":98,"requires_php":139,"tags":140,"homepage":146,"download_link":147,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"cart-products-suggestions-for-woocommerce","Products Suggestions for WooCommerce","3.6.2.3","BeRocket","https:\u002F\u002Fprofiles.wordpress.org\u002Fberocket\u002F","\u003Cp>Products Suggestions for WooCommerce – promote additional products to your customers. Maybe your customers want some more products from your shop, but don’t know about them. You can display products, that will be suggested based on products in the cart.\u003C\u002Fp>\n\u003Cp>✅ Suggest products by another products in the cart\u003Cbr \u002F>\n✅ Suggest products by categories from products in the cart\u003Cbr \u002F>\n✅ Default suggestions, that uses if another suggestions didn’t found\u003Cbr \u002F>\n✅ You can setup suggested products count for cart\u003Cbr \u002F>\n✅ Display suggestions for customers on any pages and any places with widget or shortcode\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cp>✅ Infinite suggestions for products\u003Cbr \u002F>\n✅ Infinite suggestions for categories\u003Cbr \u002F>\n✅ Displays products after the cart table\u003Cbr \u002F>\n✅ Suggestions for all products\u003Cbr \u002F>\n✅ Suggested products for one suggestions selects randomly\u003Cbr \u002F>\n✅ Different priorities for suggestions\u003Cbr \u002F>\n✅ Different types of widgets\u003Cbr \u002F>\n✅ Any count of suggested products\u003C\u002Fp>\n\u003Ch4>Features in Version 3.5:\u003C\u002Fh4>\n\u003Cp>✅ Displays products after the cart totals and before the cart table\u003Cbr \u002F>\n✅ Different types of shortcodes\u003Cbr \u002F>\n✅ Slider type of widget and shortcode\u003Cbr \u002F>\n✅ New settings design\u003Cbr \u002F>\n✅ Conditions for suggestions\u003Cbr \u002F>\n✅ Infinite suggestions for your shop\u003C\u002Fp>\n\u003Ch4>Plugin Links:\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwoocommerce-grid-list.berocket.com\u002Fshop\u002F?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=cart_suggestion\" rel=\"nofollow ugc\">Demo\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdocs.berocket.com\u002Fplugin\u002Fwoocommerce-cart-suggestions?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=cart_suggestion\" rel=\"nofollow ugc\">Docs\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Plugin video\u003C\u002Fh4>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FfCy-xiBwBA0?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Compatibility with WooCommerce plugins\u003C\u002Fh4>\n\u003Cp>Products Suggestions for WooCommerce has been tested and compatibility is certain with the following WooCommerce plugins that you can add to your site:\u003C\u002Fp>\n\u003Cp>🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcart-notices-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Cart Notices for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fforce-sell-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Force Sell for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fminmax-quantity-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Min and Max Quantity for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-of-the-day-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Product of the Day for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fterms-and-conditions-popup-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Terms and Conditions Popup for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n","Products Suggestions for WooCommerce – promote additional products to your customers.",800,38119,11,"2026-03-12T14:13:00.000Z","7.0",[141,142,143,144,145],"cart-promo","cart-promotion","cart-suggestion","product-suggestion","related-products","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcart-products-suggestions-for-woocommerce\u002F?utm_source=free_plugin&utm_medium=plugins&utm_campaign=cart_suggestion","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcart-products-suggestions-for-woocommerce.3.6.2.3.zip",{"attackSurface":149,"codeSignals":296,"taintFlows":382,"riskAssessment":426,"analyzedAt":435},{"hooks":150,"ajaxHandlers":269,"restRoutes":286,"shortcodes":287,"cronEvents":295,"entryPointCount":107,"unprotectedCount":155},[151,157,161,167,171,174,178,181,184,187,191,195,197,200,203,205,209,212,216,220,224,228,232,236,240,244,248,253,257,261,265],{"type":152,"name":153,"callback":154,"priority":155,"file":156,"line":13},"action","admin_enqueue_scripts","init_admin",1,"class-contextly.php",{"type":152,"name":158,"callback":159,"file":156,"line":160},"save_post","publish_box_control_save_post_hook",77,{"type":162,"name":163,"callback":164,"priority":165,"file":156,"line":166},"filter","default_content","add_autosidebar_code_filter",10,78,{"type":152,"name":168,"callback":169,"priority":28,"file":156,"line":170},"admin_head","insert_metatags",79,{"type":152,"name":168,"callback":172,"priority":155,"file":156,"line":173},"insert_head_scripts",80,{"type":152,"name":175,"callback":176,"priority":28,"file":156,"line":177},"admin_footer","insert_footer_scripts",81,{"type":152,"name":179,"callback":180,"file":156,"line":35},"the_content","add_snippet_widget_to_content",{"type":152,"name":182,"callback":169,"priority":28,"file":156,"line":183},"wp_head",90,{"type":152,"name":179,"callback":185,"priority":137,"file":156,"line":186},"add_article_root_anchor_to_content",104,{"type":152,"name":188,"callback":189,"priority":155,"file":156,"line":190},"init","init_default",107,{"type":152,"name":192,"callback":193,"file":156,"line":194},"wp_enqueue_scripts","load_scripts",108,{"type":152,"name":153,"callback":193,"file":156,"line":196},109,{"type":152,"name":198,"callback":199,"file":156,"line":34},"widgets_init","register_widgets",{"type":152,"name":201,"callback":201,"priority":165,"file":156,"line":202},"publish_post",111,{"type":152,"name":158,"callback":201,"priority":165,"file":156,"line":204},112,{"type":152,"name":206,"callback":207,"file":156,"line":208},"enqueue_block_editor_assets","register_block_assets",114,{"type":152,"name":210,"callback":207,"file":156,"line":211},"enqueue_block_assets",115,{"type":152,"name":213,"callback":214,"priority":165,"file":156,"line":215},"contextly_print_metatags","print_post_metatags",135,{"type":152,"name":217,"callback":218,"file":156,"line":219},"contextly_print_init_script","print_init_script",136,{"type":152,"name":221,"callback":222,"priority":165,"file":156,"line":223},"contextly_print_launch_script","print_launch_script",137,{"type":152,"name":225,"callback":226,"priority":165,"file":156,"line":227},"contextly_print_removal_script","print_removal_script",138,{"type":162,"name":229,"callback":230,"priority":165,"file":156,"line":231},"contextly_post_metadata","fill_post_metadata",140,{"type":162,"name":233,"callback":234,"priority":165,"file":156,"line":235},"contextly_post_js_data","fill_post_js_data",141,{"type":152,"name":237,"callback":238,"file":156,"line":239},"post_submitbox_misc_actions","echo_admin_publish_metabox_for_page",313,{"type":162,"name":241,"callback":242,"file":156,"line":243},"mce_external_plugins","add_mce_buttons",383,{"type":162,"name":245,"callback":246,"file":156,"line":247},"mce_buttons","register_mce_buttons",384,{"type":162,"name":249,"callback":250,"priority":165,"file":251,"line":252},"plugin_action_links","display_settings_link","class-contextlysettings.php",44,{"type":152,"name":254,"callback":255,"file":251,"line":256},"admin_notices","check_api_settings",45,{"type":152,"name":258,"callback":259,"file":251,"line":260},"admin_menu","add_settings",52,{"type":152,"name":262,"callback":263,"priority":155,"file":251,"line":264},"admin_init","register_settings",53,{"type":152,"name":258,"callback":266,"file":267,"line":268},"registerPage","class-contextlywpkit.php",280,[270,276,278,282],{"action":271,"nopriv":272,"callback":273,"hasNonce":272,"hasCapCheck":274,"file":156,"line":275},"contextly_publish_post",true,"ajax_publish_post_callback",false,148,{"action":271,"nopriv":274,"callback":273,"hasNonce":272,"hasCapCheck":274,"file":156,"line":277},149,{"action":279,"nopriv":274,"callback":280,"hasNonce":274,"hasCapCheck":274,"file":156,"line":281},"contextly_get_auth_token","ajax_get_auth_token_callback",150,{"action":283,"nopriv":274,"callback":284,"hasNonce":272,"hasCapCheck":274,"file":267,"line":285},"contextly_widgets_editor_request","handleAjaxAction",331,[],[288,292],{"tag":289,"callback":290,"file":156,"line":291},"contextly_sidebar","prepare_sidebar",330,{"tag":293,"callback":294,"file":156,"line":285},"contextly_auto_sidebar","prepare_auto_sidebar",[],{"dangerousFunctions":297,"sqlUsage":303,"outputEscaping":305,"fileOperations":377,"externalRequests":33,"nonceChecks":33,"capabilityChecks":33,"bundledLibraries":378},[298],{"fn":299,"file":300,"line":301,"context":302},"exec","kit\\server\\includes\\Exec.php",46,"exec((string) $this, $output, $code);",{"prepared":28,"raw":28,"locations":304},[],{"escaped":306,"rawEcho":307,"locations":308},57,35,[309,312,314,316,318,320,322,324,326,328,329,331,333,335,337,339,341,342,344,345,347,349,351,353,356,358,360,362,365,368,369,370,372,373,375],{"file":156,"line":310,"context":311},408,"raw output",{"file":156,"line":313,"context":311},790,{"file":156,"line":315,"context":311},1022,{"file":156,"line":317,"context":311},1248,{"file":251,"line":319,"context":311},191,{"file":251,"line":321,"context":311},263,{"file":251,"line":323,"context":311},271,{"file":251,"line":325,"context":311},279,{"file":251,"line":327,"context":311},385,{"file":251,"line":327,"context":311},{"file":251,"line":330,"context":311},472,{"file":251,"line":332,"context":311},483,{"file":251,"line":334,"context":311},499,{"file":251,"line":336,"context":311},580,{"file":251,"line":338,"context":311},640,{"file":267,"line":340,"context":311},307,{"file":267,"line":247,"context":311},{"file":343,"line":252,"context":311},"class-contextlywpsiderailwidget.php",{"file":343,"line":301,"context":311},{"file":346,"line":165,"context":311},"kit\\server\\templates\\async-scripts.tpl.php",{"file":346,"line":348,"context":311},50,{"file":346,"line":350,"context":311},55,{"file":346,"line":352,"context":311},62,{"file":354,"line":355,"context":311},"kit\\server\\templates\\dialog.tpl.php",9,{"file":354,"line":357,"context":311},12,{"file":354,"line":359,"context":311},16,{"file":354,"line":361,"context":311},17,{"file":363,"line":364,"context":311},"kit\\server\\templates\\inline-scripts.tpl.php",5,{"file":366,"line":367,"context":311},"kit\\server\\templates\\js-exported.tpl.php",3,{"file":366,"line":367,"context":311},{"file":366,"line":83,"context":311},{"file":371,"line":107,"context":311},"views\\launch-script.php",{"file":371,"line":83,"context":311},{"file":374,"line":155,"context":311},"views\\metatag.php",{"file":376,"line":107,"context":311},"views\\removal-script.php",14,[379],{"name":380,"version":29,"knownCves":381},"TinyMCE",[],[383,400,408,418],{"entryPoint":384,"graph":385,"unsanitizedCount":28,"severity":399},"ajax_publish_post_callback (class-contextly.php:1012)",{"nodes":386,"edges":397},[387,392],{"id":388,"type":389,"label":390,"file":156,"line":391},"n0","source","$_REQUEST",1014,{"id":393,"type":394,"label":395,"file":156,"line":315,"wp_function":396},"n1","sink","echo() [XSS]","echo",[398],{"from":388,"to":393,"sanitized":272},"low",{"entryPoint":401,"graph":402,"unsanitizedCount":28,"severity":399},"\u003Cclass-contextly> (class-contextly.php:0)",{"nodes":403,"edges":406},[404,405],{"id":388,"type":389,"label":390,"file":156,"line":391},{"id":393,"type":394,"label":395,"file":156,"line":315,"wp_function":396},[407],{"from":388,"to":393,"sanitized":272},{"entryPoint":409,"graph":410,"unsanitizedCount":28,"severity":399},"handleAjaxAction (class-contextlywpkit.php:337)",{"nodes":411,"edges":416},[412,415],{"id":388,"type":389,"label":413,"file":267,"line":414},"$_POST",348,{"id":393,"type":394,"label":395,"file":267,"line":247,"wp_function":396},[417],{"from":388,"to":393,"sanitized":272},{"entryPoint":419,"graph":420,"unsanitizedCount":28,"severity":399},"\u003Cclass-contextlywpkit> (class-contextlywpkit.php:0)",{"nodes":421,"edges":424},[422,423],{"id":388,"type":389,"label":413,"file":267,"line":414},{"id":393,"type":394,"label":395,"file":267,"line":247,"wp_function":396},[425],{"from":388,"to":393,"sanitized":272},{"summary":427,"deductions":428},"The contextly-related-links plugin v6.1.3 presents a mixed security posture.  While it demonstrates good practices such as exclusively using prepared statements for SQL queries and having no recorded vulnerability history, there are notable areas of concern. The static analysis reveals a significant attack surface with one AJAX handler lacking authentication checks, posing a potential entry point for unauthorized actions if not properly secured by other means. Additionally, the presence of the `exec` function is a dangerous signal, even if not immediately exploitable without a specific flow identified in the taint analysis. The output escaping also shows a weakness, with 38% of outputs not being properly escaped, which could lead to cross-site scripting (XSS) vulnerabilities depending on the data being processed.\n\nThe lack of critical or high-severity issues in the taint analysis and the absence of any known CVEs are positive indicators. However, the single unprotected AJAX endpoint is a critical oversight that could be exploited. The 62% proper output escaping rate is also a concern, suggesting that a portion of user-supplied or dynamically generated content is not being sufficiently sanitized before being displayed, potentially opening the door for XSS attacks. The presence of bundled libraries like TinyMCE, while common, can sometimes introduce vulnerabilities if not kept up-to-date, though no specific issues are highlighted here.\n\nIn conclusion, the plugin has a strong foundation with its secure SQL handling and clean vulnerability history. However, the unprotected AJAX handler and the significant percentage of unescaped output are significant weaknesses that require immediate attention. The potential for `exec` to be used maliciously, even without an identified exploit path, warrants caution. Addressing these specific issues would significantly improve the plugin's overall security.",[429,431,433],{"reason":430,"points":165},"Unprotected AJAX handler",{"reason":432,"points":107},"Significant portion of unescaped output",{"reason":434,"points":364},"Presence of dangerous 'exec' function","2026-03-16T20:44:36.515Z",{"wat":437,"direct":462},{"assetPaths":438,"generatorPatterns":445,"scriptPaths":446,"versionParams":451},[439,440,441,442,443,444],"\u002Fwp-content\u002Fplugins\u002Fcontextly-related-links\u002Fbuild\u002Fcontextly-editor.css","\u002Fwp-content\u002Fplugins\u002Fcontextly-related-links\u002Fbuild\u002Fcontextly-editor.js","\u002Fwp-content\u002Fplugins\u002Fcontextly-related-links\u002Fbuild\u002Fcontextly-frontend.css","\u002Fwp-content\u002Fplugins\u002Fcontextly-related-links\u002Fbuild\u002Fcontextly-frontend.js","\u002Fwp-content\u002Fplugins\u002Fcontextly-related-links\u002Fbuild\u002Fcontextly-widgets.css","\u002Fwp-content\u002Fplugins\u002Fcontextly-related-links\u002Fbuild\u002Fcontextly-widgets.js",[],[447,448,449,450],"\u002Fwp-content\u002Fplugins\u002Fcontextly-related-links\u002Fkit\u002Fjs\u002Fcontextly-kit.js","\u002Fwp-content\u002Fplugins\u002Fcontextly-related-links\u002Fkit\u002Fjs\u002Fcontextly-editor.js","\u002Fwp-content\u002Fplugins\u002Fcontextly-related-links\u002Fkit\u002Fjs\u002Fcontextly-frontend.js","\u002Fwp-content\u002Fplugins\u002Fcontextly-related-links\u002Fkit\u002Fjs\u002Fcontextly-widgets.js",[452,453,454,455,456,457,458,459,460,461],"contextly-related-links\u002Fbuild\u002Fcontextly-editor.css?ver=","contextly-related-links\u002Fbuild\u002Fcontextly-editor.js?ver=","contextly-related-links\u002Fbuild\u002Fcontextly-frontend.css?ver=","contextly-related-links\u002Fbuild\u002Fcontextly-frontend.js?ver=","contextly-related-links\u002Fbuild\u002Fcontextly-widgets.css?ver=","contextly-related-links\u002Fbuild\u002Fcontextly-widgets.js?ver=","contextly-related-links\u002Fkit\u002Fjs\u002Fcontextly-kit.js?ver=","contextly-related-links\u002Fkit\u002Fjs\u002Fcontextly-editor.js?ver=","contextly-related-links\u002Fkit\u002Fjs\u002Fcontextly-frontend.js?ver=","contextly-related-links\u002Fkit\u002Fjs\u002Fcontextly-widgets.js?ver=",{"cssClasses":463,"htmlComments":478,"htmlAttributes":482,"restEndpoints":488,"jsGlobals":491,"shortcodeOutput":497},[464,465,466,467,468,469,470,471,472,473,474,475,476,477],"ctx_default_placement","ctx_widget_placement","ctx_shortcode_placement","ctx-sidebar-container","ctx-sidebar-container--","ctx-autosidebar-container","ctx-autosidebar-container--","ctx-clearfix","ctx-module-container","ctx-subscribe-container","ctx-personalization-container","ctx-channel-container","ctx-siderail-container","ctx-author-container",[479,480,481],"\u003C!-- Contextly -- Primary Module. -->","\u003C!-- Contextly -- Sidebar Widget. -->","\u003C!-- Contextly -- Auto Sidebar Widget. -->",[483,484,485,486,487],"data-ctx-widget-id","data-ctx-tracking-id","data-ctx-site-id","data-ctx-recommendation-type","data-ctx-placement-id",[489,490],"\u002Fwp-json\u002Fcontextly\u002Fv1\u002Fpublish_post","\u002Fwp-json\u002Fcontextly\u002Fv1\u002Fget_auth_token",[492,493,494,495,496],"contextly","contextly_settings","ContextlyKitApi","ContextlyWpKit","contextly_blocks",[498,499,500,501,502,503,504,505],"[contextly_auto_sidebar]","[contextly_main_module]","[contextly_sl_button]","[contextly_personalization_button]","[contextly_channel_button]","[contextly_all_buttons]","[contextly_siderail]","[contextly_author]"]