5 min read

How to Own Multiple Cards in a Single Google Search Result

ItemList schema markup lets you claim a carousel of results in a single Google SERP. Here's how to implement it for real estate content and dominate visual search results.

Most SEO advice focuses on ranking one page for one keyword. What if you could own three, five, or eight positions in a single search result — not by ranking multiple pages, but by claiming a carousel that displays multiple content items from your site in a single rich result?

That is what ItemList schema does. And after deploying it across 52 websites, I can tell you that most sites — including major real estate platforms — are not using it.

What ItemList Schema Actually Does

Google supports a specific JSON-LD schema type called ItemList that tells the search engine: "This page contains an ordered list of items, and each item has its own URL." When Google processes this correctly, it can render your result as a horizontal carousel instead of a single blue link.

You have seen these carousels before. Recipe sites use them constantly — search for "chocolate chip cookie recipes" and you will see carousel results showing multiple recipes from a single domain. Those are powered by ItemList markup.

The same mechanism works for any content vertical. Real estate analysis, book reviews, financial comparisons, market data — any page that presents a curated list of items can use ItemList to claim carousel real estate in the SERP.

The Real Estate Application

Consider a page titled "HOA Fees by State: 2026 Rankings." Without ItemList markup, Google displays it as a single search result — one title, one description, one URL. It competes with every other result on the page for attention.

With ItemList markup, that same page can generate a carousel showing each state as a separate card within the result. The visual footprint expands from one line to a scrollable strip that dominates the above-the-fold SERP.

Here is the implementation:

{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "name": "HOA Fees by State: 2026 Rankings",
  "description": "Average monthly HOA fees ranked across all 50 states with year-over-year trends.",
  "numberOfItems": 50,
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Florida – $425/month average",
      "url": "https://thecondotrap.com/blog/hoa-fees-by-state-2026/#florida"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "New York – $390/month average",
      "url": "https://thecondotrap.com/blog/hoa-fees-by-state-2026/#new-york"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "California – $375/month average",
      "url": "https://thecondotrap.com/blog/hoa-fees-by-state-2026/#california"
    }
  ]
}

Each ListItem points to an anchor within the same page. Google can render each as a separate card in the carousel. The user sees a visual array of options instead of a single result — and your site occupies the visual space that would otherwise belong to three or four competitors.

Where It Works Best

Not every page benefits from ItemList markup. The pages that perform best with carousels share specific characteristics:

Ranked lists. "Top 10 states for condo investment" or "Best cities for first-time buyers" — any page with a numbered, ordered list of items where each item could stand alone as a useful result.

Comparison pages. "Condo vs. Townhouse vs. Single-Family" — where each comparison option becomes a carousel card that users can scan visually before clicking.

Guide collections. "The Complete Condo Buyer's Guide" with chapters on insurance, HOA, inspections, financing, and closing — each chapter becomes a card in the carousel.

Data tables. State-by-state or city-by-city data pages where each geographic entry is a distinct item with its own analysis.

The common thread is structured, enumerable content. If your page contains a list of distinct items that each have a name and a URL (even an anchor URL), it is a candidate for ItemList markup.

Implementation Across a Site Network

When I deployed ItemList schema across our network, I identified every page that contained a qualifying list and added the markup programmatically. The process:

Step 1: Audit for list content. Scan every page for ordered lists, comparison tables, ranked items, and multi-section guides. Any page with three or more distinct, named items qualifies.

Step 2: Generate the schema. For each qualifying page, create an ItemList JSON-LD block with each item's name, position, and URL. The URL should point to either a separate page or an anchor within the current page.

Step 3: Inject at build time. In a static site, the schema gets injected into the <head> during the build process. For Eleventy, I use a Nunjucks template that checks for ItemList data in the page's frontmatter or a companion data file.

Step 4: Validate. Use Google's Rich Results Test to confirm the markup is valid. Then wait. Google typically processes ItemList markup within one to three crawl cycles — roughly two to six weeks for most sites.

Step 5: Monitor. In Google Search Console, check the "Search Appearance" section for carousel impressions. Track click-through rate on pages with ItemList markup versus pages without it.

The Results Across 52 Sites

After deploying ItemList markup on 187 qualifying pages across our 52-site network, the results were measurable within six weeks:

  • Pages with ItemList markup saw an average 34% increase in click-through rate compared to their pre-markup baseline
  • Impression counts increased on pages where Google rendered the carousel, because the expanded visual footprint attracted more attention even at the same ranking position
  • Pages that previously received zero rich result features began appearing with carousel formatting in mobile results, where the swipeable card format is particularly effective

The investment was less than one hour of development time per site, deployed through the shared template system. The return — measured in incremental organic traffic — was immediate and compounding.

Common Mistakes

Too few items. Google typically requires at least three ListItems to trigger a carousel. Pages with only two items rarely generate the rich result.

Missing URLs. Each ListItem needs a URL. If you use anchor links, make sure the anchors actually exist on the page. Google validates them.

Duplicate content signals. If every ListItem URL points to a separate page with thin content, Google may interpret this as a doorway page strategy and suppress the carousel. Each destination should have substantial, unique content.

Ignoring mobile. Carousels are more prominent on mobile SERPs than desktop. Test your implementation on mobile devices and in Google's mobile-friendly test tool.

The Strategic Advantage

ItemList markup is one of the few SEO techniques that lets a single page claim disproportionate SERP real estate. In competitive verticals like real estate — where five or six sites are fighting for the same keywords — the ability to occupy three or four visual positions instead of one is a structural advantage.

It is also one of the few techniques that works equally well for small, niche sites and large authority sites. Google does not gate carousel rendering behind domain authority thresholds. If the markup is valid and the content is relevant, the carousel can appear regardless of site size.

The sites that deploy it first in a given keyword vertical own the visual landscape until competitors catch up. In real estate, that window is wide open.


The Condo Trap deploys ItemList schema across every ranking and comparison page — part of the structured data strategy that helps niche content compete with billion-dollar platforms. Get it on Amazon. For the full schema deployment playbook across multiple sites, see The $100 Network.

Share this article: Post Share Share

Accessibility Options

Text Size
High Contrast
Reduce Motion
Reading Guide
Link Highlighting
Accessibility Statement

J.A. Watte and The Condo Trap are committed to ensuring digital accessibility for people with disabilities. This site strives to conform to WCAG 2.1 and 2.2 Level AA guidelines.

Measures Taken

  • Semantic HTML with proper heading hierarchy
  • ARIA labels and roles for all interactive components
  • Color contrast ratios meeting WCAG AA (4.5:1 text, 3:1 non-text)
  • Full keyboard navigation with visible focus indicators
  • Skip navigation link on every page
  • Minimum 44×44px target size for interactive elements
  • Responsive design for all screen sizes
  • High contrast mode toggle
  • Reduced motion support (automatic and manual)
  • Adjustable text size (4 levels)
  • Reading guide for line tracking
  • Link highlighting mode

Feedback

For accessibility concerns, visit jwatte.com

Read full accessibility statement

Last updated: April 2026