How to Do Technical SEO for Ecommerce
Your store is correct. The search result is wrong. Both hold true on the same Tuesday afternoon.
You changed a price three weeks ago. Google still shows the old one. Nothing on the site is broken, and no crawl tool flags it, because there is nothing on the site to flag. That gap is where ecommerce technical SEO starts.
Service Site Facts Hold Still. Store Facts Do Not.
A plumber’s service page says what it said in 2019. Google’s copy of that page could be eighteen months stale. Still accurate. Age costs nothing there.
Now take a product page. It carries a price. Underneath that, a stock status. Neither one waits for somebody to open an editor. A supplier moves. The last unit sells. Either way, the fact underneath the page changed on its own.
So the copy Google holds goes wrong by itself. The page never did anything.
That is the difference. Every other piece of ecommerce technical SEO falls out of it.
Which Means the Number You Want Is a Date
Every technical SEO audit export counts errors. An error is a state. You either have it or you fixed it, and a crawler can see which.
This is not a state. It is an interval. Time from a fact changing in your database to Google holding the new version of it.
No tool prints that number. Yet you can go and get it yourself in about twenty minutes.
Worth sitting with why no tool prints it. A crawler visits your site and reports what it found there. It has no view of what Google found, or when. Two machines read the same store on two different days. Only one of those readings ends up in the search result.
Find Your Own Number This Afternoon
Open Search Console. Go to URL Inspection.
Paste in ten product URLs, one at a time. Write down the last crawl date each one reports back.
Then subtract those dates from today. That column is your lag.
Now add a second column beside it. In that one, the last time the product’s price or availability actually moved.
Any row where column two beats column one is a product Google is currently describing with a fact you no longer have.
One warning about that Search Console screen. URL Inspection opens on the indexed version by default, which is the copy you want. Leave the live test button alone for now. A live test fetches your page fresh. That describes the store as it stands this second. Google has been showing a different version all month.
Ten rows. That is the entire exercise.
Somebody Will Say Google Recrawls What Matters
Fair. Popular URLs do get fetched more often, and your best seller is probably fine. Nobody is arguing with that.
Still, an average hides the shape of the thing. Sort your ten dates instead. Look at the oldest one.
A catalogue keeps most of its URLs in the tail. Four thousand SKUs. Against a number like that, the top sellers are a rounding error.
And the tail is where a wrong price sits undisturbed for a season. Nobody browses it. Certainly nobody reports it. That page simply describes a store which stopped existing in March.
The First Thing Setting That Number Is How Many URLs You Made
Facets. Sort orders. Every colour crossed with every size.
The usual complaint about faceted navigation is duplicate content. Signals split across a thousand near-identical versions of one category. That is a real complaint. It is not this one.
Each of those URLs costs a fetch. Those fetches draw on the same allowance your product pages draw on. So the server spends Thursday answering a request for page four of size medium sorted by price. Meanwhile a product whose price moved on Monday waits its turn.
Pagination does the same thing, more quietly. Page one of a category earns its fetches. Nineteen costs one too, every time anything requests it. Same twelve products sitting on it since spring.
You can size this without running a crawler. Open the Pages report in Search Console. Compare the total Google says it has discovered against the product count sitting in your admin.
One number an order of magnitude past the other tells you where the fetches went.
The Second Is Whether Your Product Page Sent the Price
Googlebot requests a URL. Whatever the server sends back is what it captured.
Price and stock sitting inside that HTML? Then the fetch has them.
Arriving afterward, from a separate call the browser makes? Then the fetch may not.
Google does render pages, so this is not fatal. Yet rendering happens later, on a schedule nobody outside Google publishes. A store that paints its price in with script has stacked two waits on top of each other.
Check yours without installing anything. View the page source, then search that source for the price. Not the rendered inspector. Just the raw source.
The Third Is How Fast the Store Answers
Google adjusts how hard it crawls based on how your server copes. Slow responses pull the rate down. Repeated server errors pull it down further. That behaviour is deliberate, since Googlebot has no interest in taking your store offline.
Now line that up against a retail year.
Your busiest week is your slowest week. It is also the week your prices change most. So the interval widens exactly when a wrong price costs the most money. Late November. Boxing Day. Whatever your own season happens to be.
Nothing exotic fixes that one. Hosting that holds up under traffic you already forecast, mostly.
Somebody Will Say This Is Just Crawl Budget With a New Name
Same machinery underneath, granted. Different question sitting on top of it.
Crawl budget gets discussed as a large-site problem. It also gets framed as waste, which turns the question into what Googlebot should never have fetched in the first place.
Turn it the other way round. Ask when your facts land.
Four hundred products. At that size nobody reports a crawl budget problem. No tool suggests one either. Every guide tells a store that small to skip the topic entirely. Yet that store can still run six weeks behind its own catalogue.
Size does not set the interval. Change rate does.
What to Do Once You Have the Number
Inside a week, stop. Your technical SEO lag is not what is holding the store back. Go do keyword research against the catalogue you actually stock.
A week to a month, cut the URL set before anything else. Nothing moves the number as reliably.
Cut in order of how many URLs each rule generates. Not how bad each one looks on a report. One sort parameter left open can outproduce every other decision on the site.
Past a month, with the price arriving client-side, move it into the server response. That single change beats every other item you could pick.
Then run the ten rows again in six weeks. Same URLs. The same two columns.
A number you measured once is a number you cannot act on.
Where the Ecommerce Technical SEO Argument Stops
Nothing here claims Google ranks a fresh copy above a stale one. Nobody outside the company settles that, and plenty of people will tell you otherwise with more confidence than the evidence supports.
The cost is plainer than a ranking theory anyway. A shopper reads a price in the result. They click. Then the real number loads. They leave. Your analytics files the whole thing under bounce rate.
Small stores sit outside this too. Sixty products, updated by hand by the owner who wrote them? Your interval is short by construction. Spend the effort somewhere else.
None of it replaces the content work either. A product page that nobody would rank still will not rank on a fresh crawl.
Ecommerce Technical SEO for Calgary Businesses
SEO Company To-The-TOP! has worked on Calgary SEO since 2007. Solo practitioner. The person reading your crawl dates is the person you hired, with no junior handoffs sitting in between.
A store gets the same first hour here as everybody else. That hour goes on how the site generates URLs, before any website audit gets quoted. Then comes keyword research, run against the products you carry rather than the ones somebody wishes you carried.
Some stores find out their interval is already fine. To-The-TOP! says so out loud. Then the retainer goes on something that moves, which is what ongoing SEO support is for.
Positions move over three to six months. Sometimes longer, depending on who else wants the same terms. Stores that cannot wait a season out run Google Ads alongside it. The two run on different clocks though. Worth knowing which one you are buying.
Common Questions About Technical SEO for Ecommerce
How often should Google crawl my product pages?
Often enough that the price it holds matches the price you charge. So the answer depends on how often yours changes. A weekly repricing cycle wants a weekly crawl. Twice-a-year catalogues do not.
Does a stale price hurt my rankings?
Nobody outside Google can prove that either way. The measurable cost is simpler. A click arrives. It reads a number you no longer charge. Then it leaves.
Do I need log file analysis for technical SEO?
No. Search Console hands you a last crawl date per URL through URL Inspection, which is enough to see the spread. Log files answer a larger question at a larger cost.
Will submitting a sitemap fix the interval?
Not on its own. A sitemap tells Google what exists on the site. It does not decide how often anything gets read again.
Is this a Shopify problem or a WooCommerce problem?
Neither, particularly. The same technical SEO problem shows up on both. Every platform lets you generate more URLs than you have products. What differs is how much work it takes to stop doing that.
Should I block facet URLs in robots.txt?
Sometimes. A blocked URL still gets discovered through links, so a rule added late in a store’s life works slower than people expect. Stopping the links themselves does more. Then the robots rule mops up whatever already leaked out.
How long before the interval improves?
Weeks, once the URL count drops. Google works through what it already knows about first, so the change arrives gradually rather than overnight.
Worth Checking Before Your Next Price Change
Ten URLs. Two columns. Dates that line up mean this page was never about your store.
Contact SEO Company To-The-TOP! in Calgary
Questions about anything in this article, or about your own rankings? Talk to a Calgary SEO specialist directly.
Phone: (403) 308-5949
Address: 1509 14 Ave SW, Calgary, AB T3C 0W4
Hours:
Monday to Friday: 10:00 am – 7:00 pm
Saturday: 12:00 pm – 4:00 pm
Sunday: closed
