Why is E-commerce SEO different from regular website SEO?
E-commerce SEO has its own specific complexities. In a blog or corporate website, you are dealing with a few dozen pages; but a typical online store can have thousands of category, subcategory, brand, and product pages. This large scale creates unique challenges: duplicate content caused by filters, low-quality pages for out-of-stock products, and a crawl budget that gets divided among thousands of pages.
In this guide, instead of addressing general topics, we focus on three critical points that have the most impact on your store's rankings: optimizing category pages, smart management of filters and out-of-stock products, and proper implementation of structured data. If you execute these three correctly, your store's SEO infrastructure will be ahead of most competitors.
Optimizing Category Pages; The Beating Heart of E-commerce SEO
Category pages, contrary to popular belief, are not just a list of products. In e-commerce SEO, these pages are often the most valuable pages on your site; because users usually search with phrases like "buy Samsung phone" or "formal women's clothing", not the exact name of a specific product. Google also considers these pages as the answer to this type of search.
URL Structure and Internal Linking
The first step is designing a logical and hierarchical URL structure. For example:
https://example.com/category/mobile/
https://example.com/category/mobile/samsung/
https://example.com/category/mobile/samsung/galaxy/
This structure helps both the user and Google understand the position of each page in the site's hierarchy. Be sure to use breadcrumbs with BreadcrumbList markup so Google can also display this structure in search results.
Take internal linking seriously. Each product page should link to its parent category, and each category should link to other related categories. In addition to distributing authority (PageRank), this helps the user navigate the purchase path more easily.
Category Content; Not Just a Product List
One of the most common mistakes in e-commerce SEO is leaving category pages empty of any textual description. Google needs text to understand the page's topic. At the top of the category page, write a 150 to 300-word paragraph that includes the following:
- A brief description of the products in this category and their uses
- Mentioning the key features that distinguish the products in this category
- Referring to the brands available in this category (if applicable)
- A buying guide for the user (e.g., "when buying a suitable phone, pay attention to RAM and storage")
Place this text in a separate <div> tag and use CSS to display it after the product list. This way, the user sees the products first, while the text remains accessible to Google.
Title Tag and Meta Description
The title tag of each category page should include the main keyword and a competitive advantage. For example:
<title>Buy Samsung Phones | Authenticity Guarantee and Fast Shipping - Your Store</title>
Note that you should start the title with the keyword and keep its length between 50 and 60 characters. The meta description should also be compelling and include real numbers and statistics (such as "over 200 models", "shipping nationwide") to increase the click-through rate (CTR).
Filters and Pagination; Managing Duplicate Content
Filters are great for user experience, but for e-commerce SEO, they can be a disaster. If every filter combination generates a new URL, your site will be filled with thousands of duplicate and low-value pages. This wastes Google's crawl budget and weakens the site's authority.
Noindex Strategy for Filters
The simplest and safest approach is adding the noindex tag to filter pages. You can do this with a parameter in the URL:
https://example.com/category/mobile/?color=black&price=500-1000
In this case, place the following code in the page header:
<meta name="robots" content="noindex, follow">
This removes these pages from Google's index, but the links within them are still followed. This method is the best option for most stores, because filters usually don't have direct search value.
Exception: Filters That Deserve Indexing
Some filters are so popular that users search for them directly. For example, "phones under 5 million tomans" or "plus-size clothing". In these cases, instead of noindexing, create a dedicated category page with unique content for that combination and introduce it to Google as a regular page. This requires careful analysis; use tools like Google Search Console to see which filter combinations receive real traffic and clicks.
Abandon Pagination with rel=next/prev
Google stopped supporting rel=next/prev in 2019. Today, the best practice for paginated pages is using the canonical tag pointing to the first page:
<link rel="canonical" href="https://example.com/category/mobile/">
This tells Google that the main content is the first page and the subsequent pages are just continuations. Make sure the first page always has the most complete content and that links to subsequent pages are not accompanied by the nofollow tag.
Common Mistake: Many stores block filters with robots.txt. This is wrong; because Google may not be able to access the products within the filters and the crawl budget will be wasted. Always use noindex, not blocking in robots.txt.
Out-of-Stock Products; Making Smart Decisions Instead of Deleting
Out-of-stock products are one of the most challenging issues in e-commerce SEO. Completely deleting these pages causes loss of authority and inbound links; keeping them can also ruin the user experience. The solution depends on the product's status.
Temporarily Out of Stock (Backorder or Out of Stock)
If the product is only unavailable for a few days or weeks, keep the page and apply these changes:
- Adding a "coming back soon" message at the top of the page
- A notification form for users to register their email
- Removing the "add to cart" button and replacing it with a "notify me" button
- Updating the structured data with the
availabilityproperty set tohttps://schema.org/OutOfStock
This preserves the page's authority and shows the real status to Google and users.
Permanently Discontinued Products
If the product is no longer produced and has no replacement, the best approach is using a 301 redirect to the closest related page. For example, if the "Samsung Galaxy S20" phone is no longer available, redirect it to the "Samsung phones" category page or to the page of a newer model.
However, if the removed product has many inbound links (e.g., mentioned in news sites), it's better to keep the page, turn its content into a comparison article or buying guide, and link to alternative products within it. This method preserves the link value and guides the user toward a purchase.
Automatic Stock Status Detection
In large stores, manually checking the status of thousands of products is impossible. Use an automated script that checks stock status every night and, based on predefined rules, performs one of the three actions above (keep, redirect, convert to article). You can do this with a simple cron job:
0 2 * * * /usr/bin/php /var/www/check_stock.php
This script can use your inventory API and email the output as a report.
Product Structured Data; The Click Winner in Search Results
Structured data (Schema Markup) is one of the most powerful tools in e-commerce SEO that many Iranian stores still don't use. With proper implementation, your products can appear in search results with price, availability, and user ratings, which significantly increases the click-through rate.
Product Markup for Product Pages
For each product page, place JSON-LD markup in the page header. A complete example:
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Samsung Galaxy S24 Phone",
"image": "https://example.com/images/s24.jpg",
"description": "Samsung Galaxy S24 phone with a 6.2-inch display and a 50-megapixel camera",
"sku": "SM-S24-BLK",
"brand": {
"@type": "Brand",
"name": "Samsung"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/product/s24",
"priceCurrency": "IRR",
"price": "45000000",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "128"
}
}
</script>
Important note: Enter the price in Rials (IRR), not Tomans. If you use Tomans, you must add a zero to the number (e.g., 45,000,000 Rials for 4,500,000 Tomans). Google interprets the currency based on priceCurrency.
Structured Data for Category Pages
For category pages, you can also use ItemList so Google can better understand the product structure:
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"url": "https://example.com/product/s24"
},
{
"@type": "ListItem",
"position": 2,
"url": "https://example.com/product/s23"
}
]
}
</script>
This markup helps Google better understand the page content, although it doesn't have a direct impact on rich snippet display.
Validation and Common Errors
After implementation, be sure to validate your structured data with Google's Rich Results Test. The most common errors include:
- Zero or empty price for out-of-stock products
- Using the wrong currency (Toman instead of Rial)
- Missing the
availabilityfield for out-of-stock products - Repeating the markup in multiple places on the page
For out-of-stock products, be sure to update the availability value. If the product is unavailable and you don't update this field, Google may report a "structured data issue" error and ignore the entire markup.
Summary and Next Steps
E-commerce SEO is not a one-time project, but an ongoing process. Start these three actions today:
- Review your category pages and write a 200-word introductory text for each one.
- Review your site's filters and add the
noindextag to all filter combinations, except those that truly deserve indexing. - Implement Product structured data for your 10 best-selling products and validate it with Google's tool.
If your site's infrastructure needs optimization, fast and stable servers play an important role in loading speed and thus SEO. ServerNet, as a web hosting service provider, offers suitable infrastructure for online stores so these optimizations can be implemented in the best possible way.
Remember that e-commerce SEO is a long-term competitive advantage. Spend one hour each week reviewing your Search Console reports. This way, you'll see the growth trend and identify problems before they become critical.
Comments 0
No comments yet — be the first!