What is a PLP (product listing page) in ecommerce?
A PLP (product listing page) is the page of an online store that shows several products at once, each with its image, name and price, and links to each one's product page. Category pages, collections and internal search results are PLPs; the page of a single product is the PDP.
Key takeaways
- A PLP lists several products and links to their product pages: categories, collections and internal search results all are.
- Google recommends linking from categories to all product pages; otherwise it may not find every product by crawling.
- Each page of a paginated category needs its own URL and its own canonical, not the first page's.
- Filters and sort orders multiply URLs; Google recommends keeping variations of the same list out of the index.
- Product markup goes on the product pages; a PLP can carry list markup for Google's beta product carousel, which exists only in the European Economic Area.
PLP is the ecommerce acronym for any page that lists products: the "Trail running shoes" category, the sale collection, your store's search results. Its counterpart is the PDP (product detail page), the product page. The PLP does not sell anything by itself, but it decides two things that do matter: how a shopper gets to each product page and how Google does. A badly paginated category, or one with uncontrolled filters, can leave product pages undiscovered and fill the crawl with URLs that add nothing.
How it works
Which pages are PLPs. All the ones that show a list of products linking to their product pages. In a Shopify theme, the collection template is the one that renders the page listing all the products in a collection, and it supports filters, sorting through a URL parameter (sort_by) and pagination.[1]Shopify.dev. collection (template) In Google Analytics 4, viewing one of these lists is measured with the view_item_list event, and picking a product from it, with select_item.[2]Google Analytics, developer documentation. Measure ecommerce A category page is the most common case, but not the only one.
How Google uses them. For Google, a store's structure runs from the menu to the categories, from the categories to the subcategories and from there to every product page. The more internal links a page receives, the more relative importance it has within the site, and if categories do not link directly to all their products, Googlebot may not find them all by crawling alone. That is why it asks for real links, with <a href>, and not navigation that depends on JavaScript. If you cannot link everything, it offers an alternative: an XML sitemap or a feed from Google Merchant Center.[3]Google Search Central. Help Google understand your ecommerce site structure
Pagination. A big category does not fit on one page: Shopify, for example, caps a collection at 50 products per page and requires pagination so all of them stay reachable.[1]Shopify.dev. collection (template) Google describes three ways to split up a long list (pagination, a "load more" button and infinite scroll) and warns that its crawlers do not click buttons and generally do not trigger JavaScript functions that need a user action. What it recommends: a URL of its own for each page, for example with ?page=2, no # fragments, and links from each page to the next.[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search It no longer uses the rel="next" and rel="prev" tags.[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search
Filters and sorting. Faceted navigation lets the visitor change how a page's products are shown: by size, by color, by price. Each combination can generate a new URL, and since the crawler does not know whether a URL is useful until it visits it, it ends up visiting a huge number of filter URLs before discarding them, with less time for the new pages that do matter.[5]Google Search Central. Managing crawling of faceted navigation URLs To keep variations of the same list out of the index, Google suggests marking them noindex or discouraging their crawling with robots.txt.[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search For filters it adds more: keep a fixed order of parameters and return a 404 error when a combination has no results, instead of redirecting.[5]Google Search Central. Managing crawling of faceted navigation URLs
Markup. Product markup for merchant listings is for the product page, not the PLP: Google's product results accept only pages centered on one product or its variants.[6]Google Search Central. Merchant listing (Product, Offer) structured data What a PLP can carry is ItemList. Google offers in beta, only in countries of the European Economic Area, a carousel for several verticals, products among them, which is enabled with ItemList on a summary or category page that links to at least three product pages on the same domain.[7]Google Search Central. Structured data carousels (beta)
In a store
A fictional example of how the URLs of a single category multiply. A sporting goods store has a "Trail running shoes" category with 120 models, 50 per page, a size filter with 9 values, a color filter with 6 and 4 ways to sort.
| URL | What it is | What to do with it |
|---|---|---|
/trail-running-shoes |
The PLP | Indexable, with a canonical pointing to itself |
/trail-running-shoes?page=2 and ?page=3 |
Pages 2 and 3 of the same list | Indexable, each with its own canonical, linked in order[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search |
/trail-running-shoes?size=10 |
The list filtered by size | noindex or a robots.txt block, unless you decide that list deserves to rank[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search |
/trail-running-shoes?size=10&color=red |
Two filters combined | Same, and with the parameters always in the same order[5]Google Search Central. Managing crawling of faceted navigation URLs |
/trail-running-shoes?sort_by=price-descending |
The same list, sorted by price | noindex or a robots.txt block[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search |
The math is simple: 9 sizes times 6 colors times 4 sort orders gives 216 combinations of a single category, not counting each one's pages, and all of them show products that are already in the main list. The decision that matters is which of those lists deserve to be an entry page from Google and which are only a convenience for someone already inside.
What gets mixed up
That page 2 and later pages of a category should point their canonical to the first to avoid duplicate content. Google says the opposite: do not use the first page of a paginated sequence as the canonical, give each page its own canonical URL.[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search If page 2 points to page 1, the product pages that appear only on page 2 lose their path of links. What you do not want indexed are the filter or sort variations, not the pages of the list.
How to check it
- Open your biggest category and go to the second page. If the URL changes (for example,
?page=2) and a normal link leads to it, Google can follow it; if there is only a button that loads more products without changing the URL, its crawlers will not click it.[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search - Look at page 2's canonical in the source code: it has to point to page 2, not page 1.[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search
- Apply a filter and a sort and look at the resulting URL. Check whether it carries
noindexor whether its pattern is blocked inrobots.txt, and whether the parameters always come out in the same order.[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search[5]Google Search Central. Managing crawling of faceted navigation URLs - Check that each product in the list links to its product page with
<a href>, and that no product page is left without a path of links from some category.[3]Google Search Central. Help Google understand your ecommerce site structure - Review what markup the PLP carries. If it carries a Product block as if the page were a product, it is surplus; the markup for Google's beta carousel (European Economic Area only) is ItemList.[6]Google Search Central. Merchant listing (Product, Offer) structured data[7]Google Search Central. Structured data carousels (beta)
Related concept: category page
Every category page is a PLP, but not every PLP is a category page. The category is a stable PLP, part of the store's structure, which Google expects to find linked from the menu.[3]Google Search Central. Help Google understand your ecommerce site structure Internal search results and filtered lists are PLPs too, but they are variations generated on the fly that you normally do not want indexed.[4]Google Search Central. Pagination, incremental page loading, and their impact on Google Search They share problems (pagination, links to the product pages), and it is the category that is worth working on with its own copy and its own meta description.
To keep going, the catalog and entities reading path lays out the rest of the terms, and the guide to what an AI crawler sees in your store explains how to check what gets through from each page.
Synonyms
- English
- product listing page, category page
- Español
- página de listado de productos, listado de productos
Sources
- [1] Shopify.dev. collection (template). Accessed . ↑ ↑
- [2] Google Analytics, developer documentation. Measure ecommerce. Accessed . ↑
- [3] Google Search Central. Help Google understand your ecommerce site structure. Accessed . ↑ ↑ ↑
- [4] Google Search Central. Pagination, incremental page loading, and their impact on Google Search. Accessed . ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
- [5] Google Search Central. Managing crawling of faceted navigation URLs. Accessed . ↑ ↑ ↑ ↑
- [6] Google Search Central. Merchant listing (Product, Offer) structured data. Accessed . ↑ ↑
- [7] Google Search Central. Structured data carousels (beta). Accessed . ↑ ↑
Change history
- First English version.
This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.
Related terms
PDP
What PDP means in an online store, where the acronym shows up (analytics, themes, Google) and how to tell a PDP from a PLP on your own site.
Category page
What a category page is, how it differs from a filter or internal search results, how Google reads it and how to check it.
Faceted navigation
What faceted navigation is, how many URLs a category's filters create, what Google recommends for crawling them and how to check it on Shopify.
Product page
What a product page is, what data it carries, how Google and AI assistants read it, and how to check that the text and the markup say the same thing.
ItemList
What ItemList is in Schema.org, how ListItem orders it, which Google carousels use it with products and how to review the markup on your category pages.
Product description
What a product description is, what Google Merchant Center and AI assistants ask of it, and how to review it without mixing it up with the meta description.
Make your catalog easy for bots to read
Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.