SEO for an Online Store: The First 90 Days With 40 Products, Not 40,000
Every guide to SEO for an online store assumes 40,000 SKUs. With 40 products you cannot win on scale. Here is the 90-day sequence that wins on content instead.

SEO for an online store with 40 products is a different job from SEO for a store with 40,000. You have no crawl budget problem and no scale to win on, so the sequence is ten days of plumbing and eighty days of the content playbook:
- Days 1 to 10: Prove the five platform defaults: canonicals, robots.txt, the sitemap, Search Console and Merchant Center free listings. Fix only what failed.
- Days 10 to 30: Give every category page one head term and real copy. Four to eight pages carry most of the organic clicks a small store will ever get.
- Days 30 to 60: Tier the 40 products by orders and impressions. Full pages for the sellers, a template for the rest. Never the supplier's paragraph.
- Days 60 to 90: Two or three buying guides that link into the categories, reviews on the products that sell, then the first Search Console and GA4 read.
"seo for online store" gets 320 US searches a month at keyword difficulty 21, and "seo for ecommerce sites" 480 at 27 (DataForSEO, US, September 2026). Every page ranking for them was written for the big store.
Every guide ranking for this query was written for a big retailer. This one is for the store with 40 products: what to fix in the first ten days, what to write in the next eighty, and how to know which category earned the first organic order. Try CrawlRaven free: 1 site, no credit card →
The short answer: ten days of plumbing, eighty days of content
In January 2023 a store owner posted eight months of numbers to r/ecommerce. Thirty-five products, WooCommerce, about 1,000 to 1,500 visits a month, and this line: "I'm lucky to get about 100 visits through organic search now, and at the start it was maybe 10~30." He was spending $1,000 a month on clicks to make up the difference.
That is the store this guide is for. SEO for an online store with 40 products cannot copy the advice written for 40,000, because the big store's problems (facets, crawl budget, index bloat) do not exist at your size. Yours are simpler and slower: a few settings, then a lot of writing.
The first ten days are platform defaults you read and fix. The other eighty are category copy, product copy and buying guides, in that order, ending with one measurement loop that names the category that earned the first organic order.
Key Takeaways
- →No crawl budget problem at 40 products: Google's crawl budget guide is written for sites with a million pages or ten thousand that change daily. Do not buy a fix for it.
- →Five defaults, ten days: Canonicals, robots.txt, the sitemap, Search Console and Merchant Center. Every platform ships them; the table below says where each one hides.
- →Categories before products: Four to eight category pages carry the head terms. Give each one term and real copy before touching a product page.
- →Products by tier, not by count: Full pages for the products with orders, a template for those with impressions, nothing for the rest.
- →Guides link in, then measure: Two or three buying guides pointing at categories, then Search Console and GA4 joined per category URL, once a month.
The Bottleneck Test for a 40-product store
SaaS SEO vs ecommerce SEO asks one question, the Bottleneck Test: where are your next 1,000 organic visits stuck? On pages you have not written, spend on content. On pages Google cannot process cleanly, spend on architecture. A small store answers the test in a specific way.
- The plumbing is a big store's. Shopify ships the same collection-path duplicate URLs to a 40-product brand as to a 40,000-product retailer. WooCommerce ships no canonical on category archives at all. These are real, and they take a day or two, not a quarter.
- The content need is a SaaS company's. Forty products and six categories is a few dozen URLs. That is a SaaS marketing site, and it grows the same way: pages you write about things buyers search for, linking into the pages that sell.
- So the answer is both, in order. Defaults first because they are quick and every later page depends on them, content second because that is where the visits are stuck. The Shopify SEO guide runs the same test by catalogue size and lands in the same place under 100 products; the D2C SEO guide is the brand version.
The mistake I see most is the reverse order at the wrong scale: a 40-product store paying an agency to fix crawl budget it does not have, or a content agency writing forty blog posts before a single category page has a description.
The 90-day plan at a glance
Ninety days is enough to prove every default and write everything the store needs. It is not enough to watch rankings settle, so the plan ends with a monthly measurement loop rather than a finish line.
| Days | Job | What to do | Done when |
|---|---|---|---|
| Days 1 to 10 | Prove the defaults | Canonicals, robots.txt, sitemap, Search Console, Merchant Center free listings | Each default has a yes or a no next to it |
| Days 10 to 30 | Category pages | One head term each, real copy above and below the grid, linked from the navigation | Every category has a term, a title and copy you wrote |
| Days 30 to 60 | Product tiers | Full pages for products with orders, a template for products with impressions, nothing for the rest | The sellers have copy the supplier never wrote |
| Days 60 to 90 | Guides, reviews, measure | Two or three buying guides linking into categories, review requests, then the first joined read | You can name the category that earned the first organic order |
Four phases for a 40-product store, in this order
Days 1 to 10: prove the five platform defaults
Google's guide to launching an ecommerce site lists the setup work: verify ownership, submit the pages (URL Inspection for a small site, a sitemap for a bigger one), watch the Page Indexing report, sign up for Merchant Center. Every platform does most of it for you. The job is to confirm it, not redo it.
- Canonicals. Open one product page four ways: its own URL, through a category, with a variant parameter, and through the myshopify.com or staging domain if one exists. Every version should carry one canonical tag pointing at the clean product URL. On Shopify the Shopify duplicate URL checker samples 20 products and reads it for you.
- robots.txt. Fetch /robots.txt and read it. It must not block the product and category paths or the theme assets. Blocking cart and checkout is right; blocking a category is a lost head term.
- The sitemap. Fetch it, confirm it lists every product and category and nothing that is noindexed, and submit it in Search Console once. Where each platform serves it is in the table.
- Search Console. Verify the domain customers see, not a staging or platform subdomain. Prefer the DNS TXT record: on Shopify the theme meta tag disappears with the next theme update, and Squarespace recommends DNS for the same reason.
- Merchant Center free listings. Connect the store, add shipping settings and a return policy customers can find, and let products sync. Google's free listings page says eligible products can show at no cost on Search, the Shopping tab, Images, Maps, YouTube and Lens. The Shopify Merchant Center guide has the five steps and the disapprovals that follow.
Then run the page indexability checker on one category and one product URL; it reads the status code, robots rules, meta robots and canonical together.
Where each platform hides the five defaults
I read each platform's own documentation in September 2026. Shopify's help centre and BigCommerce's both block a plain fetch, so Shopify rows come from the developer docs and the pages our Shopify guides already verified, and two BigCommerce cells are marked as taken from search snippets rather than the page.
| Platform | Canonical tags | robots.txt | XML sitemap | Search Console | Merchant Center |
|---|---|---|---|---|---|
| Shopify | Theme emits canonical_url; collection-path product URLs canonicalise to /products/handle | Generated; edit through a robots.txt.liquid template | /sitemap.xml, generated, not editable | DNS TXT record, or meta tag in theme.liquid (theme updates delete it) | Google & YouTube channel syncs products to Merchant Center |
| WooCommerce | WordPress core writes one on product pages only; category archives need an SEO plugin | Virtual file WordPress serves; plugin or a real file to change it | /wp-sitemap.xml since WordPress 5.5; SEO plugins replace it | Any Google method; the meta tag goes in the theme header or a plugin | Google for WooCommerce extension (free listings and Performance Max) |
| BigCommerce | Facet and sort URLs canonicalise to the category (checked on the Cornerstone demo store) | Store Setup > Store Settings; custom rules merge with the defaults (help centre not readable by plain fetch) | /xmlsitemap.php, generated, not editable (same caveat) | Any Google method (path not verified) | Feedonomics Surface for Google, a free app |
| Squarespace | Not covered in the help articles I read; check the page source | Same file on every site, cannot be edited; blocks /config/ and /api/ | /sitemap.xml, generated and updated automatically, not editable | Analytics > Search keywords > Connect, or a DNS TXT record; .txt file upload unsupported | Built-in Merchant Center sync on Core, Plus, Advanced and Commerce plans; US and English (US) only |
| Wix | Self-referencing by default on every page; Advanced SEO > Additional Tags to change | SEO & GEO > Tools and settings > Robots.txt Editor; default allows everything | /sitemap.xml index; auto-submitted to Google by the SEO Setup Checklist | Needs an upgraded plan and a connected domain; checklist or manual meta tag | Wix Stores > Google Shopping connects an existing or new Merchant Center account |
Who does each of the five defaults, by platform
| Platform | Canonical tags | robots.txt | XML sitemap | Search Console | Free listings |
|---|---|---|---|---|---|
| Shopify | |||||
| WooCommerce | |||||
| BigCommerce | |||||
| Squarespace | |||||
| Wix |
Three cells in the table matter more than the rest:
- WooCommerce ships a category page with no canonical at all. WordPress core's rel_canonical() returns early on anything that is not a single post or product, so an SEO plugin is not optional there.
- Squarespace is the one platform where you cannot touch robots.txt. The same file serves every site. If a category is blocked, the fix is a page setting, not the file.
- Wix is the one platform that submits the sitemap for you, as part of its SEO Setup Checklist. Everywhere else, paste the sitemap URL into Search Console once.
Fix only what failed
The defaults are right more often than audit tools suggest. Our Shopify canonicals guide fetched five live stores and found the canonical correct on every one. So the output of days 1 to 10 is a short list, usually one or two items:
- A canonical pointing somewhere wrong because a theme edit or an app rewrote it. Fix the theme line, not the app settings.
- A category blocked or noindexed by accident, often a leftover from launch when the whole site was hidden. Google's launch guide is explicit that the site must be reachable before it can be indexed.
- Search Console on the wrong property, usually the platform subdomain, which redirects and collects nothing.
- Merchant Center disapprovals: price or availability that does not match the page, missing shipping settings, no return policy. These block free listings, not rankings, but free listings are the first traffic a new store gets.
Everything else on the crawl side (facets, pagination, crawl budget) belongs to technical SEO for ecommerce and does not apply until the catalogue is in the hundreds. Do not spend day 11 on it.
Days 10 to 30: one head term per category page, with copy
The category page (a collection on Shopify, a product category on WooCommerce) is where a store's head terms rank. In a December 2024 r/SEO thread, a store owner with a couple of thousand products reported 13,624 of 24,583 organic clicks from category pages against 1,517 from product pages. At 40 products the ratio is, if anything, more lopsided.
Most stores ship the category as a grid with a templated title and no copy. Our category page SEO guide fetched eight live category pages and found three with no copy at all. The work for days 10 to 30 is the fix, one page at a time:
- Pick four to eight head terms. Two-word commercial queries that describe a product type, not a product: "trail running shoes", "linen bedding", "pedalboard accessories". Each gets exactly one category URL. Two pages on one term split the links and the ranking.
- Replace the platform title. Shopify emits the collection name plus the shop name; WooCommerce emits "Accessories Archives - Site". Head term first, brand last.
- Write one to three sentences above the grid. What the category is, and links to any subcategories, so a shopper who knows what they want is not scrolling past an essay.
- Write 150 to 400 words below it. How to choose between the things in the grid, three to five criteria a buyer weighs, links to the three products that sell most, and a short FAQ from real questions.
- Put every category in the main navigation as a real link, one click from the homepage. On a small store, internal linking is most of the authority a category page will ever get.
Run the collection page SEO checker on each URL when you are done. It reads the title, the H1, the copy length and the canonical, which are the four things this phase changes.
Days 30 to 60: tier the 40 products and write for the sellers
By day 30 you have a month of orders and a few weeks of Search Console data, which is enough to sort the products. Product page SEO does this for a 400-product catalogue with three tiers, and the same three questions work at 40. Ask them in order and stop at the first yes:
- Did it earn an order in the last 30 to 60 days, or is it top 20% by units? Tier 1. On a 40-product store that is usually 6 to 10 products. Each gets the full page: a unique title and meta description, copy that answers the buying question, a specs table in HTML, Product structured data with an Offer, named image files and real alt text, and a link in from its category and a guide.
- Does it show impressions in Search Console but no orders? Tier 2. A title, meta and description template with slots filled from the product fields, never the manufacturer's paragraph. Recheck at day 90 and promote anything that earned an order.
- Neither? Tier 3. Leave the template. A true variant of a tier 1 product canonicalises to it. Noindex is for crawl budget problems, which you do not have.
Tier 1's trap is the supplier paragraph. In an October 2025 thread quoted in the dropshipping SEO answer, a store owner wrote: "When I first started, I just copied the supplier descriptions, but those pages never ranked well." Write what the supplier cannot: who it suits, what it is not for, what buyers asked before ordering.
For the structured data, the product schema generator writes a Product block with Offer, availability and price. Validate the rendered page afterwards, because a reviews app that emits a second Product block is the most common fault on stores I check.
Days 60 to 90: guides and comparisons that link into the categories
This is the SaaS playbook run against a category, and it is where a small catalogue wins on authority instead of scale. Category pages almost never earn links from outside on their own. A buying guide can, and every guide you write is also an internal link with the head term as the anchor.
- One buying guide per head term. "How to choose trail running shoes" that links the words "trail running shoes" to the category, once, in the first screen. The guide answers the question a shopper asks before choosing; it never chases the head term itself.
- One comparison for the product that sells most. "[Your product] vs [the alternative buyers consider]", honest about where the alternative wins, linking to the tier 1 product page and its category.
- One "best X for Y" page where you can defend the list with your own products and at least one you do not sell. A list that is only your catalogue is a category page with a different title.
- Two or three, not thirty. Write these, wait for the day-90 read, and let the category that earned an order pick the next one. The Shopify traffic answer puts this step last too.
Reviews: the content you do not write
Reviews add words and buying questions to tier 1 product pages without you writing them, and Google's review snippet documentation lists Product among the types that can show a rating. Two rules:
- Ask in the order email, two weeks after delivery, for the products in tier 1 first. Ten reviews on the six products that sell beat one review on each of forty.
- One Product block per page. If the reviews app emits its own Product markup, you now have two, and Google's structured data policies say to mark up one main entity. Validate the rendered page, not the theme file.
Day 90: which category earned the first organic order
At day 90 the store has four to eight category pages, six to ten full product pages and two or three guides. The question is which category earned the first organic order, because that row decides what you write in month four. Two reports, joined on the category URL:
- Search Console, Performance report, Page filter set to each category URL. Note the head term's position and impressions from the Queries tab. A head term at position 8 to 20 with impressions and few clicks is a title problem or a copy problem.
- GA4, Reports, Engagement, Landing page, organic search only. Sessions, transactions and revenue that began on each category and each guide.
- Join the two on the URL. One row per category: head term, position, impressions, organic sessions, organic orders, revenue. On a 40-product store that is a spreadsheet with eight rows.
- Decide per row. Impressions and no clicks: rewrite the title. Clicks and no orders: the page or the products on it. Neither: the term is wrong or nothing links to the page. An order: write the next guide for that category.
- Repeat on day 120. Same sheet, same five reads. The categories that earn orders get the next guide and the next product pages; the rest wait.
Which category earned the first organic order, and what to do about it
This is the part we built CrawlRaven for. Search Console and GA4 are built in, so the day-90 sheet becomes a daily view instead of a monthly chore:
- The join shows which collection earned the first organic order, and the revenue per landing page behind it.
- The keyword map assigns each head term to one collection and flags two pages fighting for the same term.
- The 200-point audit ranks the five defaults by what each costs you in clicks, so a broken canonical on the category that sells outranks a missing alt attribute.
Start with the ecommerce SEO audit on one store.
The free plan covers one site, and a lifetime licence for three sites was $49 at launch. Lifetime pricing steps up as licenses sell, so check the pricing page for the current batch. See pricing.
Why the store still has no organic orders at day 90
- The category pages are not indexed. Check the Page Indexing report and the indexation status of each category URL with the inspection tool. A password page, a leftover noindex, or a Search Console property on the wrong domain hides everything that follows.
- Another page owns the head term. Search the queries report for the term with no page filter. If the homepage or a blog post is the URL Google shows, point it at the category with the head term as the anchor, and stop the other page chasing it.
- The SERP wants a guide, not a grid. Search the head term. If the results are guides and reviews rather than category pages, the category needs its buying guide beside it, linking in. Day 60 to 90 work, done early.
- Impressions arrive, clicks do not. The title is the platform default or the brand name. Head term first, brand last, checked in the SERP preview.
- Clicks arrive, orders do not. That is a page problem, not a search problem: shipping cost, no reviews, supplier photos. The store owner in the January 2023 thread found visitors leaving the cart to read his shipping policy before ordering. Fix the page before writing another guide.
- It has simply not been long enough. Google's launch guidance says it can take a few weeks to notice a new site, and new copy takes longer to settle. Run the day-120 read before changing anything that was right.
The ecommerce SEO checklist is the tick-list for the whole sequence; on Shopify, the Shopify SEO checklist has the platform-specific rows.
SEO for an online store FAQs
Getting started
Where do I start SEO on a brand new online store? Search Console, verified through DNS on the domain customers see, then the sitemap submitted once. Everything else in days 1 to 10 is a read, and everything after it depends on those two.
Should I fix the product pages or the category pages first? Categories. They carry the head terms and there are six of them, not forty. Products come in days 30 to 60, and only the ones with orders or impressions get real copy.
Platforms and cost
Does Shopify, Wix or Squarespace do SEO for me? They do the five defaults, and the table above says how well. None of them writes the category copy, the product copy or the buying guides, which is where the rankings come from.
Do I need an SEO app or plugin on a small store? On WooCommerce, yes, for the canonical on category archives. On the others, only if it writes to a field the platform exposes. No app changes the URL pattern, the canonical logic or the sitemap.
Timing and results
How many visits should a 40-product store expect from organic search? Nobody can tell you, and the one real number I have is 100 a month on 35 products before any category copy was written. The day-90 read gives you your own baseline; the day-120 read tells you whether the copy moved it.
What if no category earned an order by day 90? Read the troubleshooting list above in order: indexed, owned, right page type, title, page, time. Five of the six are fixable in a day; the sixth just needs the day-120 read.
Sources
- Google Search Central: how to launch an ecommerce website
- Google Search Central: ecommerce best practices
- Google Search Central: crawl budget management for large sites
- Google Merchant Center Help: free listings for products
- Google Search Central: review snippet structured data
- Google Search Central: structured data general policies
- Search Console Help: Performance report
- Search Console Help: URL Inspection tool
- Analytics Help: GA4 Landing page report
- Shopify.dev: the canonical_url Liquid object
- Shopify.dev: customize robots.txt
- Shopify Help Center: finding and submitting your sitemap
- Shopify Help Center: Google & YouTube channel
- WordPress Developer Resources: rel_canonical()
- Make WordPress Core: XML sitemaps in WordPress 5.5
- WooCommerce: Google for WooCommerce documentation
- BigCommerce Help Center: robots.txt file
- BigCommerce Help Center: Google Shopping
- Squarespace Help Center: verifying your site with Google Search Console
- Squarespace Help Center: view your site map
- Squarespace Help Center: Google SEO emails and console errors (robots.txt)
- Squarespace Help Center: display your products in Google Shopping
- Wix Help Center: verifying your site with Google Search Console
- Wix Help Center: editing your site's robots.txt file
- Wix Help Center: understanding your site's sitemap file
- Wix Help Center: changing the canonical tags for your site's pages
- Wix Help Center: Wix Stores, adding and setting up Google Shopping
- r/ecommerce, January 2023: my first 8 months in ecommerce
- r/SEO, December 2024: should you focus on category pages or product pages?
- Keyword volumes and difficulty: DataForSEO Labs, United States, September 2026. SERP and People Also Ask: DataForSEO SERP API, United States desktop, September 25, 2026.
Frequently asked questions
How do I do SEO for a new online store with only a few products?
In a fixed order. Prove the platform defaults first (canonicals, robots.txt, sitemap, Search Console, Merchant Center free listings), which takes about ten days including Google's waiting time. Then give each category page one head term and real copy, tier the products so the sellers get unique pages, and write buying guides that link into the categories.
Can I do SEO for my online store myself?
Yes, and on a small catalogue you probably should. The five defaults are settings you read once. The category copy, product copy and buying guides need someone who knows the products, which is you, not an agency. The one thing worth automating early is the monthly read of Search Console and GA4 joined per category.
How much does SEO cost for a small online store?
The first 90 days can cost nothing but time: Search Console, Merchant Center free listings and every platform's sitemap and robots.txt are free. The real cost is writing, 150 to 400 words per category and a full page for each product that sells. CrawlRaven's free plan covers one store; lifetime licence prices are on the pricing page.
What is the 80/20 rule for online store SEO?
A handful of pages earn most of the organic clicks and orders. On a store with a couple of thousand products, one owner posted to r/SEO in December 2024 that category pages earned 13,624 of 24,583 clicks over three months and product pages 1,517. On a 40-product store that ratio is why the categories come before the products.
Which platform is best for SEO on a small online store?
The one you can already run. Shopify, WooCommerce, BigCommerce, Squarespace and Wix all generate a sitemap and a robots.txt, all verify with Search Console, and all connect to Merchant Center. They differ in what you can edit: Squarespace's robots.txt cannot be changed, and WooCommerce core writes no canonical on category archives without a plugin.
Do I need Google Merchant Center for SEO?
Not for web search rankings, but it is the fastest free traffic a new store gets. Google's free listings help page says eligible products can appear at no cost on Search, the Shopping tab, Images, Maps, YouTube and Lens. Shopify, WooCommerce, Squarespace and Wix each have a built-in connector; BigCommerce uses the free Feedonomics Surface app.
How long does SEO take for a new online store?
Google's own launch guidance says it can take a few weeks to notice a new site, and ranking for a category term takes longer than being indexed. The defaults are done by day 10, the copy by day 60, and the first organic order is a day-90 or day-120 question. No source gives a firmer number.
Should a small online store write blog posts?
Only the kind that links into a category. A buying guide for "how to choose running shoes" that links the words "running shoes" to your category page is the most valuable link that page will get. Thirty posts about the brand story do nothing for it. Write two or three guides in days 60 to 90, then measure.
Is SEO still worth it for an online store in 2026?
Yes, for a store with a category focus and products it will still sell next year. Organic search and free listings keep paying after you stop working on them; ads stop when the budget does. A commenter in the January 2023 r/ecommerce thread (see sources) put it: "in the long run it's the best thing to invest in."
15+ years of growing SaaS websites through SEO | Author, 200-Point Audit Checklist
Aditi has spent 15+ years helping SaaS companies scale organic traffic through technical SEO and content strategy. She is the author of the CrawlRaven 200-Point Audit checklist used by agencies and in-house teams to systematically improve search performance.