[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fe1aR8a77YI-c4uO-MUXJQAHhI50_gFDpZB9tLyMEB3s":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":38,"analysis":137,"fingerprints":277},"related-links","Related Links","1.7.1","piffpaffpuff","https:\u002F\u002Fprofiles.wordpress.org\u002Fchabis\u002F","\u003Cp>Related Links gives you the possibility to manually link other posts to your current post. But you can also link pages, media or any custom post-type. And in addition you can use custom urls to link to external files. The plugin adds a Metabox to the writing page with a list of all available content.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Shows a list of all available content in a Metabox on the writing page\u003C\u002Fli>\n\u003Cli>Multiple links can be selected\u003C\u002Fli>\n\u003Cli>Link order can be changed through drag and drop\u003C\u002Fli>\n\u003Cli>Custom URLs can be added\u003C\u002Fli>\n\u003Cli>Search field to quickly find a link\u003C\u002Fli>\n\u003Cli>Simple theme integration with an included widget or \u003Ccode>related_links()\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Works with custom post-types\u003C\u002Fli>\n\u003Cli>Settings to enable the post-types that should be shown in the Metabox\u003C\u002Fli>\n\u003C\u002Ful>\n","Manually link to existing content or a custom url through a meta box on the writing page.",200,19293,86,6,"2012-09-12T09:15:00.000Z","3.4.2","3.0","",[20,21,22,23,24],"deep","internal","link","post","related","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Frelated-links\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frelated-links.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"chabis",1,30,84,"2026-04-05T01:03:39.213Z",[39,64,86,103,119],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":36,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":60,"download_link":61,"security_score":62,"vuln_count":34,"unpatched_count":28,"last_vuln_date":63,"fetched_at":30},"internal-linking-of-related-contents","Internal Linking of Related Contents","1.2.3","alexvtn","https:\u002F\u002Fprofiles.wordpress.org\u002Falexvtn\u002F","\u003Cp>\u003Cstrong>Internal Linking of Related Contents\u003C\u002Fstrong> allows you to automatically insert inline related posts within your WordPress articles, based on categories or post tags.\u003C\u002Fp>\n\u003Cp>Internal Linking is a powerful SEO technique and an important tool to increase your page views. Moreover, it helps reduce the bounce rate.\u003C\u002Fp>\n\u003Cp>With our plugin, you can insert inline similar posts within your WordPress articles, rather than at the end of the post content, like the most popular plugins.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Plugin overview\u003C\u002Fstrong>\u003C\u002Fp>\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\u002Ffvc2qKm2n58?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\u003Cp>\u003Cstrong>Premium features.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Group related posts into a specific location\u003C\u002Fstrong>\u003Cbr \u002F>\n  In addition to inline related posts, you can also group all related articles in one place within your content. This innovative feature streamlines navigation and provides your readers with quick access to all pertinent articles, further enhancing your website’s user experience.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Featured image\u003C\u002Fstrong>\u003Cbr \u002F>\n  Select one of 11 available premium template to present the featured image alongside the related articles.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Order by option\u003C\u002Fstrong>\u003Cbr \u002F>\n  Select how to order the related contents.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Sort order option\u003C\u002Fstrong>\u003Cbr \u002F>\n  Select the ordering of related contents.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Engine search\u003C\u002Fstrong>\u003Cbr \u002F>\n  Besides the options available on the free version, you can load the related contents based of categories and post tags, post title or custom keywords.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom keywords\u003C\u002Fstrong>\u003Cbr \u002F>\n  By choosing Custom Keywords as the Engine Search option, you have the ability to define specific keywords for each post.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Bulk Edit for Custom Keywords\u003C\u002Fstrong>\u003Cbr \u002F>\n  This feature enables you to efficiently manage and customize keywords for multiple selected posts. You can easily add or remove desired keywords from the selected posts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Device selection\u003C\u002Fstrong>\u003Cbr \u002F>\n  You can select the device where you want to display the related contents..\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Categories to exclude\u003C\u002Fstrong>\u003Cbr \u002F>\n  You can select one or more categories to exclude from the related contents.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Post tags to exclude\u003C\u002Fstrong>\u003Cbr \u002F>\n  You can select one or more post tags to exclude from the related contents.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Post to exclude\u003C\u002Fstrong>\u003Cbr \u002F>\n  You can select one or more posts to exclude from the related contents.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Remove the call-to-action text\u003C\u002Fstrong>\u003Cbr \u002F>\n  You can remove the call to action text from the related posts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>AMP support\u003C\u002Fstrong>\u003Cbr \u002F>\n  Display rightly the related posts in AMP pages.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom post types support\u003C\u002Fstrong>\u003Cbr \u002F>\n  You can enable the related contents for specific custom post types.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WordPress pages support\u003C\u002Fstrong>\u003Cbr \u002F>\n  You can enable the related contents within pages (linking child pages or based on custom keywords)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Gutenberg block\u003C\u002Fstrong>\u003Cbr \u002F>\n  Use the Gutenberg block to effortlessly incorporate specific related posts within your WordPress content.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>You can get the premium version, from the following link:\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwww.themeinprogress.com\u002Finternal-linking-of-related-contents-pro\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.themeinprogress.com\u002Finternal-linking-of-related-contents-pro\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Installation\u003C\u002Fh4>\n\u003Cp>Once you have installed the plugin, you just need to activate the plugin in order to enable it.\u003C\u002Fp>\n\u003Ch4>Configuration\u003C\u002Fh4>\n\u003Cp>Install Internal Linking of Related Contents will add a new admin page, where you can manage all tracking codes and scripts.\u003C\u002Fp>\n\u003Ch3>Translators\u003C\u002Fh3>\n\u003Ch4>Available Languages\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English (Default)\u003C\u002Fli>\n\u003Cli>Italiano\u003C\u002Fli>\n\u003C\u002Ful>\n","Internal Linking of Related Contents allows you to automatically insert inline related posts within your WordPress articles.",4000,42081,5,"2026-02-22T19:50:00.000Z","6.9.4","3.5.0","5.6",[55,56,57,58,59],"contextual-posts","inline-related-posts","internal-linking","related-posts","similar-posts","https:\u002F\u002Fwww.themeinprogress.com\u002Finternal-linking-related-contents-pro\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finternal-linking-of-related-contents.1.2.3.zip",99,"2025-07-08 00:00:00",{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":72,"downloaded":73,"rating":74,"num_ratings":49,"last_updated":75,"tested_up_to":76,"requires_at_least":77,"requires_php":78,"tags":79,"homepage":84,"download_link":85,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"also-in-this-series","Also In This Series","2.0.1","Jon Weatherhead","https:\u002F\u002Fprofiles.wordpress.org\u002Fjweathe\u002F","\u003Cp>Group related posts in a series. Automatically insert a list of all posts in the series as part of the content.\u003C\u002Fp>\n\u003Cp>Manually embed a series listing with the provided shortcode and widget. Override the series template with a custom template.\u003C\u002Fp>\n\u003Cp>A great \u003Ca href=\"https:\u002F\u002Fplanetjon.ca\u002F4823\u002Fmaking-a-blog-series-with-also-in-this-series\" title=\"How to use Also In This Series\" rel=\"nofollow ugc\">rundown of the plugin\u003C\u002Fa> is available on the Planetjon blog.\u003C\u002Fp>\n\u003Ch3>How To Use\u003C\u002Fh3>\n\u003Cp>Create new Series terms from the Series manager under Posts. Add posts to series either through the quick edit screen or through the full edit screen.\u003C\u002Fp>\n\u003Cp>Also In This Series can be configured to automatically insert a series listing in posts belonging to a series.\u003C\u002Fp>\n\u003Cp>To do so, navigate to Also In This Series settings under the settings option.\u003C\u002Fp>\n\u003Ch3>Settings\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Title heading level\u003C\u002Fstrong> sets the HTML tag that will wrap the series title in series inserted automatically, with shortcodes, and with widgets.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Title template\u003C\u002Fstrong> picks from a list of title presets for displaying the title, including a presetfor no title.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatically display series listing on post\u003C\u002Fstrong> allows for automatic listing insertion in posts that belong to a series.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Order of series display\u003C\u002Fstrong> controls the order of posts (newest first or oldest first) in series listings.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Window series listing display\u003C\u002Fstrong> creates a window around the current post in a series listing. This is useful for large series where it is cumbersome to show the entire listing at once.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Do not display series listing\u003C\u002Fstrong> prevents the series listing from being shown. When checked, a link to the series is always shown.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Always show series link\u003C\u002Fstrong> forces a link to the series archive regardless of windowing. When unchecked, a link to the seriess will not be shown when the entire series listing is visible.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcode\u003C\u002Fh3>\n\u003Cp>To manually insert the series listing of a post within a series as part of the content, use the shortcode [alsointhisseries].\u003C\u002Fp>\n\u003Cp>This will have no effect if the post isn’t in a series.\u003C\u002Fp>\n\u003Cp>To manually insert a specific series, use the series-slug attribute with the shortcode like [alsointhisseries series-slug=”your-series-slug”].\u003C\u002Fp>\n\u003Cp>The shortcode attributes are\u003C\u002Fp>\n\u003Cul>\n\u003Cli>series-slug=”slug”\u003C\u002Fli>\n\u003Cli>use-frame=”yes|no”\u003C\u002Fli>\n\u003Cli>frame-width=”number”\u003C\u002Fli>\n\u003Cli>sort-order=”asc|desc”\u003C\u002Fli>\n\u003Cli>title-wrap=”h1|h2|h3|span”\u003C\u002Fli>\n\u003Cli>title-template=”also-in|ordinal|none”\u003C\u002Fli>\n\u003Cli>hide-series-listing=”yes|no”\u003C\u002Fli>\n\u003Cli>always-link-series=”yes|no”\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Widget\u003C\u002Fh3>\n\u003Cp>A widget that exposes all of the above options is available.\u003C\u002Fp>\n\u003Ch3>Custom Template\u003C\u002Fh3>\n\u003Cp>If you’d like to use your own series listing template, there are two options available.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Place a template file \u003Ccode>also-in-this-series\u002Fserieslisting.php\u003C\u002Fcode> in your theme.\u003C\u002Fli>\n\u003Cli>Use the alsointhisseries_template filter to provide an absolute path to a template file.\u003C\u002Fli>\n\u003C\u002Ful>\n","Group related posts in a post series and automatically list all of the posts in the series as part of the content.",40,4314,100,"2022-01-29T17:25:00.000Z","5.9.0","4.6","5.5",[80,81,58,82,83],"internal-links","posts","seo","series","https:\u002F\u002Fplanetjon.ca\u002Fprojects\u002Falso-in-this-series\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Falso-in-this-series.2.0.1.zip",{"slug":87,"name":88,"version":89,"author":90,"author_profile":91,"description":92,"short_description":93,"active_installs":28,"downloaded":94,"rating":28,"num_ratings":28,"last_updated":95,"tested_up_to":96,"requires_at_least":97,"requires_php":53,"tags":98,"homepage":101,"download_link":102,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"add-internal-links-lite","Add Internal Links Lite","1.0.0","Jeremy Shantz","https:\u002F\u002Fprofiles.wordpress.org\u002Ffarmerjer\u002F","\u003Cp>I made this plugin to help with internal linking on existing sites, existing published content.\u003Cbr \u002F>\nPlease feel free to donate if you like my plugin, it will help me feed my dogs and inspire me to add more functionality.\u003C\u002Fp>\n\u003Cp>\u002F\u002F Rest of your readme.txt file…\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Here’s how it works:\u003C\u002Fp>\n\u003Cp>You’ll find the plugin under the WordPress Settings menu.\u003C\u002Fp>\n\u003Cp>Click on the plugin in the settings menu, and a user screen will appear where you can select (via dropdowns) either a single article or an article category target.\u003C\u002Fp>\n\u003Cp>Next, you can select whether or not to include a link to your selected pillar post or page. If you choose Yes, select your preferred pillar post or page from the dropdown.\u003C\u002Fp>\n\u003Cp>When you click the button to proceed, the plugin works as follows after selecting either a single article or a category.\u003C\u002Fp>\n\u003Cp>a)The plugin will retrieve all the articles in the same category as either the single article you selected or the category you selected.\u003Cbr \u002F>\nb)The plugin will randomly select 6 articles in the same category and create an HTML heading and list of linked titles. It then adds this list to either the end of the single article or performs the same action on all articles in the category selected.\u003Cbr \u002F>\nc)If you selected Yes for pillar content, and you’ve selected the target post or page as the pillar, the plugin will proceed to add the title of your selected post or page as a bolded first item of the links list.\u003C\u002Fp>\n\u003Ch3>Donate\u003C\u002Fh3>\n\u003Cp>Support the development of this plugin by making a donation: https:\u002F\u002Fwww.paypal.com\u002Fdonate\u002F?hosted_button_id=RRN3SPBMJZT4G\u003C\u002Fp>\n","Add internal links to the end of a selected article's content or all articles in a selected category.",852,"2023-05-30T23:12:00.000Z","6.2.9","4.0",[99,100,80,58],"automation","content","https:\u002F\u002Ffarm6media.com\u002Fresources\u002Fwp-plugins\u002Fadd-internal-links-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadd-internal-links-lite.zip",{"slug":104,"name":105,"version":106,"author":107,"author_profile":108,"description":109,"short_description":110,"active_installs":28,"downloaded":111,"rating":28,"num_ratings":28,"last_updated":112,"tested_up_to":51,"requires_at_least":78,"requires_php":113,"tags":114,"homepage":18,"download_link":118,"security_score":74,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"ea-inline-related-articles-pro","EA Inline Related Articles Pro","2.0.2","Ese Amadasun","https:\u002F\u002Fprofiles.wordpress.org\u002Famadasunese\u002F","\u003Cp>EA Inline Related Articles Pro automatically injects \u003Cstrong>contextually relevant articles directly inside your post content\u003C\u002Fstrong>, without requiring you to edit existing posts.\u003C\u002Fp>\n\u003Cp>Unlike traditional related-post widgets that appear only at the bottom of articles, this plugin places related content \u003Cstrong>within the article flow\u003C\u002Fstrong>, increasing visibility and engagement.\u003C\u002Fp>\n\u003Cp>It is built specifically for:\u003Cbr \u002F>\n* News websites\u003Cbr \u002F>\n* Digital newspapers\u003Cbr \u002F>\n* Blogs with long-form content\u003Cbr \u002F>\n* SEO-focused publishers\u003C\u002Fp>\n\u003Cp>The plugin works on \u003Cstrong>already published posts\u003C\u002Fstrong> and is safe for production use.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Admin settings page\u003C\u002Fli>\n\u003Cli>Choose \u003Cstrong>multiple paragraph positions\u003C\u002Fstrong> (e.g. 3, 7, 12)\u003C\u002Fli>\n\u003Cli>Insert \u003Cstrong>multiple inline blocks per article\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>AI-powered relevance (offline, no API required)\u003C\u002Fli>\n\u003Cli>Category-based fallback relevance\u003C\u002Fli>\n\u003Cli>Lightweight and performance-friendly\u003C\u002Fli>\n\u003Cli>Works with Classic Editor and Block Editor\u003C\u002Fli>\n\u003Cli>PHP 5.6+ compatible\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>The plugin splits post content into paragraphs.\u003C\u002Fli>\n\u003Cli>Inline related articles are injected after selected paragraph numbers.\u003C\u002Fli>\n\u003Cli>Related articles are ranked using:\n\u003Cul>\n\u003Cli>AI-style content similarity scoring (optional)\u003C\u002Fli>\n\u003Cli>Category relevance as fallback\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Content is injected dynamically — your posts are never modified in the database.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>SEO Benefits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Improves internal linking structure\u003C\u002Fli>\n\u003Cli>Increases page views per session\u003C\u002Fli>\n\u003Cli>Reduces bounce rate\u003C\u002Fli>\n\u003Cli>Helps search engines crawl deeper content\u003C\u002Fli>\n\u003Cli>Ideal for evergreen and breaking news articles\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Configuration\u003C\u002Fh3>\n\u003Cp>After activation, go to:\u003C\u002Fp>\n\u003Cp>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Inline Related Articles\u003C\u002Fp>\n\u003Cp>Available options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Paragraph numbers (comma-separated, e.g. 3,7,12)\u003C\u002Fli>\n\u003Cli>Number of related articles per block\u003C\u002Fli>\n\u003Cli>Enable or disable AI-powered relevance\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GNU General Public License v2 or later.\u003C\u002Fp>\n\u003Cp>You are free to use, modify, and redistribute this software under the terms of the GPL.\u003C\u002Fp>\n","Automatically insert inline related articles inside post content to improve engagement, SEO, and reader retention.",103,"2026-01-25T13:55:00.000Z","7.4",[115,116,57,117,58],"editorial-tools","inline-articles","news-seo","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fea-inline-related-articles-pro.2.0.2.zip",{"slug":24,"name":120,"version":52,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":125,"downloaded":126,"rating":74,"num_ratings":127,"last_updated":128,"tested_up_to":51,"requires_at_least":129,"requires_php":130,"tags":131,"homepage":135,"download_link":136,"security_score":74,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"Manual Related Posts","Marcel Pol","https:\u002F\u002Fprofiles.wordpress.org\u002Fmpol\u002F","\u003Cp>A simple ‘related posts’ plugin that lets you select related posts manually. Supports any post types in WordPress, including custom ones.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add related posts to your blog posts, pages etc.\u003C\u002Fli>\n\u003Cli>Choose from posts, pages or custom post types.\u003C\u002Fli>\n\u003Cli>Re-order related posts via drag and drop.\u003C\u002Fli>\n\u003Cli>Lightweight in code and database-requests.\u003C\u002Fli>\n\u003Cli>Includes Widget that shows the related posts.\u003C\u002Fli>\n\u003Cli>List of posts can also be added to the content of your post.\u003C\u002Fli>\n\u003Cli>Custom markup possible, build your own caroussel or anything you fancy.\u003C\u002Fli>\n\u003Cli>Support for multilanguage plugins, like WPML and Qtranslate-X.\u003C\u002Fli>\n\u003Cli>Duplicate plugin Related (Doubled Up) is included to build a second list.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin was written to have the option to add related posts to each blog post using a simple but functional plugin. You can select the related posts yourself manually.\u003C\u002Fp>\n\u003Cp>To display the related posts, there are three options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>You can use the widget that is included.\u003C\u002Fli>\n\u003Cli>Use the content filter inside the settings.\u003C\u002Fli>\n\u003Cli>Add PHP code to your template, see the installation docs.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For advanced options, see the installation docs.\u003C\u002Fp>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cp>This plugin is compatible with \u003Ca href=\"https:\u002F\u002Fwww.classicpress.net\" rel=\"nofollow ugc\">ClassicPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Contributions\u003C\u002Fh4>\n\u003Cp>This plugin is also available in \u003Ca href=\"https:\u002F\u002Fcodeberg.org\u002Fcyclotouriste\u002Frelated\" rel=\"nofollow ugc\">Codeberg\u003C\u002Fa>.\u003C\u002Fp>\n","A simple 'related posts' plugin that lets you select related posts manually.",1000,80665,23,"2026-01-10T09:28:00.000Z","4.1","7.0",[132,133,24,134,58],"linked-post","linked-posts","related-post","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frelated\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frelated.3.5.0.zip",{"attackSurface":138,"codeSignals":190,"taintFlows":244,"riskAssessment":270,"analyzedAt":276},{"hooks":139,"ajaxHandlers":180,"restRoutes":187,"shortcodes":188,"cronEvents":189,"entryPointCount":34,"unprotectedCount":28},[140,146,150,153,157,160,164,168,172,176],{"type":141,"name":142,"callback":143,"file":144,"line":145},"action","admin_init","init_hooks","classes\\class-related-links-box.php",24,{"type":141,"name":147,"callback":148,"file":144,"line":149},"admin_print_styles-post.php","add_styles",57,{"type":141,"name":151,"callback":148,"file":144,"line":152},"admin_print_styles-post-new.php",58,{"type":141,"name":154,"callback":155,"file":144,"line":156},"admin_print_scripts-post.php","add_scripts",59,{"type":141,"name":158,"callback":155,"file":144,"line":159},"admin_print_scripts-post-new.php",60,{"type":141,"name":161,"callback":162,"file":144,"line":163},"save_post","save_box_data",61,{"type":141,"name":165,"callback":166,"file":144,"line":167},"add_meta_boxes","add_box",71,{"type":141,"name":142,"callback":169,"file":170,"line":171},"init_page","classes\\class-related-links-settings.php",12,{"type":141,"name":173,"callback":174,"file":170,"line":175},"admin_menu","add_page",13,{"type":141,"name":177,"callback":178,"file":179,"line":175},"widgets_init","add_widgets","classes\\class-related-links-widget.php",[181],{"action":182,"nopriv":183,"callback":184,"hasNonce":185,"hasCapCheck":185,"file":144,"line":186},"load_links_list",false,"load_links_list_callback",true,56,[],[],[],{"dangerousFunctions":191,"sqlUsage":192,"outputEscaping":194,"fileOperations":28,"externalRequests":28,"nonceChecks":242,"capabilityChecks":49,"bundledLibraries":243},[],{"prepared":34,"raw":28,"locations":193},[],{"escaped":195,"rawEcho":196,"locations":197},3,29,[198,201,202,203,204,205,206,207,209,210,211,212,214,216,218,219,220,221,223,224,225,227,229,231,232,234,236,238,241],{"file":144,"line":199,"context":200},169,"raw output",{"file":144,"line":199,"context":200},{"file":144,"line":199,"context":200},{"file":144,"line":199,"context":200},{"file":144,"line":199,"context":200},{"file":144,"line":199,"context":200},{"file":144,"line":199,"context":200},{"file":144,"line":208,"context":200},180,{"file":144,"line":208,"context":200},{"file":144,"line":208,"context":200},{"file":144,"line":208,"context":200},{"file":144,"line":213,"context":200},201,{"file":144,"line":215,"context":200},276,{"file":144,"line":217,"context":200},277,{"file":144,"line":217,"context":200},{"file":144,"line":217,"context":200},{"file":144,"line":217,"context":200},{"file":170,"line":222,"context":200},79,{"file":170,"line":222,"context":200},{"file":170,"line":222,"context":200},{"file":170,"line":226,"context":200},126,{"file":179,"line":228,"context":200},65,{"file":179,"line":230,"context":200},66,{"file":179,"line":230,"context":200},{"file":179,"line":233,"context":200},83,{"file":179,"line":235,"context":200},87,{"file":179,"line":237,"context":200},93,{"file":239,"line":240,"context":200},"related-links.php",125,{"file":239,"line":240,"context":200},2,[],[245,262],{"entryPoint":246,"graph":247,"unsanitizedCount":28,"severity":261},"create_page_content (classes\\class-related-links-settings.php:102)",{"nodes":248,"edges":259},[249,254],{"id":250,"type":251,"label":252,"file":170,"line":253},"n0","source","$_POST['related_links_settings']",115,{"id":255,"type":256,"label":257,"file":170,"line":253,"wp_function":258},"n1","sink","update_option() [Settings Manipulation]","update_option",[260],{"from":250,"to":255,"sanitized":185},"low",{"entryPoint":263,"graph":264,"unsanitizedCount":28,"severity":261},"\u003Cclass-related-links-settings> (classes\\class-related-links-settings.php:0)",{"nodes":265,"edges":268},[266,267],{"id":250,"type":251,"label":252,"file":170,"line":253},{"id":255,"type":256,"label":257,"file":170,"line":253,"wp_function":258},[269],{"from":250,"to":255,"sanitized":185},{"summary":271,"deductions":272},"The \"related-links\" plugin v1.7.1 exhibits a generally good security posture based on the provided static analysis. The plugin has a very small attack surface, with only one AJAX handler, and importantly, this handler appears to have authentication checks, as indicated by the 0 unprotected entry points. The code also demonstrates good practices by utilizing prepared statements for all SQL queries and performing a reasonable number of nonce and capability checks. There are no identified dangerous functions, file operations, or external HTTP requests, further reducing potential attack vectors.\n\nHowever, a significant concern arises from the output escaping. With only 9% of 32 outputs properly escaped, there is a high likelihood of Cross-Site Scripting (XSS) vulnerabilities. This lack of adequate escaping means that user-supplied data or data processed by the plugin could be rendered directly in the browser without sanitization, allowing attackers to inject malicious scripts. While the taint analysis shows no unsanitized paths, this is a critical weakness that could be exploited if an attacker finds a way to inject data that bypasses the taint analysis's scope but is still outputted unsafely.\n\nThe plugin's vulnerability history is entirely clean, with no recorded CVEs. This is a positive indicator, suggesting a history of stable and secure development. However, it's crucial to remember that a clean history does not guarantee future security, especially given the identified output escaping issue. In conclusion, while the \"related-links\" plugin has a strong foundation with minimal attack surface and secure data handling for SQL, the severe deficiency in output escaping represents a significant and actionable risk that needs immediate attention.",[273],{"reason":274,"points":275},"Poor output escaping (9% properly escaped)",8,"2026-03-16T20:09:31.787Z",{"wat":278,"direct":287},{"assetPaths":279,"generatorPatterns":282,"scriptPaths":283,"versionParams":284},[280,281],"\u002Fwp-content\u002Fplugins\u002Frelated-links\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Frelated-links\u002Fjs\u002Fscript.js",[],[281],[285,286],"related-links-styles","related-links-scripts",{"cssClasses":288,"htmlComments":312,"htmlAttributes":368,"restEndpoints":405,"jsGlobals":406,"shortcodeOutput":410},[289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311],"related-links-list","related-links-inside","related-links-selected","related-links-selected-","menu-item-handle","related-links-add-links","related-links-add-link","related-links-add-custom-link","related-links-add-custom-link-label","related-links-add-custom-link-input","related-links-add-post","related-links-add-post-label","related-links-add-post-input","related-links-list-posts","related-links-list-post-","related-links-list-post-title","related-links-list-post-remove","related-links-list-custom","related-links-list-custom-","related-links-list-custom-title","related-links-list-custom-url","related-links-list-custom-remove","related-links-list-actions",[313,314,315,316,317,318,319,320,321,322,323,324,320,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,342,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367],"\u003C!-- related-links -->","\u003C!-- Related Links -->","\u003C!-- Copyright (C) 2012 Triggvy Gunderson -->","\u003C!-- This program is free software: you can redistribute it and\u002For modify -->","\u003C!-- it under the terms of the GNU General Public License as published by -->","\u003C!-- the Free Software Foundation, either version 3 of the License, or -->","\u003C!-- (at your option) any later version. -->","\u003C!-- -->","\u003C!-- This program is distributed in the hope that it will be useful, -->","\u003C!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->","\u003C!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -->","\u003C!-- GNU General Public License for more details. -->","\u003C!-- You should have received a copy of the GNU General Public License -->","\u003C!-- along with this program.  If not, see \u003Chttp:\u002F\u002Fwww.gnu.org\u002Flicenses\u002F>. -->","\u003C!-- backend -->","\u003C!-- initialize objects -->","\u003C!-- add or remove default settings and classes -->","\u003C!-- frontend -->","\u003C!-- Get a list of related links. -->","\u003C!-- Get a unordered list of related links for the current post. -->","\u003C!-- Class properties -->","\u003C!-- Constructor -->","\u003C!-- Set hooks -->","\u003C!-- Init hooks -->","\u003C!-- from the edit screen -->","\u003C!-- from the ajax request -->","\u003C!-- from the save hook -->","\u003C!-- load the hooks -->","\u003C!-- show the box on all public post types -->","\u003C!-- Add the box content -->","\u003C!-- Add styles to the boxes -->","\u003C!-- Add scripts to the boxes -->","\u003C!-- Create the box content -->","\u003C!-- Check permissions -->","\u003C!-- only output when there is a post -->","\u003C!-- stop the output when no type is enabled -->","\u003C!-- Get the meta information -->","\u003C!-- Use nonce for verification -->","\u003C!-- legacy: parse old meta data structure -->","\u003C!-- start the output -->","\u003C!-- add the selected posts -->","\u003C!-- Add a new link to the list -->","\u003C!-- add custom links -->","\u003C!-- Add post link -->","\u003C!-- Post type select -->","\u003C!-- Post select -->","\u003C!-- Custom link title -->","\u003C!-- Custom link URL -->","\u003C!-- Add custom link button -->","\u003C!-- Select posts -->","\u003C!-- add new link button -->","\u003C!-- add custom link -->","\u003C!-- Add links -->","\u003C!-- show search results -->","\u003C!-- select a post -->",[369,370,371,372,373,374,375,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404],"related_links_nonce","id=\"related-links-inside\"","id=\"related-links-selected\"","class=\"related-links-selected menu-item-handle\"","id=\"related-links-selected-","name=\"related_links[posts][]\"","name=\"related_links[custom][","id=\"related-links-add-links\"","class=\"related-links-add-links\"","id=\"related-links-add-custom-link\"","class=\"related-links-add-custom-link\"","class=\"related-links-add-custom-link-label\"","name=\"related_links[custom_link][title]\"","class=\"related-links-add-custom-link-input\"","name=\"related_links[custom_link][url]\"","id=\"related-links-add-post\"","class=\"related-links-add-post\"","class=\"related-links-add-post-label\"","name=\"related_links[post_id]\"","class=\"related-links-add-post-input\"","id=\"related-links-list-posts\"","class=\"related-links-list-posts\"","id=\"related-links-list-post-","class=\"related-links-list-post-title\"","class=\"related-links-list-post-remove\"","id=\"related-links-list-custom-","class=\"related-links-list-custom-title\"","class=\"related-links-list-custom-url\"","class=\"related-links-list-custom-remove\"","id=\"related-links-list-actions\"","class=\"related-links-list-actions\"","data-post-type=\"\"","data-post-id=\"\"","data-custom-link-title=\"\"","data-custom-link-url=\"\"","data-action=\"load_links_list\"",[],[407,408,409],"jQuery","$","related_links",[411,412,413,414,415],"\u003Cul class=\"related-links-list\">","\u003Cli>\u003Ca href=\"","\">","\u003C\u002Fa>\u003C\u002Fli>","\u003C\u002Ful>"]