WordPress plugin profile

Stunning Related for Posts, Products, Pages and widgets

Rule-based related content for posts, pages, WooCommerce products and any custom post type. Unlimited displays, 12 templates, CTR analytics.

Version2.1
Active installs100
Rating3.4 / 5
Tested toWP 7.1

About this plugin

Most related-content plugins give you one global settings page and one block at the bottom of the article. This one is built around a different idea: you create Displays , and every display answers three separate questions. WHAT should be shown — content selection. WHERE should it appear — the placement engine. HOW should it look — layout, template and styling. That separation runs all the way through the architecture: Content Provider → Relation Engine → Filters / Exclusions → Ranking → Cache → Placement Engine → Layout Renderer → Template Unlimited independent displays One article can run several displays at once, each with its own content rules, position, design and priority — and the same item is never repeated twice on the page: “Read Next” — 1 related post after paragraph 4. “You May Also Like” — 3 posts after 65% of the article. “More From This Category” — 6 posts in 3 columns at the end. Displays are ordered by a priority value, can be activated or deactivated individually, duplicated, and exported to JSON for another site. Weighted relation engine Instead of “same category”, candidates are scored and ranked: related_score = primary category + categories + tags + custom taxonomies + product attributes + same author + recency Every weight is adjustable from 0 to 100, so two posts sharing a category and three tags naturally outrank one sharing only a category. The primary category set by Yoast SEO or Rank Math is recognised and weighted separately. A Basic engine mode is included when you want plain term matching where every shared term counts the same. Other content controls: Related by — choose exactly which taxonomies create relatedness. Recency window — how recent an item must be to earn the recency bonus (0–3650 days). Fallback when relationships are thin — most recent, random, most-commented, or simply show fewer items. Order — relevance score, newest first, recently updated, title A → Z, or random. Total items — 1 to 60, independent of the column count. Selection modes Automatic — the engine chooses. Manual — only your picks, in your order. Manual + automatic — your picks first, the remaining slots filled by the engine. HTML-aware in-content placement In-content insertion is resolved with a DOM pass. A block is only ever placed between top-level elements, so lists, tables, blockquotes, galleries and shortcodes are never split — content is never cut on </p> with a string function. Available positions: before content, after title, after content, after paragraph X, before paragraph X, after X% of the article, middle of the article, before the first heading, after the first heading, before the last heading, before the conclusion, every X paragraphs, and every X words — the repeating positions with a maximum block count. WooCommerce placements 24 product, shop, cart, checkout and order hooks: Product page — before product, before/after title, after rating, after price, before/after short description, before/after variations, before/after Add to Cart, after product summary, before/after product tabs, after product page. Shop and archives — before or after the product loop. Cart — before cart, cart collaterals, after cart, empty cart. Checkout — before or after the checkout form. Order received — after the order. Cart, checkout and order-received recommendations are derived from what is actually in the cart or in the completed order, and never recommend a product the customer already has. Cross-content recommendations The engine is not hard-coded to post → post. Set a source and a target and a blog article can recommend products, while a product page recommends the guides that explain it. Cross-content matching links the two by matching term slugs across the taxonomies of the target post types. Display conditions A display runs only where you want it: Post types it is generated from. Taxonomy rules — “only when the post has …” and “never when the post has …”, combined with AND or OR logic. Specific items to include or exclude by ID. WooCommerce product price range. Visitor state — everyone, logged-in only, or logged-out only. Per-post overrides Inside the post or product editor, a Related Content metabox can override the global behaviour for that item: use global settings, automatic, custom only, custom first then automatic, or disabled entirely — plus its own always-recommend and never-recommend lists with an AJAX search picker. Layouts, templates and responsive columns Layout controls the structure, the template controls the visual DNA, and the two are independent. 8 layouts — grid, list, inline, carousel, masonry, compact, single recommendation, horizontal cards. 12 templates — 01 Minimal, 02 Editorial, 03 Image Card, 04 Horizontal, 05 Magazine Grid, 06 Numbered, 07 Glass Cards, 08 Featured Recommendation, 09 Compact Pills, 10 Product Cards, 11 Product Minimal, 12 Carousel. Desktop / tablet / mobile columns are core settings , not advanced ones, and the item count is separate from the column count. Adjustable grid gap. Design controls Heading text, tag (H2–H5, div, span) and alignment. Fields to show: image, title, excerpt, category or term, date, author, reading time, read-more button — plus price, rating, Add to Cart and sale badge when WooCommerce is active. Fields a template does not support are ignored. Excerpt length in words, image ratio (16:9, 4:3, 3:2, 1:1, 3:4, 2:3 or original), link target and button text. Customize template : accent, card background, title, text, meta and border colours; corner radius, image radius, card padding, title size, text size; and shadow depth. Everything is emitted as CSS custom properties on the block wrapper, so nothing leaks into the rest of the page. Live preview The editor renders a real preview from real content on your site while you work, with desktop, tablet and mobile device toggles, a full-screen preview overlay and a template navigator for stepping through all 12 templates without leaving the screen. Performance Resolved recommendation IDs are cached per post and regenerated automatically when the post, its terms or the display change. Cache lifetime is selectable per display: disabled, 1 hour, 1 day, 1 week, 1 month. Scoring happens in one grouped SQL query, not one query per candidate. Nothing is enqueued globally. The stylesheet loads only when a display will actually render, and the carousel script only when a carousel is really on the page. Optional lazy loading for recommendation images. Analytics Impressions and clicks are aggregated per day, so you can see click-through rate per template, per placement, per display and per recommended item — which recommendation strategy actually works, not just which one looks nice. Aggregated counters only: no cookies and no personal data. A retention window (0–1825 days) prunes old rows automatically. Manual placement Shortcode: [smart_related id="5"] Gutenberg block: Related Content Widget: Related Content (Stunning Related) PHP: <?php srpp_the_related_content( 5 ); ?> (the older smart_related_content() still works) Tools Clear the recommendation cache, reset statistics, and export or import displays as JSON to move a configuration between staging and production. Exclusions Never recommend the current item, password-protected content, private content, content marked noindex by Yoast SEO or Rank Math, or out-of-stock products — plus excluded terms, excluded authors, excluded item IDs, and a guard against showing the same item twice on one page. Privacy The plugin sends nothing to any external service. Analytics rows contain a display ID, a source post ID, a target post ID, a template key, a placement key, a date and two counters — no IP addresses, no cookies, no visitor identifiers.