AI summary

Faceted navigation is the architectural decision most powersports dealers don't realize they're making. Filter set, URL strategy, canonicalization, schema for category pages, and the 200–400 word block that turns an SRP into a rankable page. Part of our Powersports Website Playbook.

The search results page, the inventory listing, filtered or unfiltered, is where buyers actually narrow. It's also where most powersports dealer websites quietly hemorrhage ranking equity. The reason is faceted navigation. Every filter combination a buyer applies, vehicle type, year, make, use case, price range, engine displacement, generates a URL. What happens to those URLs determines whether your category structure compounds into ranking advantage or fragments into thousands of near-duplicate pages competing with each other.

This guide is the architectural decision tree. Filter taxonomy by powersports type, URL strategy and canonicalization, faceted navigation handling, schema for category pages, and the 200–400 word content block above the listing grid. Most provider-template sites get this wrong by default; the fix is conceptually simple but operationally specific.

Why powersports SRPs aren't automotive SRPs

Automotive SRP architecture has been settled for a decade. Year, make, model, trim, body style, price, mileage. Buyers cross body styles freely, the same buyer might be looking at a sedan, a small SUV, and a hatchback in the same session.

Powersports buyers don't cross vehicle types. A buyer shopping for a side-by-side is not also looking at a snowmobile in the same session. A buyer shopping for a touring motorcycle is not toggling over to PWC. The vehicle type is the root of the buyer's intent, not a filter applied to a generic inventory list.

That has two implications for the URL structure. First, vehicle type belongs in the path, not the query string. Second, each vehicle type has its own filter taxonomy, the filters that matter for a UTV are not the filters that matter for a motorcycle. Generic "year / make / model / price" filter UI shipped across all vehicle types is a tell that the platform was retrofitted from automotive.

Filter taxonomy by powersports type

The filter set should match how the buyer actually shops. Below is the working taxonomy by segment. These are the primary filters, the ones that should be visible without opening an "advanced" panel and that drive the highest-intent search traffic.

Motorcycles

  • Use case / category, sport, sport-touring, touring, cruiser, naked / standard, adventure, dual-sport, motocross, off-road, supermoto, scooter. This is the primary segmentation after make/model and the strongest source of long-tail intent.
  • Engine displacement bucket, 250cc and under, 251–500cc, 501–700cc, 701–1000cc, 1001cc and up. Recognized buying segments; buyers query at the bucket level, not by exact displacement.
  • Year, make, model, trim.
  • New / used / certified pre-owned.
  • Price range and monthly payment range.
  • Transmission (manual / automatic), secondary, but matters for new-rider and cruiser segments.
  • ABS / ride modes, secondary, surfaces in spec-driven queries.

UTVs / Side-by-Sides

  • Use case, sport, recreation, utility, hunting, ranch / work, dune, mud, trail, military / industrial. The primary segmentation buyers shop on.
  • Seating capacity, 2-seat, 3-seat, 4-seat, 5+. Highest-impact filter after use case.
  • Drive type, 2WD, 4WD selectable, AWD.
  • Engine displacement bucket, under 600cc, 600–800cc, 801–1000cc, 1001cc and up.
  • Vehicle width, under 50", 50–60", 60–64", 65" and wider. Matters because of trail-width regulations.
  • Year, make, model, trim.
  • New / used / CPO.
  • Price range and payment range.

ATVs

  • Use case, sport, utility, youth, hunting, mud, trail.
  • Engine displacement bucket, 90cc and under (youth), 91–250cc, 251–450cc, 451–700cc, 701cc and up.
  • Drive type, 2WD, 4WD.
  • Year, make, model, trim.
  • New / used / CPO.
  • Price and payment range.

Snowmobiles

  • Intended use, trail, mountain, crossover, utility, touring, performance / racing. Highest-priority filter; the buying decision starts here.
  • Engine type, 2-stroke, 4-stroke. Carries strong preference signal in this segment.
  • Engine displacement bucket.
  • Track length, under 137", 137–146", 146–155", 155"+. Matters for terrain choice.
  • Year, make, model, trim.
  • New / used / CPO.
  • Price and payment range.

Personal Watercraft (PWC)

  • Use case, recreation, performance, touring, fishing, family, racing.
  • Seating capacity, 1-seat (stand-up or solo), 2-seat, 3-seat.
  • Engine horsepower bucket, under 100 hp, 100–180 hp, 181–250 hp, 250+ hp.
  • Hull length.
  • Year, make, model, trim.
  • New / used / CPO.
  • Price and payment range.

Filter UI rules across all segments

  • Use-case filter is always visible. Don't bury it in an "advanced" panel; it's the primary segmentation after make/model.
  • Buckets, not exact values, for displacement and horsepower. Buyers don't query "999cc", they query "1000cc class." The filter UI should match the query pattern.
  • Filter counts visible. Each filter option shows the number of in-stock units that match. Zero-result filters should either disable cleanly or hide. Buyers who click into a filter and see "0 results" assume the dealership doesn't carry the category at all.
  • Filter state persists in URL. The buyer can bookmark, share, and return to a filter combination. This also makes the filter combinations cacheable and indexable when you choose to surface them.

Check whether your category pages are surfacing in AI engines today

Before you redesign the URL strategy, find out whether your current SRPs are getting cited at all. The Website Grader runs an AI-search visibility audit alongside a traditional SEO health pass and a performance check, useful for spotting category pages that have been silently de-indexed by faceted-URL bloat or buried by a filter taxonomy that doesn't match how buyers query.

URL strategy: the architectural decision most dealers don't realize they're making

The single most damaging SRP failure on provider-template sites is uncontrolled faceted indexation. The buyer applies three filters; the platform generates a URL with three query parameters; that URL is left open to indexing; the engine crawls thousands of near-duplicate variants; the category's ranking equity fragments across all of them; nothing ranks.

The fix is making an editorial choice, which filter combinations get to be indexable pages, which are non-indexable filter states on the canonical SRP, and which don't exist at all because the combination isn't a real buying segment.

The two viable strategies

Strategy A, surface high-intent filters as pages. A finite, editorially chosen set of filter combinations gets its own URL path, its own indexable page, its own custom intro copy, its own schema, and its own internal links. Everything else is a non-indexed filter state on the canonical SRP.

!Powersports buyers don't cross vehicle types. The vehicle type is the root of the buyer's intent, not a filter applied to a generic inventory list.

Example URL hierarchy:

/inventory/                                , All inventory (not strongly indexable)
/inventory/utv/                            , All UTVs (indexable, content-augmented)
/inventory/utv/sport/                      , Sport UTVs (indexable, content-augmented)
/inventory/utv/sport/4-seat/               , Sport UTVs, 4-seat (indexable if intent is real)
/inventory/utv/utility/                    , Utility UTVs (indexable)
/inventory/utv/dune/                       , Dune UTVs (indexable)
/inventory/utv/?price_max=15000            , UTVs under $15k (non-indexed filter state)
/inventory/utv/?make=brand-x&color=red     , Filter state, non-indexed, canonicalizes up
/inventory/motorcycles/sport-touring/      , Sport-touring motorcycles (indexable)
/inventory/motorcycles/250cc/              , Sub-250cc motorcycles (indexable)
/inventory/snowmobiles/trail/              , Trail snowmobiles (indexable)
/inventory/snowmobiles/mountain/           , Mountain snowmobiles (indexable)
/inventory/used/                           , All used inventory (indexable)
/inventory/used/utv/                       , Used UTVs (indexable)

The rule: vehicle type is always in the path, use case is in the path when it represents real buyer intent, price and other faceted filters live as query parameters that don't generate indexable pages.

This is the higher-ceiling strategy. It captures the long tail of search intent, "sport UTVs for sale," "sub-250cc motorcycles," "trail snowmobiles in [state]," "used 4-seat UTVs near me", that the bare listing page cannot. Each of those category pages becomes its own ranking surface, with its own intro copy, its own internal links, and its own indexable position.

Strategy B, single canonical SRP, filters via parameters that noindex. One canonical inventory page per major segment. All filter combinations live as query parameters that either return noindex, follow or rel="canonical" back to the parent SRP. Lower build effort, lower ceiling.

Use Strategy B if you don't have the editorial bandwidth to maintain custom intro copy and content augmentation on a finite set of category pages. The trap is the middle path, generating thousands of indexable filtered URLs without the content augmentation that makes them rank. That's worse than either A or B because it actively damages the canonical SRP.

Canonicalization rules (Strategy A specifics)

For Strategy A, the canonical tag rules:

  • Hierarchical path pages (/inventory/utv/sport/) self-canonicalize. They are the canonical URL for that category.
  • Filter-state URLs (/inventory/utv/?price_max=15000) rel="canonical" to the parent path page (/inventory/utv/). The filter state is real for the buyer but not indexable.
  • Sort variants (?sort=price-asc, ?sort=year-desc) rel="canonical" to the unsorted page.
  • Pagination, see below.
  • Tracking parameters (utm_*, fbclid, gclid) rel="canonical" to the clean URL.

The pattern is consistent: any URL that's a view of a canonical category page, rather than a new category, canonicalizes back. The engine consolidates the equity to the canonical, the filter state remains usable for buyers, and the canonical is the page that ranks.

Pagination

Use real, indexable pagination URLs (/inventory/utv/sport/?page=2, ?page=3) with rel="canonical" to themselves, not to page 1. Each paginated page indexes its own subset of inventory. This matters for inventory discovery; engines need to crawl the deeper pages to find the units listed there.

!Faceted navigation is the architectural decision most powersports dealers don't realize they're making.

Some implementation notes:

  • Don't noindex paginated pages. That removes them from the index entirely, including their inventory.
  • Don't rel="canonical" page 2 to page 1. That tells the engine page 2 doesn't exist, and the units on it don't either.
  • The </code> and <code><h1></code> on page 2 should reference the page</em>, <em>"Sport UTVs for Sale, Page 2"</em> or similar. The intro content block need not repeat across paginated pages, but it should appear on page 1.</li><li><em>Internal linking</em>, cross-link adjacent pages and the first/last page from each paginated view.</li></ul><h3>Faceted navigation: the trap to avoid</h3><p>The single failure mode that kills SRP performance is generating an unbounded number of indexable filtered URLs with no editorial control. Color × make × year × trim × use-case filter combinations on a 200-unit lot can generate tens of thousands of URLs, every one of them a near-duplicate of every other one.</p><p>The fix is a small set of rules in the platform:</p><ol><li><em>A whitelist of filter combinations that generate indexable URLs.</em> Vehicle type and use case, primarily. Maybe a small set of price-bucket pages where intent is high (<em>"UTVs under $15,000"</em>).</li><li><em>Everything outside the whitelist returns <code>noindex, follow</code></em> on the filtered page, with <code>rel="canonical"</code> to the nearest indexable parent.</li><li><em>Robots directives are consistent.</em> If the page is <code>noindex, follow</code>, it should not also be in the sitemap. Mixed signals confuse crawlers.</li><li><em>Internal links don't point to non-indexable filter states.</em> Filter UI is for buyers; internal links are for engines. Cross-link only between indexable pages.</li></ol><h2><span id="schema-for-category-pages"></span>Schema for category pages</h2><p>Category SRPs get their own schema treatment. The page is not a single product, it's a list of products, with a category context. Two schema types matter: <code>BreadcrumbList</code> and <code>ItemList</code>.</p><h3><code>BreadcrumbList</code> on every category page</h3><p>Every category page should ship with breadcrumbs in both visible UI and schema:</p><pre><code>{ "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://dealersite.com/" }, { "@type": "ListItem", "position": 2, "name": "Inventory", "item": "https://dealersite.com/inventory/" }, { "@type": "ListItem", "position": 3, "name": "UTVs", "item": "https://dealersite.com/inventory/utv/" }, { "@type": "ListItem", "position": 4, "name": "Sport UTVs", "item": "https://dealersite.com/inventory/utv/sport/" } ] }</code></pre><p><code>BreadcrumbList</code> is a small piece of JSON-LD with outsized impact. Engines use it to construct rich-result breadcrumbs in the SERP and to understand the site's hierarchy. AI engines use it to disambiguate which category a page represents.</p><h3><code>ItemList</code> summarizing the units on the page</h3><p>The list of units on a category page can be expressed as an <code>ItemList</code> of either <code>Vehicle</code> items (full schema) or simpler URL references with names. The full-schema variant is heavier but more useful for AI retrieval; the URL-reference variant is lighter.</p><pre><code>{ "@context": "https://schema.org", "@type": "ItemList", "name": "Sport UTVs for Sale", "numberOfItems": 12, "itemListElement": [ { "@type": "ListItem", "position": 1, "url": "https://dealersite.com/inventory/utv/2026-make-model-trim-vin12345", "name": "2026 [Make] [Model] [Trim]" }, { "@type": "ListItem", "position": 2, "url": "https://dealersite.com/inventory/utv/2025-make-model-trim-vin12346", "name": "2025 [Make] [Model] [Trim]" } ] }</code></pre><p>For full-detail variants, embed <code>Vehicle</code> schema inside each <code>ListItem</code> matching the same shape used on the VDP. The visible page content and the schema list should reflect the same units in the same order. For the full per-unit schema shape, see <a href="/blog/powersports-schema-cookbook-json-ld-vehicle-offer-localbusiness-organization">the powersports schema cookbook</a>.</p><h3>Page-level schema for the category itself</h3><p>The category page itself can use <code>CollectionPage</code> as its top-level type, with <code>mainEntity</code> set to the <code>ItemList</code>:</p><pre><code>{ "@context": "https://schema.org", "@type": "CollectionPage", "name": "Sport UTVs for Sale", "description": "Sport-class UTVs and side-by-sides in stock at [Dealership Name], covering [makes carried], with full specs, financing, and trade-in valuation on every unit.", "url": "https://dealersite.com/inventory/utv/sport/", "mainEntity": { "@type": "ItemList", "name": "Sport UTVs", "numberOfItems": 12 } }</code></pre><p>The schema validates clean in <a href="https://search.google.com/test/rich-results">Google's Rich Results Test</a> and gives AI engines a structured handle on what the page is and what it contains.</p><h2><span id="the-200-400-word-content-block-above-the-listing-grid"></span>The 200–400 word content block above the listing grid</h2><p>Every indexable category SRP needs a short, dealer-written content block above the listing grid. Two-to-four hundred words. Two-to-three internal links to model pages, comparison guides, or use-case content. This single change gives the SRP a chance to rank for category queries that the bare listing page cannot.</p><p>!<a href="./quote-cards/powersports-srp-filter-architecture-url-strategy/powersports-srp-filter-architecture-url-strategy__quote-3__landscape.png">Vendor-syndicated boilerplate shared across dealers is worse than nothing, engines have learned to discount it.</a></p><p>Most provider templates either omit this entirely or fill it with vendor-syndicated boilerplate that ranks for nothing. The boilerplate is worse than nothing, it's keyword-stuffed, generic, and shared with every other dealer using the same provider, which the engines have learned to discount.</p><h3>What the content block should cover</h3><p>For a use-case category page (e.g., <em>"Sport UTVs for Sale"</em>), the block should answer the questions a buyer landing on that page actually has:</p><ol><li><em>What defines the category.</em> What separates a sport UTV from a utility UTV from a recreation UTV. The buyer landing on the page may be early in their research and not yet know.</li><li><em>Who the category is for.</em> Use-case fit, what the unit is built to do, what conditions it's good for, what conditions it's not.</li><li><em>What the buyer should look at when comparing units in the category.</em> Three or four spec dimensions that matter most for the use case. Engine displacement, suspension travel, drive type, vehicle width, whichever are most relevant.</li><li><em>What the dealership stocks in the category.</em> A sentence or two on which makes and ranges are represented.</li><li><em>Internal links</em> to comparison pieces, use-case guides, or related categories.</li></ol><h3>Sample content block (Sport UTVs)</h3><p>> Sport UTVs are built for high-speed recreational riding, long-travel suspension, tighter tracking, more horsepower per pound than utility-class UTVs. They're the segment buyers shop when the use case is dunes, desert, or tight rocky trails, not towing or work. The category overlaps with recreation UTVs at the lower end and with race-class units at the upper end, but the defining traits are sport suspension geometry and engine output tuned for acceleration over towing capacity. > > When comparing units in the sport category, four spec dimensions matter most. <em>Engine displacement and horsepower</em> set the performance envelope. <em>Suspension travel front and rear</em> determines what terrain the unit can absorb at speed; sport-class units typically run 18–22" of travel. <em>Vehicle width</em> matters for trail compatibility, narrower than 64" gets you into trails the wider sport units can't enter. <em>Seating capacity</em>, most sport UTVs are 2-seat, but 4-seat sport variants have grown sharply over the last three years. > > [Dealership Name] stocks sport UTVs from [makes carried], in trims ranging from entry sport to top-spec turbo. Every unit on the page below is in stock and available for test ride. Financing prequalification with a soft credit pull is available on every unit, and trade-in valuations on your existing UTV are real-time. If you're cross-shopping between sport and recreation classes, or comparing two specific trims, our team can walk the trade-offs over the phone or in person.</p><p>About 270 words. Three internal links. Use-case-specific. The block ranks for <em>"sport UTVs for sale,"</em> <em>"what is a sport UTV,"</em> <em>"sport UTV vs recreation UTV,"</em> and a long tail of category-level intent.</p><h3>Editorial requirements</h3><ul><li><em>One block per indexable category page.</em> Don't share content across categories, that defeats the purpose.</li><li><em>Update quarterly</em> if seasonal inventory shifts (snowmobiles in fall, PWC in spring) or if the makes carried change.</li><li><em>Internal links match the page's intent</em>, comparison pieces, use-case guides, related categories.</li><li><em>The block sits above the fold of the listing grid</em> on desktop, and on mobile collapses cleanly with a "read more" affordance after the first paragraph.</li></ul><h2><span id="what-this-gets-you"></span>What this gets you</h2><p>A powersports dealer SRP architecture that gets the path-vs-query distinction right, surfaces the right finite set of category pages as indexable URLs, canonicalizes filter states cleanly, ships breadcrumb and <code>ItemList</code> schema, and runs a 200–400 word content block on every category page will outrank a generic provider-template SRP for category-level queries by a wide margin. The category traffic compounds because each page accumulates internal links, external citations, and ranking history independently, a buyer arriving on <em>"sport UTVs for sale"</em> in [your state] is a buyer the engine has now mapped to your inventory.</p><p>!<a href="./quote-cards/powersports-srp-filter-architecture-url-strategy/powersports-srp-filter-architecture-url-strategy__quote-4__landscape.png">Filter UI is for buyers; internal links are for engines. Cross-link only between indexable pages.</a></p><p>The opposite, uncontrolled faceted indexation, no content augmentation, no schema, no canonicalization, fragments equity across thousands of near-duplicate URLs and ranks for nothing. Most provider-template sites are sitting on this failure mode by default.</p><h2><span id="what-to-ask-your-website-provider"></span>What to ask your website provider</h2><p>Three questions, in this order:</p><ol><li><em>Show me the URL structure for filtered SRPs.</em> If filter combinations generate query-string URLs that are open to indexing without canonicalization, the platform is fragmenting equity by default. Ask for the rules, which filters generate indexable paths, which generate non-indexed query states, what the canonical tag does.</li><li><em>Show me a category SRP with a custom intro content block, breadcrumb schema, and <code>ItemList</code> schema validating clean.</em> If the provider can't produce a live URL, the architecture isn't there.</li><li><em>How do I edit the intro content block per category?</em> If the answer is "we ship a single boilerplate across all categories" or "we don't support custom copy on SRPs," the platform is locking you out of the highest-ROI on-page work.</li></ol><p>This guide is part of our <a href="/blog/powersports-dealership-website-playbook-seo-geo-ai-search-visibility">Powersports Website Playbook</a>, the full strategic frame, audit, 90-day plan, and provider questions for ranking and getting cited by AI search in 2026. SRPs are also the surface where <a href="/blog/powersports-inventory-feed-enrichment-sold-unit-hygiene">inventory feed enrichment and sold-unit hygiene</a> is most visible to buyers; a category page filled with sold units kills both ranking and trust simultaneously.</p></article> <section class="article-faq" data-article-faq aria-label="Frequently asked questions" data-astro-cid-qy6oe6o4><h2 class="article-faq__heading" data-astro-cid-qy6oe6o4>Frequently asked questions</h2><div class="article-faq__list" data-astro-cid-qy6oe6o4><div class="article-faq__item article-faq__item--open" data-faq-item data-astro-cid-qy6oe6o4><button class="article-faq__trigger" data-faq-trigger aria-expanded="true" data-astro-cid-qy6oe6o4><span class="article-faq__question" data-astro-cid-qy6oe6o4>Should powersports filter URLs use paths or query strings?</span><span class="article-faq__icon" aria-hidden="true" data-astro-cid-qy6oe6o4><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-qy6oe6o4><path class="article-faq__chevron" d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-qy6oe6o4></path></svg></span></button><div class="article-faq__answer-wrapper" data-faq-answer data-astro-cid-qy6oe6o4><div class="article-faq__answer" data-astro-cid-qy6oe6o4><p data-astro-cid-qy6oe6o4>Both, with a clear rule. Vehicle type and high-intent use-case categories, the segmentation buyers actually search on, belong in the URL path (<code>/inventory/utv/sport/</code>). These are the indexable category pages. Faceted filters that buyers apply on top of the category, price range, color, make-within-category, sort order, belong as query strings (<code>?price_max=15000</code>) and should be canonicalized back to the parent path page so they don't fragment ranking equity. The trap is treating every filter as a query string with no editorial choice about which combinations get to be indexable pages.</p></div></div></div><div class="article-faq__item" data-faq-item data-astro-cid-qy6oe6o4><button class="article-faq__trigger" data-faq-trigger aria-expanded="false" data-astro-cid-qy6oe6o4><span class="article-faq__question" data-astro-cid-qy6oe6o4>How many category pages should a powersports dealer maintain?</span><span class="article-faq__icon" aria-hidden="true" data-astro-cid-qy6oe6o4><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-qy6oe6o4><path class="article-faq__chevron" d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-qy6oe6o4></path></svg></span></button><div class="article-faq__answer-wrapper" data-faq-answer data-astro-cid-qy6oe6o4><div class="article-faq__answer" data-astro-cid-qy6oe6o4><p data-astro-cid-qy6oe6o4>For a dealer carrying all five major segments (motorcycles, UTVs, ATVs, snowmobiles, PWC), a working set is in the 25–40 indexable category pages range. Each segment has 4–8 use-case sub-categories, plus a small set of segment-level pages (all motorcycles, all UTVs), plus a used-inventory variant for the segments where used volume is meaningful. The bound is editorial, you have to be able to maintain a custom 200–400 word intro block on each, and update the makes-carried and category-stocking sentences when inventory shifts. If you can't maintain it, don't index it.</p></div></div></div><div class="article-faq__item" data-faq-item data-astro-cid-qy6oe6o4><button class="article-faq__trigger" data-faq-trigger aria-expanded="false" data-astro-cid-qy6oe6o4><span class="article-faq__question" data-astro-cid-qy6oe6o4>Should paginated SRP pages be indexed or noindex'd?</span><span class="article-faq__icon" aria-hidden="true" data-astro-cid-qy6oe6o4><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-qy6oe6o4><path class="article-faq__chevron" d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-qy6oe6o4></path></svg></span></button><div class="article-faq__answer-wrapper" data-faq-answer data-astro-cid-qy6oe6o4><div class="article-faq__answer" data-astro-cid-qy6oe6o4><p data-astro-cid-qy6oe6o4>Indexed and self-canonical. Page 2 of the sport-UTV category should index on its own URL with <code>rel="canonical"</code> pointing to itself, <em>not</em> to page 1. The reason is inventory discovery, engines need to crawl the deeper pages to find the units listed there. <code>noindex</code>'ing pagination removes that inventory from the index. <code>rel="canonical"</code>-ing page 2 to page 1 tells the engine page 2 doesn't exist as a separate page, which has the same effect. The right pattern is real, indexable, self-canonical pagination with each page's <code><title></code> and <code><h1></code> referencing the page number.</p></div></div></div><div class="article-faq__item" data-faq-item data-astro-cid-qy6oe6o4><button class="article-faq__trigger" data-faq-trigger aria-expanded="false" data-astro-cid-qy6oe6o4><span class="article-faq__question" data-astro-cid-qy6oe6o4>What's the right schema for a powersports category SRP?</span><span class="article-faq__icon" aria-hidden="true" data-astro-cid-qy6oe6o4><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-qy6oe6o4><path class="article-faq__chevron" d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-qy6oe6o4></path></svg></span></button><div class="article-faq__answer-wrapper" data-faq-answer data-astro-cid-qy6oe6o4><div class="article-faq__answer" data-astro-cid-qy6oe6o4><p data-astro-cid-qy6oe6o4>Three layers. The page itself uses <code>CollectionPage</code> as the top-level type. <code>BreadcrumbList</code> schema reflects the path hierarchy (Home → Inventory → UTVs → Sport UTVs). <code>ItemList</code> schema enumerates the units on the page, either with full nested <code>Vehicle</code> schema per unit (heavier, better for AI retrieval) or with URL-and-name references (lighter, still useful). All three should validate clean in Google's Rich Results Test on every category page type. The full per-unit <code>Vehicle</code> schema shape is in <a href="/blog/powersports-schema-cookbook-json-ld-vehicle-offer-localbusiness-organization">the powersports schema cookbook</a>.</p></div></div></div><div class="article-faq__item" data-faq-item data-astro-cid-qy6oe6o4><button class="article-faq__trigger" data-faq-trigger aria-expanded="false" data-astro-cid-qy6oe6o4><span class="article-faq__question" data-astro-cid-qy6oe6o4>How long should the content block above the SRP grid be?</span><span class="article-faq__icon" aria-hidden="true" data-astro-cid-qy6oe6o4><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-qy6oe6o4><path class="article-faq__chevron" d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-qy6oe6o4></path></svg></span></button><div class="article-faq__answer-wrapper" data-faq-answer data-astro-cid-qy6oe6o4><div class="article-faq__answer" data-astro-cid-qy6oe6o4><p data-astro-cid-qy6oe6o4>Two-to-four hundred words. Long enough to define the category, who it's for, the spec dimensions that matter for comparison, and what the dealership stocks; short enough to sit above the fold without pushing the listing grid below it. Two-to-three internal links, to comparison pieces, use-case guides, or related categories. One block per indexable category page, updated quarterly when inventory composition or makes carried shift. Vendor-syndicated boilerplate shared across dealers is worse than nothing, engines have learned to discount it.</p></div></div></div><div class="article-faq__item" data-faq-item data-astro-cid-qy6oe6o4><button class="article-faq__trigger" data-faq-trigger aria-expanded="false" data-astro-cid-qy6oe6o4><span class="article-faq__question" data-astro-cid-qy6oe6o4>What's the single biggest SRP mistake on most powersports dealer websites?</span><span class="article-faq__icon" aria-hidden="true" data-astro-cid-qy6oe6o4><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-qy6oe6o4><path class="article-faq__chevron" d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-qy6oe6o4></path></svg></span></button><div class="article-faq__answer-wrapper" data-faq-answer data-astro-cid-qy6oe6o4><div class="article-faq__answer" data-astro-cid-qy6oe6o4><p data-astro-cid-qy6oe6o4>Uncontrolled faceted indexation. The provider platform generates a URL for every filter combination the buyer applies, all of those URLs are open to indexing, the engine crawls thousands of near-duplicate variants, and the category's ranking equity fragments across all of them. The fix is making an editorial choice, a finite whitelist of filter combinations that generate indexable category pages with custom content, breadcrumb schema, and <code>ItemList</code> schema; everything else is a non-indexed filter state on the canonical SRP. Most provider templates ship the broken pattern by default and require the dealer to ask for the fix.</p></div></div></div></div></section><script type="module">function c(){document.querySelectorAll("[data-article-faq]").forEach(a=>{a.querySelectorAll("[data-faq-trigger]").forEach(t=>{t.addEventListener("click",()=>{const e=t.closest("[data-faq-item]");if(!e)return;const s=e.classList.contains("article-faq__item--open");a.querySelectorAll("[data-faq-item]").forEach(r=>{r.classList.remove("article-faq__item--open");const i=r.querySelector("[data-faq-trigger]");i&&i.setAttribute("aria-expanded","false")}),s||(e.classList.add("article-faq__item--open"),t.setAttribute("aria-expanded","true"))})})})}c();document.addEventListener("astro:after-swap",c);</script> </div> <!-- Aside column (1/4) --> <aside class="article-body__aside" data-astro-cid-4o336d3p> <!-- Partner metadata (case studies only) --> <!-- Table of contents (sticky) --> <div class="article-toc" data-astro-cid-4o336d3p> <span class="article-toc__label" data-astro-cid-4o336d3p>Table of contents</span> <ul class="article-toc__list" data-astro-cid-4o336d3p> <li class="article-toc__item" data-astro-cid-4o336d3p> <a href="#why-powersports-srps-aren-t-automotive-srps" class="article-toc__link" data-astro-cid-4o336d3p> Why powersports SRPs aren't automotive SRPs </a> </li><li class="article-toc__item" data-astro-cid-4o336d3p> <a href="#filter-taxonomy-by-powersports-type" class="article-toc__link" data-astro-cid-4o336d3p> Filter taxonomy by powersports type </a> </li><li class="article-toc__item" data-astro-cid-4o336d3p> <a href="#url-strategy-the-architectural-decision-most-dealers-don-t-realize-they-re-making" class="article-toc__link" data-astro-cid-4o336d3p> URL strategy: the architectural decision most dealers don't realize they're making </a> </li><li class="article-toc__item" data-astro-cid-4o336d3p> <a href="#schema-for-category-pages" class="article-toc__link" data-astro-cid-4o336d3p> Schema for category pages </a> </li><li class="article-toc__item" data-astro-cid-4o336d3p> <a href="#the-200-400-word-content-block-above-the-listing-grid" class="article-toc__link" data-astro-cid-4o336d3p> The 200–400 word content block above the listing grid </a> </li><li class="article-toc__item" data-astro-cid-4o336d3p> <a href="#what-this-gets-you" class="article-toc__link" data-astro-cid-4o336d3p> What this gets you </a> </li><li class="article-toc__item" data-astro-cid-4o336d3p> <a href="#what-to-ask-your-website-provider" class="article-toc__link" data-astro-cid-4o336d3p> What to ask your website provider </a> </li> </ul> </div> </aside> </div> <div class="article-body__margin article-body__margin--right" data-astro-cid-4o336d3p></div> </section> <!-- 4. GridDivider --> <div class="grid-divider" data-columns="3" data-astro-cid-xllyjpz6> <div class="grid-divider__margin grid-divider__margin--left" data-astro-cid-xllyjpz6></div> <div class="grid-divider__cell grid-divider__cell--border-right" data-astro-cid-xllyjpz6></div><div class="grid-divider__cell grid-divider__cell--border-right" data-astro-cid-xllyjpz6></div><div class="grid-divider__cell" data-astro-cid-xllyjpz6></div> <div class="grid-divider__margin grid-divider__margin--right" data-astro-cid-xllyjpz6></div> </div> <!-- 5. Related Articles Section --> <section class="article-related" data-astro-cid-4o336d3p> <div class="article-related__margin article-related__margin--left" data-astro-cid-4o336d3p></div> <div class="article-related__center" data-astro-cid-4o336d3p> <div class="article-related__header" data-astro-cid-4o336d3p> <h2 class="article-related__heading" data-astro-cid-4o336d3p>Related blogs</h2> <a href="/blog" class="pill pill--outline article-related__read-all" data-astro-cid-4o336d3p> View all <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-4o336d3p> <path d="M5 12h14M13 6l6 6-6 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-4o336d3p></path> </svg> </a> </div> <div class="article-related__grid" data-astro-cid-4o336d3p> <a href="/blog/20-email-marketing-mistakes-vehicle-dealerships-should-avoid" class="article-related__card" data-astro-cid-4o336d3p> <div class="article-related__image-wrap" data-astro-cid-4o336d3p> <img src="/images/blog/20-email-marketing-mistakes-vehicle-dealerships-should-avoid-cover.jpg" alt="20 Email Marketing Mistakes Vehicle Dealerships Need to Stop Making in 2026" class="article-related__image" data-astro-cid-4o336d3p> </div> <h3 class="article-related__title" data-astro-cid-4o336d3p>20 Email Marketing Mistakes Vehicle Dealerships Need to Stop Making in 2026</h3> <p class="article-related__meta" data-astro-cid-4o336d3p> May 29, 2026 · 12 min read </p> </a><a href="/blog/facebook-ad-optimization-for-vehicle-dealerships" class="article-related__card" data-astro-cid-4o336d3p> <div class="article-related__image-wrap" data-astro-cid-4o336d3p> <img src="/images/blog/facebook-ad-optimization-for-vehicle-dealerships-cover.jpg" alt="Facebook Ads Are Bleeding Dealership Budgets. Here’s the Fix." class="article-related__image" data-astro-cid-4o336d3p> </div> <h3 class="article-related__title" data-astro-cid-4o336d3p>Facebook Ads Are Bleeding Dealership Budgets. Here’s the Fix.</h3> <p class="article-related__meta" data-astro-cid-4o336d3p> May 28, 2026 · 16 min read </p> </a><a href="/blog/local-seo-for-vehicle-dealerships" class="article-related__card" data-astro-cid-4o336d3p> <div class="article-related__image-wrap" data-astro-cid-4o336d3p> <img src="/images/blog/local-seo-for-vehicle-dealerships-cover.jpg" alt="Local SEO for Vehicle Dealerships: How to Win “Near Me” Search in 2026" class="article-related__image" data-astro-cid-4o336d3p> </div> <h3 class="article-related__title" data-astro-cid-4o336d3p>Local SEO for Vehicle Dealerships: How to Win “Near Me” Search in 2026</h3> <p class="article-related__meta" data-astro-cid-4o336d3p> May 27, 2026 · 14 min read </p> </a> </div> </div> <div class="article-related__margin article-related__margin--right" data-astro-cid-4o336d3p></div> </section> <!-- 6. GridDivider + PricingBottomCta + GridDivider --> <div class="grid-divider" data-columns="3" data-astro-cid-xllyjpz6> <div class="grid-divider__margin grid-divider__margin--left" data-astro-cid-xllyjpz6></div> <div class="grid-divider__cell grid-divider__cell--border-right" data-astro-cid-xllyjpz6></div><div class="grid-divider__cell grid-divider__cell--border-right" data-astro-cid-xllyjpz6></div><div class="grid-divider__cell" data-astro-cid-xllyjpz6></div> <div class="grid-divider__margin grid-divider__margin--right" data-astro-cid-xllyjpz6></div> </div> <section class="pricing-bottom-cta" data-astro-cid-lawuacev> <!-- Background (full section width, behind margins) --> <div class="pricing-bottom-cta__bg" aria-hidden="true" data-astro-cid-lawuacev> <img src="/images/site/pricing-bottom-cta-bg.png" alt="" class="pricing-bottom-cta__bg-img" loading="lazy" decoding="async" data-astro-cid-lawuacev> </div> <div class="pricing-bottom-cta__margin pricing-bottom-cta__margin--left" data-astro-cid-lawuacev></div> <div class="pricing-bottom-cta__center" data-astro-cid-lawuacev> <h2 class="pricing-bottom-cta__heading" data-astro-cid-lawuacev> See how much revenue you're leaving on the table </h2> <p class="pricing-bottom-cta__desc" data-astro-cid-lawuacev> Every lead left waiting is a deal someone else closes. See exactly how much revenue you're leaving on the table. </p> <a href="/book-a-demo" class="pricing-bottom-cta__btn" data-astro-cid-lawuacev>Get a quote</a> </div> <div class="pricing-bottom-cta__margin pricing-bottom-cta__margin--right" data-astro-cid-lawuacev></div> </section> <div class="grid-divider" data-columns="3" data-astro-cid-xllyjpz6> <div class="grid-divider__margin grid-divider__margin--left" data-astro-cid-xllyjpz6></div> <div class="grid-divider__cell grid-divider__cell--border-right" data-astro-cid-xllyjpz6></div><div class="grid-divider__cell grid-divider__cell--border-right" data-astro-cid-xllyjpz6></div><div class="grid-divider__cell" data-astro-cid-xllyjpz6></div> <div class="grid-divider__margin grid-divider__margin--right" data-astro-cid-xllyjpz6></div> </div> </main> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCNWLNL62Bq0xZUXZfVRl9VKHci3wwMqro&libraries=places&language=en&v=weekly" async defer onload="window.dispatchEvent(new Event('google-maps-loaded'))"></script> <script src="/scripts/grader-search.js" defer></script> <style> .grader-pred-item { padding: 10px 16px; cursor: pointer; border-bottom: 1px solid rgba(0, 0, 0, 0.06); } .grader-pred-item:last-child { border-bottom: none; } .grader-pred-item--selected, .grader-pred-item:hover { background: rgba(0, 0, 0, 0.04); } .grader-pred-item__main { font-family: var(--font-family-body); font-size: var(--text-small); font-weight: 500; color: var(--text-primary); line-height: 1.4; } .grader-pred-item__secondary { font-family: var(--font-family-body); font-size: 12px; color: var(--text-secondary); line-height: 1.4; } .grader-skeleton { padding: 12px 16px; display: flex; flex-direction: column; gap: 6px; } </style> </main> <footer class="footer-v2" data-astro-cid-sz7xmlte> <div class="footer-v2__margin footer-v2__margin--left" data-astro-cid-sz7xmlte></div> <div class="footer-v2__content" data-astro-cid-sz7xmlte> <!-- Top: Logo + columns --> <div class="footer-v2__main" data-astro-cid-sz7xmlte> <div class="footer-v2__logo" data-astro-cid-sz7xmlte> <a href="/" aria-label="Ekho home" data-astro-cid-sz7xmlte> <svg width="70" height="22" viewBox="0 0 95 29" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" data-astro-cid-sz7xmlte> <path d="M6.18993 28.5111C2.77133 28.5111 0 25.7398 0 22.3212V1.03165C0 0.461886 0.461887 0 1.03165 0H19.6571C20.1492 0 20.5481 0.398902 20.5481 0.890973C20.5481 3.8434 18.1547 6.23681 15.2022 6.23681H8.77198C8.20222 6.23681 7.74033 6.6987 7.74033 7.26847V10.1055C7.74033 10.6753 8.20222 11.1372 8.77198 11.1372H18.4584C19.0281 11.1372 19.49 11.5991 19.49 12.1688V16.3423C19.49 16.9121 19.0282 17.374 18.4584 17.374H8.77198C8.20222 17.374 7.74033 17.8359 7.74033 18.4056V21.2427C7.74033 21.8124 8.20222 22.2743 8.77198 22.2743H19.4607C20.0305 22.2743 20.4924 22.7362 20.4924 23.306V27.4795C20.4924 28.0493 20.0305 28.5111 19.4607 28.5111H6.18993Z" fill="currentColor" data-astro-cid-sz7xmlte></path> <path d="M31.4033 23.4437L31.459 14.3113H32.4613L35.7873 9.69783C36.9507 8.08403 38.819 7.12779 40.8084 7.12779H44.1648C45.0228 7.12779 45.5059 8.11417 44.9798 8.79197L37.5844 18.3206H35.4127L31.4033 23.4437ZM25.5299 28.5111C24.9602 28.5111 24.4983 28.0493 24.4983 27.4795V1.03165C24.4983 0.461886 24.9602 0 25.5299 0H25.993C29.4116 0 32.1829 2.77132 32.1829 6.18992V27.4795C32.1829 28.0493 31.721 28.5111 31.1513 28.5111H25.5299ZM38.2906 28.5111C37.9225 28.5111 37.5822 28.315 37.3978 27.9964L32.7955 20.0469L37.8072 14.5897L45.5096 26.9333C45.9384 27.6205 45.4444 28.5111 44.6344 28.5111H38.2906Z" fill="currentColor" data-astro-cid-sz7xmlte></path> <path d="M55.9573 16.483V27.4795C55.9573 28.0493 55.4954 28.5111 54.9256 28.5111H49.3043C48.7345 28.5111 48.2726 28.0493 48.2726 27.4795V1.03165C48.2726 0.461886 48.7345 0 49.3043 0H49.4889C52.9075 0 55.6789 2.77132 55.6789 6.18992V11.0624C55.6789 11.1344 55.7373 11.1929 55.8093 11.1929C55.8646 11.1929 55.9139 11.1579 55.9329 11.106C56.4186 9.78335 57.211 8.74964 58.31 8.00484C59.433 7.23452 60.7834 6.84936 62.3611 6.84936C63.8739 6.84936 65.1872 7.19275 66.3009 7.87954C67.4239 8.56634 68.2917 9.51299 68.9042 10.7195C69.5261 11.926 69.8323 13.3089 69.8231 14.8681V27.4795C69.8231 28.0493 69.3612 28.5111 68.7914 28.5111H63.1701C62.6003 28.5111 62.1384 28.0493 62.1384 27.4795V16.483C62.1477 15.425 61.8832 14.5943 61.3449 13.9911C60.8159 13.3878 60.0595 13.0862 59.0757 13.0862C58.4539 13.0862 57.9063 13.2254 57.433 13.5038C56.9689 13.773 56.607 14.1628 56.3471 14.6732C56.0965 15.1744 55.9666 15.7776 55.9573 16.483Z" fill="currentColor" data-astro-cid-sz7xmlte></path> <path d="M83.9185 28.9009C81.5983 28.9009 79.6122 28.4415 77.9601 27.5227C76.3081 26.5946 75.0413 25.3046 74.1596 23.6526C73.2779 21.9913 72.837 20.0655 72.837 17.8751C72.837 15.6848 73.2779 13.7637 74.1596 12.1117C75.0413 10.4504 76.3081 9.16032 77.9601 8.2415C79.6122 7.3134 81.5983 6.84936 83.9185 6.84936C86.2388 6.84936 88.2249 7.3134 89.8769 8.2415C91.5289 9.16032 92.7958 10.4504 93.6775 12.1117C94.5592 13.7637 95 15.6848 95 17.8751C95 20.0655 94.5592 21.9913 93.6775 23.6526C92.7958 25.3046 91.5289 26.5946 89.8769 27.5227C88.2249 28.4415 86.2388 28.9009 83.9185 28.9009ZM83.9742 23.221C84.6239 23.221 85.1854 23.0029 85.6587 22.5667C86.132 22.1305 86.4986 21.5086 86.7585 20.7012C87.0184 19.8938 87.1483 18.9332 87.1483 17.8195C87.1483 16.6965 87.0184 15.7359 86.7585 14.9377C86.4986 14.1303 86.132 13.5085 85.6587 13.0722C85.1854 12.636 84.6239 12.4179 83.9742 12.4179C83.2874 12.4179 82.6981 12.636 82.2062 13.0722C81.7143 13.5085 81.3384 14.1303 81.0786 14.9377C80.8187 15.7359 80.6887 16.6965 80.6887 17.8195C80.6887 18.9332 80.8187 19.8938 81.0786 20.7012C81.3384 21.5086 81.7143 22.1305 82.2062 22.5667C82.6981 23.0029 83.2874 23.221 83.9742 23.221Z" fill="currentColor" data-astro-cid-sz7xmlte></path> </svg> </a> </div> <div class="footer-v2__columns" data-astro-cid-sz7xmlte> <div class="footer-v2__stacked-col" data-astro-cid-sz7xmlte> <div class="footer-v2__col" data-astro-cid-sz7xmlte> <p class="footer-v2__col-heading" data-astro-cid-sz7xmlte>Products</p> <ul class="footer-v2__col-links" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="/sales-agent" class="footer-v2__link" data-astro-cid-sz7xmlte> Sales Agent </a> </li><li data-astro-cid-sz7xmlte> <a href="/transaction-engine" class="footer-v2__link" data-astro-cid-sz7xmlte> Transaction Engine </a> </li><li data-astro-cid-sz7xmlte> <a href="/website" class="footer-v2__link" data-astro-cid-sz7xmlte> Website </a> </li> </ul> </div><div class="footer-v2__col" data-astro-cid-sz7xmlte> <p class="footer-v2__col-heading" data-astro-cid-sz7xmlte>Solutions</p> <ul class="footer-v2__col-links" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="/use-case/dealership" class="footer-v2__link" data-astro-cid-sz7xmlte> Dealership </a> </li><li data-astro-cid-sz7xmlte> <a href="/use-case/dealer-group" class="footer-v2__link" data-astro-cid-sz7xmlte> Dealer group </a> </li><li data-astro-cid-sz7xmlte> <a href="/use-case/oem-with-dealer-network" class="footer-v2__link" data-astro-cid-sz7xmlte> OEM with dealer network </a> </li><li data-astro-cid-sz7xmlte> <a href="/use-case/new-entrant-oem" class="footer-v2__link" data-astro-cid-sz7xmlte> New entrant OEM </a> </li><li data-astro-cid-sz7xmlte> <a href="/use-case/marketplace-shopping-site" class="footer-v2__link" data-astro-cid-sz7xmlte> Marketplace / Shopping site </a> </li><li data-astro-cid-sz7xmlte> <a href="/use-case/distributor" class="footer-v2__link" data-astro-cid-sz7xmlte> Distributor </a> </li> </ul> </div><div class="footer-v2__col" data-astro-cid-sz7xmlte> <p class="footer-v2__col-heading" data-astro-cid-sz7xmlte>Resources</p> <ul class="footer-v2__col-links" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="/careers" class="footer-v2__link" data-astro-cid-sz7xmlte> Careers </a> </li><li data-astro-cid-sz7xmlte> <a href="/integrations" class="footer-v2__link" data-astro-cid-sz7xmlte> Integrations </a> </li><li data-astro-cid-sz7xmlte> <a href="/pricing" class="footer-v2__link" data-astro-cid-sz7xmlte> Pricing </a> </li><li data-astro-cid-sz7xmlte> <a href="/blog" class="footer-v2__link" data-astro-cid-sz7xmlte> Blog </a> </li><li data-astro-cid-sz7xmlte> <a href="/case-studies" class="footer-v2__link" data-astro-cid-sz7xmlte> Case Studies </a> </li><li data-astro-cid-sz7xmlte> <a href="/press" class="footer-v2__link" data-astro-cid-sz7xmlte> Press </a> </li><li data-astro-cid-sz7xmlte> <a href="https://docs.ekhodealer.com/" class="footer-v2__link" target="_blank" rel="noopener noreferrer" data-astro-cid-sz7xmlte> Docs </a> </li><li data-astro-cid-sz7xmlte> <a href="https://docs.ekhodealer.com/api-reference" class="footer-v2__link" target="_blank" rel="noopener noreferrer" data-astro-cid-sz7xmlte> API Reference </a> </li> </ul> </div> <div class="footer-v2__col footer-v2__mobile-only" data-astro-cid-sz7xmlte> <p class="footer-v2__col-heading" data-astro-cid-sz7xmlte>Company</p> <ul class="footer-v2__col-links" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="https://admin.ekhodealer.com/" class="footer-v2__link" target="_blank" rel="noopener noreferrer" data-astro-cid-sz7xmlte> Partner Login </a> </li><li data-astro-cid-sz7xmlte> <a href="/legal/terms-conditions" class="footer-v2__link" data-astro-cid-sz7xmlte> Terms </a> </li><li data-astro-cid-sz7xmlte> <a href="/legal/privacy-policy" class="footer-v2__link" data-astro-cid-sz7xmlte> Privacy </a> </li><li data-astro-cid-sz7xmlte> <a href="/legal/ccpa-notice" class="footer-v2__link" data-astro-cid-sz7xmlte> CCPA Notice </a> </li><li data-astro-cid-sz7xmlte> <a href="/security" class="footer-v2__link" data-astro-cid-sz7xmlte> Security </a> </li> </ul> </div> </div> <div class="footer-v2__stacked-col" data-astro-cid-sz7xmlte> <div class="footer-v2__col" data-astro-cid-sz7xmlte> <p class="footer-v2__col-heading" data-astro-cid-sz7xmlte>Building Blocks</p> <ul class="footer-v2__col-links" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="/building-block/ai-chat" class="footer-v2__link" data-astro-cid-sz7xmlte> AI Chat </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/ai-sms" class="footer-v2__link" data-astro-cid-sz7xmlte> AI SMS </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/ai-email" class="footer-v2__link" data-astro-cid-sz7xmlte> AI Email </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/ai-listing-enrichment" class="footer-v2__link" data-astro-cid-sz7xmlte> AI Listing Enrichment </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/configurator" class="footer-v2__link" data-astro-cid-sz7xmlte> Configurator </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/checkout" class="footer-v2__link" data-astro-cid-sz7xmlte> Checkout </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/preorder" class="footer-v2__link" data-astro-cid-sz7xmlte> Preorder </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/fi-aftermarket-engine" class="footer-v2__link" data-astro-cid-sz7xmlte> F&I Aftermarket Engine </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/embedded-financing-engine" class="footer-v2__link" data-astro-cid-sz7xmlte> Financing Engine </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/financing-pre-qualification" class="footer-v2__link" data-astro-cid-sz7xmlte> Financing Prequal </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/titling-and-registration-engine" class="footer-v2__link" data-astro-cid-sz7xmlte> Titling & Registration </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/tax-engine" class="footer-v2__link" data-astro-cid-sz7xmlte> Tax Engine </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/fraud-prevention" class="footer-v2__link" data-astro-cid-sz7xmlte> Fraud Prevention </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/compliance" class="footer-v2__link" data-astro-cid-sz7xmlte> Compliance </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/ai-website-builder" class="footer-v2__link" data-astro-cid-sz7xmlte> AI Website Builder </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/trade-in-valuation" class="footer-v2__link" data-astro-cid-sz7xmlte> Trade-In Valuation </a> </li><li data-astro-cid-sz7xmlte> <a href="/building-block/seo-geo-monitor" class="footer-v2__link" data-astro-cid-sz7xmlte> SEO & GEO Monitor </a> </li> </ul> </div> </div> <div class="footer-v2__stacked-col" data-astro-cid-sz7xmlte> <div class="footer-v2__col" data-astro-cid-sz7xmlte> <p class="footer-v2__col-heading" data-astro-cid-sz7xmlte>Socials</p> <ul class="footer-v2__col-links" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="https://www.linkedin.com/company/ekho-dot-com/" class="footer-v2__link" target="_blank" rel="noopener noreferrer" data-astro-cid-sz7xmlte> LinkedIn </a> </li> </ul> </div> <div class="footer-v2__col footer-v2__desktop-only" data-astro-cid-sz7xmlte> <p class="footer-v2__col-heading" data-astro-cid-sz7xmlte>Company</p> <ul class="footer-v2__col-links" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="https://admin.ekhodealer.com/" class="footer-v2__link" target="_blank" rel="noopener noreferrer" data-astro-cid-sz7xmlte> Partner Login </a> </li><li data-astro-cid-sz7xmlte> <a href="/legal/terms-conditions" class="footer-v2__link" data-astro-cid-sz7xmlte> Terms </a> </li><li data-astro-cid-sz7xmlte> <a href="/legal/privacy-policy" class="footer-v2__link" data-astro-cid-sz7xmlte> Privacy </a> </li><li data-astro-cid-sz7xmlte> <a href="/legal/ccpa-notice" class="footer-v2__link" data-astro-cid-sz7xmlte> CCPA Notice </a> </li><li data-astro-cid-sz7xmlte> <a href="/security" class="footer-v2__link" data-astro-cid-sz7xmlte> Security </a> </li> </ul> </div> </div> </div> </div> <!-- Bottom: legal --> </div> <div class="footer-v2__margin footer-v2__margin--right" data-astro-cid-sz7xmlte></div> <!-- Legal bar sits outside the flex row so border-top extends full width --> <div class="footer-v2__legal-wrap" data-astro-cid-sz7xmlte> <div class="footer-v2__legal" data-astro-cid-sz7xmlte> <span data-astro-cid-sz7xmlte>© 2026 Ekho, Inc.</span> <div class="footer-v2__compliance" data-astro-cid-sz7xmlte> <a href="/security" class="footer-v2__badge" data-astro-cid-sz7xmlte> <svg width="14" height="14" viewBox="0 0 16 16" fill="none" data-astro-cid-sz7xmlte><path d="M8 1L3 3.5V7.5C3 11 5.3 13.8 8 15C10.7 13.8 13 11 13 7.5V3.5L8 1Z" stroke="currentColor" stroke-width="1.2" stroke-linejoin="round" data-astro-cid-sz7xmlte></path><path d="M6 8L7.3 9.3L10 6.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-sz7xmlte></path></svg> SOC 2 </a> <a href="/security" class="footer-v2__badge" data-astro-cid-sz7xmlte> <svg width="14" height="14" viewBox="0 0 16 16" fill="none" data-astro-cid-sz7xmlte><path d="M8 1L3 3.5V7.5C3 11 5.3 13.8 8 15C10.7 13.8 13 11 13 7.5V3.5L8 1Z" stroke="currentColor" stroke-width="1.2" stroke-linejoin="round" data-astro-cid-sz7xmlte></path><path d="M6 8L7.3 9.3L10 6.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-sz7xmlte></path></svg> PCI DSS </a> <a href="/security" class="footer-v2__badge" data-astro-cid-sz7xmlte> <svg width="14" height="14" viewBox="0 0 16 16" fill="none" data-astro-cid-sz7xmlte><path d="M8 1L3 3.5V7.5C3 11 5.3 13.8 8 15C10.7 13.8 13 11 13 7.5V3.5L8 1Z" stroke="currentColor" stroke-width="1.2" stroke-linejoin="round" data-astro-cid-sz7xmlte></path><path d="M6 8L7.3 9.3L10 6.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-sz7xmlte></path></svg> GLBA </a> <a href="/security" class="footer-v2__badge" data-astro-cid-sz7xmlte> <svg width="14" height="14" viewBox="0 0 16 16" fill="none" data-astro-cid-sz7xmlte><rect x="2" y="7" width="12" height="7" rx="1.5" stroke="currentColor" stroke-width="1.2" data-astro-cid-sz7xmlte></rect><path d="M5 7V5C5 3.34 6.34 2 8 2C9.66 2 11 3.34 11 5V7" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" data-astro-cid-sz7xmlte></path></svg> 256-bit </a> </div> </div> </div> </footer> <script>(function(){const blogTitle = "Powersports SRP Filter Architecture: URL Strategy That Doesn't Dilute Equity"; const blogSlug = "powersports-srp-filter-architecture"; window.ekhoTrack && window.ekhoTrack('ViewContent', { content_name: blogTitle, content_category: 'Blog', content_ids: [blogSlug], content_type: 'article', }); })();</script> </body> </html>