Cover image for the article: Product and category page SEO: a practical guide for online stores and WooCommerce
SEO13 min read

Product and category page SEO: a practical guide for online stores and WooCommerce

Learn product and category page SEO step by step: unique descriptions, Product schema, out-of-stock items, filters and pagination, with WooCommerce tips. Read the guide.

D
Danial Dehhaghi
Founder & CEO, MyTarh

Product page SEO means preparing every product page so that Google understands exactly what you sell and a shopper searching for a specific model lands straight on that page. But in an online store, the product page isn't the only player: broader, higher-demand searches usually belong to category pages, and if these two page types don't have clear roles, they compete with each other. In this guide we walk through the practical work for both page types, from descriptions, images and structured data to out-of-stock products, filters and pagination, with tips specific to WooCommerce.

Which page should each search land on: product or category?

Someone searching for "wireless headphones" hasn't decided yet and wants to see the options; a category page is the better answer. Someone searching for the exact model name wants that product's price, availability and specs. So broader, more commercial keywords are usually the target of category pages, and specific, longer phrases (long-tail) are the target of product pages.

Search type Example Right page
Generic, high demand "wireless headphones" Main category
Category + feature "noise-cancelling wireless headphones" Subcategory or an indexable filter page
Category + brand "Sony headphones" Brand page or a category + brand combination
Specific model "Sony WH-1000XM5 price" Product page
Model + details "Sony WH-1000XM5 black" The same product page with a color variant
Informational and comparison "best headphones for workouts" Buying guide article linking to the category
Local "headphone store in Dubai" Physical store page and Google Maps profile; see local SEO

The key rule is to have only one main page for each phrase. If a category, a tag and a filter page are all optimized for "wireless headphones", they compete with each other. This article focuses on these two page types; e-commerce SEO as a whole also needs keyword research, technical SEO and a content plan.

Product page SEO: from descriptions to images

Unique descriptions, not the manufacturer's copy

The manufacturer's description is usually repeated across dozens of other stores, and Google has no reason to prefer your page among identical copies. A good description answers the shopper's questions: who the product is for and what it's for, how it differs from its sibling model, what's in the box and how to look after it.

SEO title, meta description and H1

  • Title: the full product name and model first, then one distinguishing feature or a word like "price" or "buy" that shoppers commonly add to their searches, and the store name at the end.
  • Meta description: it doesn't directly affect rankings, but it does affect click-through rate. Include the key feature and your real shipping or warranty terms.
  • H1: only one H1, with the exact product name. The H1 and the title don't have to be identical.

Specification table and customer reviews

Put technical specs in a structured table with consistent naming: for example, always "Weight", not "Weight" on some products and "Mass" on others. This table answers specific searches such as a model's weight or dimensions, and it also becomes the basis for category filters. Reviews and Q&A from real buyers add unique, fresh content to the page.

Product images

  • Descriptive file names: for example sony-wh-1000xm5-black.webp instead of IMG_2045.jpg.
  • Alt text: what is visible in the image, such as "Sony WH-1000XM5 headphones in black, side view"; not a list of keywords.
  • Format, size and loading: WebP or AVIF, sized to fit the frame they are shown in. Set width and height on images so the page doesn't shift while it loads. Lazy-load images further down the page, but not the main product image; that image usually determines the LCP metric in Core Web Vitals.

Product structured data: what should you mark up?

Structured data makes product information machine-readable and makes the page eligible for richer display in search results, such as price and availability, although that display is not guaranteed. According to Google's documentation on product structured data, these are the items that matter most on a page where the product can be bought:

  • name and image: the product name and its crawlable images.
  • offers: including price and priceCurrency, which are required, and availability (stock status), which is recommended.
  • sku, brand and, where available, gtin: identifiers that help pin down the exact product.

Two important points:

  1. Currency: priceCurrency must be a standard three-letter ISO 4217 code, such as USD, AED or SAR. If your plugin outputs a non-standard code, check the page with the Rich Results Test and, if needed, fix the output so it sends the correct ISO code.
  2. Reviews and ratings only if they're real: mark up review and aggregateRating only for genuine customer reviews that are visible on that same page. Fake ratings go against Google's guidelines and can lead to a manual action and the loss of rich results.

Some of Google's shopping displays are also fed from a Merchant Center feed, but the page's own structured data doesn't depend on it.

Product variants and similar products: duplicate content and canonical

When a product comes in several colors or sizes, the best setup is usually one page with a variant selector, which is what a variable product does in WooCommerce. If each variant has its own URL with near-identical content, point their canonical tags to the main product page; Google also supports ProductGroup structured data for describing variants. A standalone page for a single variant only makes sense when that variant has meaningful search demand of its own.

A few points about canonical:

  • canonical is a hint to Google, not a directive; if two pages are genuinely different, it may be ignored.
  • Never canonicalize different products to each other.
  • A product that sits in several categories should have one main URL, not one URL per category.

For similar products with identical text, such as one T-shirt in ten designs, either make them variants of a single product or write a unique section for each one.

Out-of-stock or discontinued products: remove them or keep them?

Suddenly deleting an out-of-stock product wipes out, in one go, the rankings and links the page has earned. The right decision depends on the product's status:

Status Recommended action Why
Temporarily out of stock Keep the page live with a 200 status; set availability to OutOfStock and add a "notify me when it's back" option and alternative products Rankings and links are kept
Permanently discontinued with a close successor, such as a newer model 301 redirect to the successor product Users and the page's authority reach a relevant destination
Permanently discontinued with no successor, but with traffic or backlinks Keep the page with a discontinued notice and links to similar options; set availability to Discontinued People looking for specs or a replacement aren't left stranded
Permanently discontinued with no successor, no traffic and no links 404 or 410 status A page with no value drops out of the index

According to Google's documentation, all 4xx error codes (except 429) are processed the same way, so don't agonize over 404 versus 410. What you should avoid is redirecting deleted products to the homepage in bulk; Google may treat these irrelevant redirects as a missing page (soft 404). And don't noindex a product that is only temporarily out of stock.

Category page SEO: guide text, title and subcategories

In category SEO, a category page is first and foremost a product listing, and text shouldn't push the products down the page. A user-friendly pattern:

  • Above the listing: an H1 with the category name, one to three lines of introduction and links to subcategories.
  • Below the listing: a short, genuinely useful buying guide covering the differences between types, how to choose and answers to common questions, with links to subcategories and related articles. Text that only repeats the keyword helps neither the user nor your rankings.
  • A unique title and meta description: for example "Buy wireless headphones: prices and specs of the latest models | Store name", not one template for every category.

Plan your category structure before you import products in bulk; two synonymous categories such as "wireless headphones" and "Bluetooth headphones" will compete with each other. Merge near-empty categories, or keep them noindexed until they fill up. If you're just starting out, our article on starting an online store gives an overview of the steps.

Filters, sorting and pagination: which URLs should be indexed?

Category filters (color, brand, size, price) are great for users, but every filter combination creates a new URL, and the number of these URLs becomes practically infinite. In its guide to managing crawling of faceted navigation, Google explains that crawling these URLs wastes server resources and slows down the discovery of new pages.

First decide which combinations have search value

Turn the combinations people actually search for, such as category + brand, into real pages: a clean, stable URL, a unique title, H1 and text, a self-referencing canonical, a link from the category page and a place in the sitemap. All other combinations should stay out of the index.

Three tools, three different jobs

Tool What it does What it doesn't do Best use
rel=canonical Suggests the main version to Google and consolidates signals It isn't a firm directive and doesn't stop crawling Near-identical versions, such as sort orders
noindex meta tag Removes the page from results after it has been crawled Doesn't stop crawling; Google has to crawl the page to see it Filters users need but that have no search value
Disallow in robots.txt Stops crawling and saves crawl resources Doesn't remove the page from the index; Google can't see its noindex or canonical Countless filter combinations in large stores

The biggest trap is that last row: Google doesn't read the noindex meta tag on a disallowed URL, and that URL may stay in results with the status "Indexed, though blocked by robots.txt". If your filter URLs are already indexed, add noindex first, wait until you see them drop out in Google Search Console, and only then, if needed, disallow them. Also don't combine noindex with a canonical pointing to another page on the same page; the two signals contradict each other. If you leave filter URLs open to crawling, keep the parameter order fixed and return a 404 for combinations with no products. Search Console's URL Parameters tool was removed in 2022, so this control is now only possible on the site itself.

Sorting and pagination

  • Sorting: a URL like ?orderby=price shows the same products in a different order; canonicalize it to the main category URL or keep it out of the index with noindex.
  • Pagination: each page, such as page/2, should have its own URL and a self-referencing canonical. Canonicalizing every page to the first page is a mistake, and Google explicitly advises against it. Connect the pages with ordinary, crawlable links; Google no longer uses rel=next and rel=prev.
  • "Load more" and infinite scroll: Google's crawler doesn't click buttons, so build a paginated version with real links as well.
  • Category guide text: show it on the first page only.

Internal linking: from the blog to related products

  • Breadcrumbs: "Home › Headphones › Wireless headphones › Product name" shows the site structure to users and to Google; pair it with BreadcrumbList schema.
  • Related and complementary products: links to comparable models and accessories keep deeper products within the crawler's reach.
  • From the blog to categories: buying guides should link to categories and products with descriptive anchor text, and the category should link back to the guide.
  • A simple menu: the menu should show the main categories, not hundreds of subcategories.
  • No orphan products: every product should be linked from at least one category; a sitemap is no substitute for internal links.

Product SEO in WooCommerce: key settings

Everything above applies to WooCommerce too. These are the settings usually checked first in WooCommerce SEO:

  • Permalink structure: under "Settings › Permalinks", choose the base for product and category URLs (product and product-category in many installs) from the start. If the category name is part of the product URL, the URL changes whenever a product moves to another category. Changing the structure on a live store without 301 redirects from the old URLs puts your rankings at risk; if you're still at the online store design stage, now is the best time to make this decision.
  • SEO plugin: Yoast SEO and Rank Math both let you set a separate title and meta description for each product and category, a default title template, a primary category for breadcrumbs, and noindex for low-value archives.
  • Product tags: unplanned tags create hundreds of thin pages that overlap with your categories; noindex them or don't use tags at all. The store's internal search results shouldn't be indexed either.
  • Duplicate schema: WooCommerce generates product structured data itself, and sometimes the SEO plugin or the theme adds another version. Use the Rich Results Test to make sure there is only one complete Product on the page.

Speed of product listing pages

Category pages with dozens of images, AJAX filters and plugin scripts are usually the heaviest pages in a store. Keep the number of products per page reasonable, generate thumbnails at their actual display size, test filter plugins for speed and turn on caching. The details are in our website speed optimization guide.

Common mistakes in product and category page SEO

  • Copying the manufacturer's text for every product.
  • Leaving every filter combination open to indexing.
  • Canonicalizing all paginated pages to the first page.
  • Using Disallow and noindex together on the same URL.
  • Deleting out-of-stock products, or redirecting all of them to the homepage.
  • Fake ratings and reviews in schema.

All of this rests on the technical foundations of the whole site. To review those foundations, see our 2026 SEO checklist.

Frequently asked questions

Do I need unique descriptions for thousands of products?

Not to the same degree for every product. Write full descriptions for the products with the most searches, sales or profit margin. For the rest, have at least one unique paragraph and a complete specification table.

Which matters more, the category page or the product page?

Both, for different searches. Category pages usually target higher-demand, more competitive phrases, and product pages target exact model searches. If your time is limited, the main categories are usually the first priority.

Should WooCommerce product tags be indexed?

In most stores, no, because they create thin pages that look like your categories. The exception is a tag that works as a real landing page with its own unique text.

Which is better, Yoast or Rank Math?

Both have the features you need for product and category SEO. The difference in results comes from configuring it correctly and from the page content, not from the plugin's name.

Should I put the price in the product page title?

The word "price" matches how many people search. But only include the actual price figure if it updates automatically, because an outdated price in search results erodes trust.

If your store has many products and categories and you don't know where to start, see how MyTarh works on our e-commerce and WooCommerce SEO services page, and get in touch with us for a review of your store's current state.

D
Danial Dehhaghi
Founder & CEO, MyTarh

Founder of MyTarh, with years of experience in digital marketing and web design.

Free website review

Want to know where your own website has problems?

Send us your website address. The MyTarh team will review its SEO, speed and technical errors and, within 2 business days, share a prioritized list of fixes with you. It's free and comes with no obligation.

Check it yourself first with the SEO checklist

Prefer to talk directly? Chat with Danial Dehhaghi on WhatsApp

Previous article
What is a PWA? Progressive web apps vs native apps and responsive websites
Next article
What is a landing page? Structure, tools and measuring a high-converting landing page