Cookies & analytics

    We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.

    SwiftSchema Logo

    SwiftSchema

    Intuitive Schema Generation at Your Fingertips

    AboutLearnContact
      Stack

      Affiliate Roundup Stack

      Affiliate roundup pages with CollectionPage, ItemList, Products, FAQs, and breadcrumbs.

      Open generatorValidate in Rich Results Test

      When to use this stack

      • Best-of product roundups with affiliate links
      • Gift guides or curated buying lists
      • Comparison pages that link to merchant offers

      What's included

      • Collection Page
        Open generator

        Represents the roundup page and its summary content.

      • Provides an ordered list of featured products.

      • Describes each featured product in the roundup.

      • Frequently Asked Questions
        Open generator

        Answers disclosure and selection criteria questions.

      • Breadcrumb
        Open generator

        Provides navigation context for the roundup page.

      Required properties (stack union)

      Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).

      description
      image
      itemListElement[].item.@id
      itemListElement[].name
      itemListElement[].position
      mainEntity[].@type=Question
      mainEntity[].acceptedAnswer.text
      name
      offers.availability
      offers.price
      offers.priceCurrency
      offers.url
      url

      Recommended properties (stack union)

      aggregateRating.ratingValue
      aggregateRating.reviewCount
      brand.name
      description
      itemListElement[].item
      itemListOrder
      mainEntity.@id
      mainEntity[].acceptedAnswer.text
      mainEntity[].author.name
      mainEntity[].name
      name
      numberOfItems
      sku

      Combined JSON-LD

      Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.

      Validate
      [
        {
          "@context": "https://schema.org",
          "@type": "CollectionPage",
          "@id": "https://www.example.com/best/coffee-makers#page",
          "name": "Best Coffee Makers for Home",
          "description": "Our top coffee maker picks with pricing and key features.",
          "url": "https://www.example.com/best/coffee-makers",
          "mainEntity": {
            "@type": "ItemList",
            "@id": "https://www.example.com/best/coffee-makers#list"
          }
        },
        {
          "@context": "https://schema.org",
          "@type": "ItemList",
          "@id": "https://www.example.com/best/coffee-makers#list",
          "name": "Coffee Maker Roundup",
          "itemListOrder": "https://schema.org/ItemListOrderAscending",
          "numberOfItems": 2,
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "item": { "@id": "https://www.example.com/best/coffee-makers#product-1" }
            },
            {
              "@type": "ListItem",
              "position": 2,
              "item": { "@id": "https://www.example.com/best/coffee-makers#product-2" }
            }
          ]
        },
        {
          "@context": "https://schema.org",
          "@type": "Product",
          "@id": "https://www.example.com/best/coffee-makers#product-1",
          "name": "BrewMaster Pro",
          "image": "https://www.example.com/images/brewmaster-pro.webp",
          "description": "Programmable coffee maker with built-in grinder.",
          "brand": { "@type": "Brand", "name": "BrewMaster" },
          "offers": {
            "@type": "Offer",
            "price": "149.00",
            "priceCurrency": "USD",
            "availability": "https://schema.org/InStock",
            "url": "https://merchant.example.com/brewmaster-pro"
          }
        },
        {
          "@context": "https://schema.org",
          "@type": "Product",
          "@id": "https://www.example.com/best/coffee-makers#product-2",
          "name": "CafePress Compact",
          "image": "https://www.example.com/images/cafepress-compact.webp",
          "description": "Compact drip coffee maker for small kitchens.",
          "brand": { "@type": "Brand", "name": "CafePress" },
          "offers": {
            "@type": "Offer",
            "price": "89.00",
            "priceCurrency": "USD",
            "availability": "https://schema.org/InStock",
            "url": "https://merchant.example.com/cafepress-compact"
          }
        },
        {
          "@context": "https://schema.org",
          "@type": "FAQPage",
          "mainEntity": [
            {
              "@type": "Question",
              "name": "Do you use affiliate links?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "Yes. We may earn a commission when you purchase through links on this page."
              }
            },
            {
              "@type": "Question",
              "name": "How are products selected?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "We review features, pricing, and verified customer ratings before selecting products."
              }
            },
            {
              "@type": "Question",
              "name": "Are prices updated?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "Prices are checked regularly, but the final price is shown on the merchant site."
              }
            }
          ]
        },
        {
          "@context": "https://schema.org",
          "@type": "BreadcrumbList",
          "itemListElement": [
            { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
            { "@type": "ListItem", "position": 2, "name": "Best Of", "item": "https://www.example.com/best" },
            { "@type": "ListItem", "position": 3, "name": "Coffee Makers", "item": "https://www.example.com/best/coffee-makers" }
          ]
        }
      ]

      Implementation steps

      1. Start from your live product detail page content; ensure titles, prices, and availability match the page.
      2. Embed one JSON-LD script in the head or just before the closing body tag using the combined example as a template.
      3. Fill shipping details for each region you serve and keep them aligned with on-page shipping tables.
      4. Attach your canonical MerchantReturnPolicy URL and keep the policy text in sync with Merchant Center.
      5. Add 3–6 FAQs that address purchase blockers (shipping, returns, compatibility) and keep answers consistent with visible content.
      6. Validate in the Rich Results Test and revalidate after price/availability/policy changes.

      Common errors and fixes

      FAQs

      Should I include a disclosure?

      Yes. Include an affiliate disclosure on the page and mirror it in the FAQ answers.

      How many products should I list?

      Include one Product per item visible on the page, keeping the ItemList order aligned.

      References