Audit my site
On-pageIntermediateChecked against Google docs · Oct 2026

Category, product and article pages: an on-page checklist for each template

Each page type answers a different kind of search, so each template needs its own checklist. Here is what goes on category, product and article pages, how Google wants variants and product data handled, and the template mistakes that repeat across thousands of URLs.

Author: Eugene Serbin, Head of SEO at Semalt Updated: 30 October 2026 Reading time: 21 min Visuals: 5

In short

Category, product and article pages do different jobs, so each needs its own on-page checklist: a category page helps people choose from a range, a product page sells one item, an article answers a question. Because each type is built from one template, fix the template and every page of that type improves at once. Whatever structured data you add has to describe what is visible on the page, with the same price, availability, author and dates.

Why page type matters

Each page type matches a different kind of search. Someone typing women's running shoes wants to compare options, so the best result is a category page. Someone typing trail x2 men's size 42 wants one product. Someone typing how to choose trail running shoes wants an explanation. If the wrong page type answers the query, good copy will not save it.

The second reason is scale. A shop with 40 categories and 8,000 products has 8,000 product pages built from one template. If that template prints the manufacturer's description, an empty <h1> or a price in the markup that does not update after a sale, the mistake is repeated 8,000 times. The same is true for good decisions. Product page SEO, category page SEO and article page SEO are mostly template work.

This lesson covers the on-page side. Site-wide shop topics such as architecture, feeds and migrations are in the lesson E-commerce, the full markup reference is in Structured data in 2026, and the title formulas are in Title tags.

What Google officially says

Google's e-commerce documentation is short and practical. The points that shape page templates:

“If category pages don't include direct links to all products in a category, Googlebot might not find all of your products by crawling alone.”

Google Search Central — Help Google understand your ecommerce website structure. The same page adds: “It's strongly recommended to link to all products that you wish indexed.”

“We recommend focusing on adding markup to product pages instead of pages that list products or a category of products.”

Google Search Central — Merchant listing (Product) structured data

“To help Google understand your product variants, make sure that each variant can be identified by a separate URL.”

Google Search Central — Designing a URL structure for ecommerce sites

“Don't mark up content that is not visible to readers of the page.”

Google Search Central — General structured data guidelines

“The ultimate ecommerce SEO best practice is to create useful and interesting content that is valuable to users.”

Google Search Central — Help Google understand your ecommerce website structure

Google also describes the link path it expects: “add links from menus to category pages, from category pages to sub-category pages, and finally from sub-category pages to all product pages.” And it explains why internal links matter beyond discovery: “As a general rule, the more links a page has to it within a site, the higher the relative importance of the page to other pages on your site.”

Category (listing) pages: the checklist

A category page is a hub. It has to help a person narrow down a range and give Googlebot a clean path to every product in it.

Wireframe · An annotated category page
Annotated category page wireframe A category page with eight numbered parts: breadcrumbs, H1, short unique intro, subcategory links, filters and sorting, a crawlable product grid, pagination links, and a buying guide with FAQ below the grid. Each number is explained on the right. Home › Shoes › Running shoes Women's running shoes TrailRoadRacingWide fit Filter: size · colour · price Sort: popular 123Next › Buying guide · FAQ 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 BreadcrumbsH1 for the category intentShort unique introSubcategory text links Filters and sortingCrawlable product gridPagination linksBuying guide and FAQ Links up the tree + BreadcrumbListClose to the title, not a copyHelps people choose, no boilerplateReal links, high on the page Index only combinations with demandEvery product linked, name as anchorEach page has a self canonicalOnly questions buyers really ask
The grid and the subcategory links do the crawling work; the intro, H1 and guide do the ranking work. Both have to be in the template.

Title and H1 pattern

Use the plural, browsing form of the term and keep the brand at the end, for example the title Women's Running Shoes | Example Store with the H1 Women's running shoes. Generate the pattern from the category name, then hand-edit your most important categories. Avoid stuffing the title with every subcategory. The lesson Title tags covers length and rewrites.

Unique intro copy

Put a short paragraph of unique text above the grid: what the range includes, who it is for and how to choose. It gives Google context the product cards cannot. Longer buying advice can sit below the grid. What does not work is a block of keyword-heavy text at the bottom that nobody reads, or the same paragraph pasted on every category with only the name swapped.

A product grid Google can crawl

Every product card must link to the product with a real link. Google is specific: “To ensure Googlebot correctly locates the link, use <a href> tags when creating links to other content.” A grid built from onclick handlers, or a “load more” button that fetches products without changing the URL, can hide most of the range. Search boxes do not help either: “Googlebot generally doesn't try to submit searches into a search box as part of crawling a site.” Use the product name as anchor text; Google recommends “meaningful text between <a href> and </a> tags where possible, such as the title of the product being linked to.”

Subcategory links

If the category has children, link to them near the top as plain text links. This is the “from category pages to sub-category pages” step in Google's link path, and it lets people narrow down before scrolling.

Sorting, filters and pagination

These create most of the URLs on a shop. The rules in short: each paginated page has a self-referencing canonical and is reached through normal links; Google no longer uses rel="prev" and rel="next"; sort orders are not indexed; only filter combinations with real demand get indexable URLs. The full treatment is in the lesson Pagination and faceted navigation.

Images

Product thumbnails on a category page are links first. Give them alt text with the product name, and lazy-load images below the first screen without lazy-loading the links themselves.

Structured data

Add BreadcrumbList, which Google says helps it “understand the hierarchy of pages on your site”. Do not put Product markup for the whole grid on the category page. Google states: “Product rich results only support pages that focus on a single product (or multiple variants of the same product).”

FAQs, if useful

A few questions buyers really ask (sizing, care, returns for this range) can help people decide. Write them for people. Google stopped showing FAQ rich results in May 2026 (see "Structured data in 2026"), so add questions for readers, not for markup.

Canonical

The clean category URL has a self-referencing canonical. Sorted and tracking-parameter versions point their canonical to it. Use the same URL format everywhere: “Use the same URL in internal links, sitemap files, and <link rel="canonical"> tags.”

Empty and thin categories

Google documents two options. For a temporarily empty category: “Avoid linking to, or at least indexing, pages without useful content. If a category has no items, use a noindex robots meta tag.” For a category your platform removes automatically: “If your site detects that a category has become empty and automatically removes the category from on-site search and browse, consider returning a 404 (not found) HTTP status code for the page.” Categories with one or two products and no unique text are usually better merged into their parent.

Product pages: the checklist

A product page has to answer every question a buyer has, and give Google a single, consistent set of facts: name, price, availability, images and reviews.

Wireframe · An annotated product page
Annotated product page wireframe A product page with eleven numbered parts: breadcrumbs, H1 with brand and model, rating, price and availability, variant selector, add to cart with a clear stock state, image gallery, unique description, specs table, customer reviews and related products. Each number is explained on the right. Price and rating values are illustrative. Home › Shoes › Trail X2 Main image Trail X2 running shoe, men's ★★★★☆ 4.4 · 128 reviews $119.99 In stock Colour Size 40414243 Add to cart Description WeightDropUpper 290 g6 mmRecycled mesh Customer reviews ★★★★★ ★★★★☆ You may also like 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 BreadcrumbsH1: brand, model, attributeRating from on-site reviewsPrice and availability Variant selectorClear stock stateSeveral real imagesYour own description Specs as an HTML tableVisible customer reviewsRelated products Back to category + BreadcrumbListOne product per pageMatches aggregateRatingSame on page, in markup and feed Each variant has its own URLOut of stock: say so, offer optionsDescriptive alt text, several anglesNot the manufacturer's copy Sizes, materials, compatibilityEvery marked-up review is shownReal links, names as anchors
Numbers 3, 4 and 10 are the facts that also appear in Product markup, so the template must print them from the same data. Price and rating are illustrative.

Title and H1 pattern

Build the title from brand, model and the attribute people search for, then the store name: Trail X2 Running Shoe, Men's | Example Store. The H1 is the product name without the store. If two products end up with the same title, the template is missing the attribute that tells them apart.

A unique description

The manufacturer's description is published by every retailer that sells the product. There is no duplicate content penalty, but identical copy gives Google no reason to choose your page over theirs. Write your own: who the product is for, how it differs from the previous model or the cheaper option, what buyers ask your support team. For large catalogues, start with the products that sell or get searched most.

Specs

Put specifications in an HTML table or a definition list, not in an image: dimensions, weight, materials, compatibility, what is in the box. They answer long-tail searches and the same attributes feed your structured data and Merchant Center feed.

Images

Several real photos from different angles, a descriptive file name and alt text. For markup, Google prefers “Pictures clearly showing the product (for example, against a white background)”. Image URLs must be crawlable, so do not block your image folder in robots.txt. More in the lesson Images: alt, formats, sizes, lazy loading.

Price and availability, everywhere the same

The price and stock status a person sees must be the values in your Product markup and in your Merchant Center feed. Google recommends using both channels: “Providing both structured data on web pages and a Merchant Center feed maximizes your eligibility to experiences and helps Google correctly understand and verify your data.” It also warns that the two can drift: “When Google combines data from your website and Google Merchant Center feeds, it can lead to data inconsistency issues due to lag.” The documented fix is to “tell Google Merchant Center to automatically update its copy of your product data based on the website contents, when such a discrepancy is noticed.” In the template, print the visible price and the markup price from the same variable, and put the markup in the server HTML. Google advises: “If you're a merchant optimizing for all types of shopping results, we recommend putting Product structured data in the initial HTML for best results.”

User reviews

Customer reviews answer questions your description cannot, and they add fresh, specific text. Show them as HTML on the page, not only in a widget loaded from another domain. If you mark them up, mark up what people can see: “if you include multiple reviews, make sure that you include all of the reviews that are visible to people on the page.” Never invent or import reviews: Google lists “fake reviews” as misleading content.

Internal links

Breadcrumbs back to the category, links to related products and accessories, and a link to the relevant buying guide. Promote your best sellers from the home page or articles; Google gives that exact example for showing which products matter most.

Canonical

The product URL has a self-referencing canonical. If the same product is reachable under several category paths, all of them point to one product URL, and internal links use that URL. Variants follow their own rules, below.

Product variants: how Google wants them handled

Sizes, colours and materials are where product templates most often go wrong. Google's documented approach has four parts.

  1. A URL per variant. Each variant must be reachable at its own URL, as a path (/t-shirt/green) or a query parameter (/t-shirt?color=green). Google requires that the site can “preselect each variant directly with a distinct URL”, and explains what preselecting means: “Preselecting each variant includes showing the right image, price, and availability, as well as allowing the user to add the variant to the cart.”
  2. The right canonical. “If you use optional query parameters to identify variants, use the URL with the query parameter omitted as the canonical URL.” And: “For products with unique URLs per variant, include the canonical product URL on all variant pages using a <link rel="canonical"> tag.”
  3. ProductGroup markup. Group the variants with ProductGroup and its properties variesBy, hasVariant and productGroupID, in addition to Product markup for each variant.
  4. Unique IDs. “Each variant must have a unique ID in its corresponding structured data markup (for example, using the sku or gtin properties).”
Comparison · Single-page vs multi-page variants
Single pageMulti page
How it worksAll variants selectable on one page, usually through query parametersVariants live on different pages, the page reloads when you switch
Example URLs/coat, /coat?size=small&color=green/coat/lightblue?size=small, /coat/green?size=small
CanonicalOne canonical URL for the whole group, normally the URL without a variant preselectedNo single canonical for the group: the variant pages are equally important
MarkupOne ProductGroup listing every variantThe full ProductGroup repeated on each page, self-contained
Both designs are supported; pick one per catalogue and make the canonical, links and markup follow it.

Google's wording for the single-page case: “For single-page sites, there must be only one distinct canonical URL for the overall ProductGroup that all variants belong to.” Whether a colour deserves its own indexable page is a demand question: if people search for trail x2 green and you have unique content for it, the multi-page approach gives it a page of its own. If you sell in several currencies, one more rule applies: “When offering products for sale in multiple currencies, have a distinct URL per currency.”

Out-of-stock and discontinued products

Stock changes all the time, and the page has to tell the truth about it. In markup, availability takes one value from schema.org: InStock, OutOfStock, BackOrder, PreOrder, PreSale, LimitedAvailability, InStoreOnly, OnlineOnly, Discontinued or SoldOut. Google adds: “Don't specify more than one value.”

✓ Temporarily out of stock

  • Keep the URL live with status 200
  • Say so near the price and set OutOfStock or BackOrder
  • Show the restock date if you know it, a back-in-stock alert and close alternatives
  • Keep the page in the category grid or link to it from alternatives

✕ Permanently gone

  • 301 to a true replacement (the new model) if one exists
  • Otherwise return 404 or 410; a page about a product you will never sell again is not useful
  • Do not redirect every discontinued product to the home page: Google can treat that as a soft 404
  • Remove it from the sitemap and the feed

Whatever you choose, change it in three places at once: the page, the markup and the Merchant Center feed. A product that is sold out on the page but in stock in the feed is exactly the lag problem Google describes.

Product structured data: a working example

Google has two kinds of product markup. Product snippets are “For product pages where people can't directly purchase the product”, such as editorial reviews. Merchant listings are “For pages where customers can purchase products from you.” Only shops qualify for the second: “Only pages where a shopper can purchase a product are eligible for merchant listing experiences, not pages with links to other sites that sell the product.” A shop product page with the required merchant listing properties can also be eligible for product snippets.

Code · Product JSON-LD for a merchant listing
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Trail X2 running shoe, men's",
  "image": [
    "https://example.com/img/trail-x2-1x1.jpg",
    "https://example.com/img/trail-x2-4x3.jpg",
    "https://example.com/img/trail-x2-16x9.jpg"
  ],
  "description": "Light trail shoe with a 6 mm drop and a recycled mesh upper.",
  "sku": "TX2-M-GRN-42",
  "brand": { "@type": "Brand", "name": "ExampleBrand" },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/shoes/trail-x2/",
    "priceCurrency": "USD",
    "price": 119.99,
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": 4.4,
    "reviewCount": 128
  }
}
</script>
Values are illustrative. The highlighted price, availability and rating must match what the page shows and what the feed says.

What each part does and what to watch:

Test the template in the Rich Results Test, then check a few live URLs with URL Inspection. The full property reference and testing workflow are in the lesson Structured data in 2026.

Article pages: the checklist

Blog posts, guides and buying guides support the shop: they catch informational searches and link people to categories and products. Their template needs different parts.

Title and H1

The title states the topic or question in the words people search with, for example How to Choose Trail Running Shoes; the H1 says the same thing for the reader. For the markup, Google suggests: “Consider using a concise title, as long titles may be truncated on some devices.”

Author and dates

Show a byline that links to an author page, and show the publish date and, when you have really updated the article, the update date. Mark them up the same way. Google: “Make sure that all the authors that are presented as authors on the web page are also included in markup.” And: “In the author.name property, only specify the name of the author.” No job titles, no “posted by”, no publisher name in that field. Do not refresh the date without changing the content.

An intro that answers fast

Answer the question in the first paragraph, then expand. Readers decide in seconds whether the page is for them.

Images

Use your own photos, diagrams and screenshots where you can. For markup, Google asks to “Use images that are relevant to the article, rather than logos or captions.”

Article markup

Use Article, BlogPosting or NewsArticle. “There are no required properties; instead, add the properties that apply to your content.” In practice that means headline, image, datePublished, dateModified and author with name and url:

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "How to choose trail running shoes",
  "image": ["https://example.com/img/trail-guide-16x9.jpg"],
  "datePublished": "2026-03-04T09:00:00+00:00",
  "dateModified": "2026-10-12T14:30:00+00:00",
  "author": [{ "@type": "Person", "name": "Jane Doe",
               "url": "https://example.com/authors/jane-doe/" }]
}

Related links

Link to related articles and to the categories and products the article discusses, with descriptive anchors. A buying guide that never links to the products it recommends wastes its value for the shop.

Canonical

Self-referencing on each article. For an article split over several pages, Google's rule: “For multi-part articles, make sure that the rel=canonical points at either each individual page or a "view-all" page (and not to page 1 of a multi-part series).”

Reviews: what Google calls high quality

Two different things are both called reviews. Customer reviews on a product page are user-generated and marked up with review and aggregateRating. Editorial reviews are articles in which you test and compare products. Only the second kind can get the pros and cons display: “Only editorial product review pages are eligible for the pros and cons appearance in Search, not merchant product pages or customer product reviews.”

For editorial reviews and buying guides, Google publishes a list of best practices. The core of it:

“Describe key choices in how a product has been designed and their effect on the users beyond what the manufacturer says.”

Google Search Central — Write high quality reviews

The same page also asks for evidence such as your own photos or measurements, comparisons with competing products and an explanation of how a product has changed from earlier models. For customer reviews, the rules are simpler: collect them from real buyers, show all of them, and keep the rating in the markup equal to the rating on the page.

The checklist side by side

Use this table when you review a template. Each row is one check; each column is a page type.

Table · On-page checklist by page type
CheckCategory pageProduct pageArticle page
Title / H1Plural browsing term + store; H1 = category nameBrand + model + key attribute; H1 = product nameTopic or question; H1 says the same
Intro copyShort unique intro above the gridOwn description, not the manufacturer'sAnswer in the first paragraph
Internal linksSubcategories + every product via <a href>Breadcrumbs, related products, guideRelated articles, categories, products
ImagesThumbnails with product-name altSeveral real photos, crawlable URLsRelevant own images, not logos
Structured dataBreadcrumbList; no Product for the gridProduct + Offer, ProductGroup for variantsArticle / BlogPosting with author and dates
FAQsOnly real buyer questionsSizing, delivery, care if askedOnly if they add something
ReviewsNot marked up on the listingVisible customer reviews, all marked upEditorial: evidence, pros and cons
Pagination / filtersSelf canonical per page; indexable filters only with demandVariant URLs as Google documentsMulti-part: each page or view-all
CanonicalClean category URLOne product URL across category pathsSelf-referencing
Edge casesEmpty: noindex or 404Out of stock: 200 + status; gone: 301 or 404/410Outdated: update or merge
One template, one column: check a sample of real URLs of each type against its column.

Template-level mistakes

These are the problems that show up across thousands of URLs at once. Each one is fixed in the template, not page by page.

Compare your templates side by side

OurSEO Tools runs a 69-point checklist covering on-page, internal linking, content and URLs & duplicates, and crawls up to 1,000 pages with the status code, canonical, indexability and load time of every URL, so you can check category, product and article templates in one run.

69-point checklistTechnical crawlContent analysis

Common mistakes

FAQ

Should category pages have Product structured data?

No. Google recommends “focusing on adding markup to product pages instead of pages that list products or a category of products.” Use BreadcrumbList on categories and keep Product for the product pages.

How much text does a category page need?

There is no required length. A short unique intro that helps people choose is enough for most categories; add a buying guide below the grid where people need advice. Length without usefulness does not help.

Can I keep using the manufacturer's product descriptions?

You can, and you will not be penalised, but you will compete with every other shop using the same text. Write your own descriptions for the products that matter most first.

What should I do with an out-of-stock product?

If it is coming back, keep the page live, show the status and alternatives, and set availability accordingly. If it is gone for good, redirect to a real replacement or return 404 or 410.

Do I need both structured data and a Merchant Center feed?

Neither is required to appear in Search, but Google says providing both “maximizes your eligibility to experiences and helps Google correctly understand and verify your data.” Keep them in sync.

Does an article need Article markup to rank?

No. Markup helps Google understand the title, images, dates and authors. The ranking work is done by the content, the visible byline and dates, and the internal links.

Sources

Quotes checked against the official pages on 30 October 2026.