
Short answer: Most ecommerce mistakes that cost Canadian stores sales fall into four groups. The first is a slow or underpowered store. The second is eCommerce SEO problems that hide category and product pages from Google. The third is a checkout that surprises, stalls or scares the buyer. The fourth is compliance gaps under Canadian rules: drip pricing, CASL, privacy, accessibility and, for Quebec customers, the French language. Each one is fixable, and most can be checked in an afternoon with free tools.
eCommerce SEO, hosting and checkout design are usually handled by different people, so problems fall through the gaps between them. A developer picks the hosting plan, a marketer owns rankings, and nobody owns the moment a shopper sees a shipping fee for the first time. This guide covers 13 common ecommerce mistakes that hit revenue directly. For each one it gives the evidence, a quick way to check your own store, and the fix. Every statistic links to its primary source, and each was checked on October 31, 2026.
The stakes are real. Statistics Canada reported that retail e-commerce sales were $5.6 billion in August 2026, or 7.6% of total retail trade (seasonally adjusted, released October 23, 2026). Shoppers who hit friction usually have a competitor one tab away.
A store is not a brochure site. Cart, checkout and account pages are generated fresh for each visitor, so page caching can’t hide a slow server the way it can on a blog.
Google’s Core Web Vitals give you a measurable target. web.dev defines a “good” experience as Largest Contentful Paint (LCP) of 2.5 seconds or less, Interaction to Next Paint (INP) of 200 milliseconds or less, and Cumulative Layout Shift (CLS) of 0.1 or less, measured at the 75th percentile of real page loads. For server response, web.dev suggests a Time to First Byte (TTFB) of 0.8 seconds or less as a rough guide.
Many stores miss those targets. The HTTP Archive Web Almanac 2025 ecommerce chapter (published January 15, 2026) found that only about a third of WooCommerce origins passed all three Core Web Vitals: 33% in one of its device tables and 35% in the other. Shopify origins passed at 76%. The almanac’s own reading is that WooCommerce “has scale, but not automatic speed.” Because WooCommerce is self-hosted, the server and its setup are a large part of that speed.
How to check: Open PageSpeed Insights for your homepage, a category page and a product page. Look at the field data (“Discover what your real users are experiencing”), not only the lab score. Note TTFB and LCP for mobile.
The fix: Treat eCommerce hosting as part of the store, not a commodity. Look for current PHP versions, server-level caching that safely skips cart and checkout pages, enough memory for your plugin stack, and a data centre close to your customers. For a Canadian view of how the server affects store speed and rankings, see 4GoodHosting’s guide on how web hosting affects ecommerce optimization in Canada. If you run WooCommerce on WordPress, our breakdown of WordPress hosting benefits explains which hosting features you can verify before you upgrade. Our piece on how hosting affects Core Web Vitals goes deeper on the metrics.
Black Friday, a product launch or an influencer post can multiply traffic in an hour. Shared hosting plans share CPU, memory and database capacity with other accounts, which leaves little headroom when everyone arrives at once.
The usual path is a ladder:
| Stage | Typical fit | Main limit |
|---|---|---|
| Shared hosting | New store, modest catalogue, steady traffic | Shared resources; little control during spikes |
| Managed VPS | Growing store; needs guaranteed resources and some server control | A fixed slice of one physical machine |
| Dedicated server | High traffic, large catalogues, heavy search or filtering, custom software, strict isolation needs | Higher cost; needs management (yours or the host’s) |
How to check: Look at last year’s peak day in your analytics and your hosting control panel. Did CPU or memory hit the plan’s ceiling? Did you see errors, slow admin screens or timeouts at checkout? If you don’t know, that’s the first gap to close.
The fix: Load-test before your busiest season, not during it. Put caching and a content delivery network in front of static assets. Move up a rung when your data shows you’ve reached a real limit. 4GoodHosting’s article on whether a managed VPS suits an ecommerce business covers the middle rung. When a VPS is no longer enough, a dedicated server gives the store a whole machine with no neighbours. Our guides on dedicated server hosting performance in Canada and shared vs VPS vs dedicated hosting explain when that step pays off.
Most stores think about SEO one product at a time, but the bigger problems are structural. Filters, sort orders, pagination and product variants can generate thousands of near-duplicate addresses. Google then spends its crawl time on those instead of your real category and product pages.
Google’s Search Central documentation for ecommerce is specific about each of these.
Filters for colour, size, price and brand are useful for shoppers but create huge numbers of URL combinations. Google’s guidance on faceted navigation (last updated December 18, 2025) says that if you don’t need filtered URLs to appear in search, you can stop them being crawled with robots.txt rules or use URL fragments, which Google generally doesn’t crawl. If some filtered pages do deserve to rank, such as “women’s waterproof hiking boots,” make them deliberate landing pages with a stable URL, unique content and internal links.
Google’s pagination guidance (last updated December 10, 2025) recommends a unique URL for each page of a category (for example ?page=2), with each page using itself as its canonical. Don’t point every page’s canonical at page 1. Link pages in sequence with normal <a href> links, and don’t rely on fragments for page numbers. Google notes that it no longer uses the next and prev link attributes for pagination. If you use “load more” buttons or infinite scroll, make sure the products are also reachable through crawlable paginated links.
Google’s canonicalization documentation explains how to tell Google which URL is the main version when several show the same or similar content. A common example is a product reached through a tracking parameter instead of its clean URL. For variants such as sizes and colours, Google’s ecommerce URL structure guide recommends that each variant can be identified by a separate URL, using a path segment or a query parameter. It also warns against URLs built from session IDs or the current time, because they change.
How to check: In Google Search Console, open the Pages report and look at “Crawled – currently not indexed” and “Duplicate without user-selected canonical.” If the examples are full of filter and sort parameters, you have a faceted navigation problem.
The fix: Decide which filtered pages deserve to rank, block or consolidate the rest, and fix canonicals. Category pages carry most of a store’s non-branded search demand, so they also need real content and a sensible template. Our guide to dynamic WooCommerce archive pages shows how to build category templates that scale. For choosing which categories to target in the first place, see the science of SEO keyword research.
If you also sell from a physical shop or offer local pickup, your Google Business Profile is part of your store’s search presence. Our guide on how to set up and rank a Google Business Profile covers that side.
Structured data is code that tells Google what a product is, what it costs and whether it’s in stock. Without it, your listings are less likely to show price, availability, ratings or shipping in results.
Google’s product structured data documentation separates two types. Product snippets are for pages where people can’t buy directly, such as review pages. Merchant listings are for pages where customers can buy the product. The merchant listing documentation (last updated September 8, 2026) lists name, image and offers as required properties, and recommends others such as description, brand, gtin and aggregateRating. Merchant listings can also show shipping details and return policies. You can mark up return policies on each offer, or once at organization level.
How to check: Run a product URL through Google’s Rich Results Test. Then open the “Merchant listings” and “Product snippets” reports in Search Console to see errors and warnings across the whole catalogue.
The fix: Make sure your theme or plugin outputs merchant listing markup on every buyable product. Fill in GTINs where your products have them, and add shipping and return policy information. Keep the markup in step with what’s visible on the page. A price in the code that doesn’t match the price shoppers see is a trust problem as well as a technical one.
Structured data also helps AI shopping tools read your catalogue. Our guide to ChatGPT ecommerce SEO covers product feeds and AI shopping results in detail. For the general principles of being quoted by AI search, see how to get cited by AI.
Pasting the manufacturer’s description into every product page is fast, but hundreds of other stores have done exactly the same. Google’s guidance on helpful, reliable, people-first content asks whether a page “provide[s] original information, reporting, research, or analysis.” A copied description doesn’t, and it gives a buyer no new reason to choose you.
Thin pages also hurt conversion. A shopper who can’t find dimensions, materials or the returns policy often leaves instead of guessing.
How to check: Paste a sentence from each of your 20 best sellers’ descriptions into Google in quotation marks. If other retailers show the same text, the page needs work.
The fix: Rewrite your top sellers first. Add what only you know: real photos, sizing notes from returns data, compatibility details, Canadian shipping times and warranty terms. Answer common questions on the page itself. Add genuine customer reviews if you collect them, and never write fake ones.
When a product sells out, many stores delete the page. That throws away its rankings and links and sends visitors to an error. Other stores do the opposite and leave discontinued products live for years, which frustrates shoppers.
Google Merchant Center’s availability guidance draws a clear line. Mark temporarily unavailable items as out_of_stock. Don’t use out_of_stock for products you’ll never sell again; remove them from your product data instead. Merchant Center also checks that the availability in your feed matches the landing page, and mismatches can lead to disapproved products. For pages you remove for good with no close replacement, Google’s Search Console help says a 404 is the normal response.
How to check: List products that have been out of stock for more than 60 days. Check whether each one is temporarily out, permanently gone, or replaced by a newer model.
The fix:
Unexpected costs are the most common reason shoppers abandon a cart. Baymard Institute’s cart abandonment research (last updated September 22, 2025) puts the average documented cart abandonment rate at 70.22%, based on 50 studies. In Baymard’s survey of US online shoppers, 42% of people who abandoned were “just browsing.” Among the rest, the top reason was that extra costs such as shipping, taxes and fees were too high (40%). Another 12% left because they couldn’t see or calculate the total cost up front. Baymard’s survey is of US shoppers, but the lesson carries over to Canada.
In Canada, surprise fees can also be a legal problem. The Competition Bureau describes drip pricing as advertising a low price that can’t be paid because mandatory fees are added later. The Bureau says this raises concerns under the Competition Act, unless the extra charges are fixed and imposed by government, such as sales tax. Its guidance is direct: “Never promote an unattainable price.” The Bureau has taken drip pricing cases to court, including a case against Cineplex over advertised ticket prices.
How to check: Add a product to the cart as a new visitor in another province. Count how many steps it takes to see the full price with shipping. List every fee that appears after the product page, such as a “service fee,” “handling fee” or “eco fee.”
The fix: Build mandatory fees into the advertised price. Show shipping costs or a calculator in the cart, before the shopper has to enter their details. If you set a free-shipping threshold, show it clearly. Be careful with “sale” pricing too. The Competition Bureau’s ordinary selling price rules mean a “was” price must reflect a real regular price. Our guide to improving your ecommerce conversion rate covers checkout transparency in more depth.
In Baymard’s same survey, 18% of shoppers who abandoned (excluding those just browsing) did so because the site wanted them to create an account. Another 17% said the checkout was too long or complicated, and another 17% hit website errors or crashes. Baymard’s benchmark finds the average US checkout has 23.48 form elements (14.88 form fields). Its research suggests an ideal checkout can be done with 12 to 14 form elements, or 7 to 8 fields.
How to check: Count the fields in your checkout, including optional ones. Try checking out on a phone with one hand. Note every point where you have to stop and think.
The fix:
Test the checkout after every plugin or theme update; errors are easy to miss.
Many store owners assume the payment processor handles security. That’s only partly true. In Baymard’s survey, 19% of shoppers who abandoned said they didn’t trust the site with their card information. Attackers also target the page that loads the payment form, not just the payment processor.
PCI DSS v4.0.1 is the current version of the card security standard, published by the PCI Security Standards Council on June 11, 2024. It’s a limited revision of v4.0, with no new or deleted requirements. Two v4.0 requirements aimed at ecommerce became mandatory on March 31, 2025. Requirement 6.4.3 says scripts on payment pages must be authorized, checked for integrity and listed with a reason. Requirement 11.6.1 says changes to payment pages must be detected and alerted on. These are aimed at “skimming” attacks, where malicious code copies card details as they’re typed.
In January 2025 the PCI SSC changed Self-Assessment Questionnaire A (SAQ A), which many small merchants use. It removed requirements 6.4.3 and 11.6.1 from SAQ A, but added an eligibility condition: merchants must confirm their site isn’t susceptible to attacks from scripts that could affect their ecommerce systems. A later PCI SSC FAQ explained that merchants can confirm this using techniques like those in 6.4.3 and 11.6.1, or by getting confirmation from a PCI DSS compliant service provider. It applies to stores that embed a payment form (such as an iframe), not to stores that fully redirect to the processor.
How to check: Ask your payment provider which SAQ applies to your integration. Then list every script that loads on your checkout pages, including analytics, chat widgets and tag managers.
The fix: Remove scripts that don’t need to be on the checkout. Keep the platform, theme and plugins updated, and never install pirated “nulled” plugins. Our guide on why you should never use nulled WordPress plugins and themes explains why. A hosting plan can support compliance, but it doesn’t make your business compliant. Confirm your scope with your acquiring bank or a Qualified Security Assessor.
An inaccessible store loses customers who use screen readers, keyboard navigation or magnification. In Ontario, it can also be a legal issue. Under the Accessibility for Ontarians with Disabilities Act (AODA) and Ontario Regulation 191/11, businesses and non-profits with 50 or more employees must make public websites meet WCAG 2.0 Level AA. This has applied since January 1, 2021, with exceptions for live captions (1.2.4) and pre-recorded audio descriptions (1.2.5). It covers content posted after January 1, 2012.
The Web Almanac 2025 ecommerce chapter reports median Lighthouse accessibility scores in the high 70s to mid 90s across major platforms. A score doesn’t prove a site is accessible, though. Automated tools catch only part of the problems, and nothing replaces testing with a keyboard and a screen reader.
How to check: Try to buy a product using only the keyboard. Can you see where the focus is at every step? Can you open the menu, choose a size, and complete checkout? Run an automated checker such as Lighthouse or WAVE for a first pass.
The fix: Fix the common problems first: missing alt text on product images, low-contrast text, form fields without labels, and size or colour pickers that don’t work with a keyboard. Aim for WCAG 2.2 Level AA, the current W3C recommendation, even if your legal minimum is lower.
Email is a strong channel for recovering carts, and a common place for Canadian stores to break the law. Canada’s Anti-Spam Legislation (CASL) applies to commercial electronic messages sent to or from Canadian computers. The Government of Canada’s CASL site reports 167,939 complaints between October 1, 2021 and March 31, 2022, more than 6,400 a week, and email sent without consent was the top reason.
The rules that matter most for stores, from Innovation, Science and Economic Development Canada’s guidance:
How to check: Look at how your checkout handles marketing consent. A pre-checked box doesn’t count as express consent under CASL. Then check that your abandoned-cart emails include your business details and an unsubscribe link.
The fix: Use an unchecked opt-in box with clear wording. Record the date, source and wording for each consent. Treat abandoned-cart reminders as commercial messages unless your legal adviser tells you otherwise. If you’re choosing a tool, 4GoodHosting’s roundup of abandoned cart recovery plugins for WooCommerce is a good starting point. Check each plugin’s consent and unsubscribe settings against the rules above.
Two sets of rules affect almost every Canadian store: privacy law, and, if you sell to Quebec, the Charter of the French language.
Privacy. The Office of the Privacy Commissioner of Canada says PIPEDA applies to private-sector organizations across Canada that collect, use or disclose personal information in the course of commercial activity. Some provinces, including Quebec, have their own private-sector privacy laws. Quebec’s Law 25 added a rule that matters for ecommerce tracking. Section 8.1 says that if you collect personal information using technology that can identify, locate or profile a person, you must first tell them you use it and how to turn those functions on. The Commission d’accès à l’information du Québec explains that these functions can’t be turned on by default; the person must activate them. In practice, analytics and advertising tags that profile visitors shouldn’t fire for Quebec visitors until they’ve opted in.
French language. The Office québécois de la langue française (OQLF) says that if your business operates in Quebec, its website must be accessible in French. The site can be offered in other languages too, but all of its content, including product pages, must be available in French and be of equivalent quality. The Quebec government also lists contracts, invoices and receipts among the documents that must be available in French.
How to check: Open your store in a private browser window and check which tags load before you accept cookies. If you sell to Quebec, check whether every product page, checkout step and order email exists in full French.
The fix: Set up a consent banner that blocks profiling tags until the visitor opts in. Keep a plain-language privacy policy that explains what you collect and why. If Quebec is a real market for you, plan a full French storefront, not a partial translation. Our article on data privacy and WordPress hosting covers the hosting side of privacy, including data residency. If you’re setting up a new Canadian store, our guide to choosing a domain extension explains when a .ca address helps signal that you’re local. These are general rules, not legal advice; confirm your obligations with a lawyer.
A bad SEO hire can set a store back months. Warning signs include guaranteed rankings, vague reports, and link-building nobody will explain. 4GoodHosting has written about the risks of cheap SEO services and the shortcuts to watch for.
If you’re searching for the best eCommerce SEO agency in Canada, ask these questions before you sign:
Watch how a provider answers the last question. 4GoodHosting’s own SEO services page, for example, states that “search rankings depend on multiple factors and cannot be promised for a particular position.” That kind of honesty is a good sign from any provider you talk to. If AI shopping visibility matters to you, our ChatGPT ecommerce SEO guide has a separate checklist for agencies that work on AI search.
You don’t need to fix everything at once. Work through this table in order.
| Area | Quick check | Tool | Fix first if… |
|---|---|---|---|
| Speed and hosting | Field LCP, INP, CLS and TTFB on product, category and checkout pages | PageSpeed Insights | LCP is over 2.5s or TTFB is over 0.8s on mobile |
| Traffic peaks | CPU and memory on last year’s busiest day | Hosting control panel, analytics | You hit resource limits or saw errors |
| Crawling and indexing | “Crawled – currently not indexed” and duplicate examples | Search Console Pages report | Examples are full of filter or sort parameters |
| Structured data | Merchant listing errors and warnings | Rich Results Test, Search Console | Buyable products lack offers or prices don’t match |
| Stock status | Products out of stock for 60+ days | Store admin, Merchant Center | Feed and page availability don’t match |
| Pricing | Fees added after the product page | Test order | Any mandatory fee isn’t in the advertised price |
| Checkout | Number of fields; guest checkout | Test order on a phone | You force account creation or have 15+ fields |
| Payment security | Scripts loading on checkout pages | Browser developer tools, your SAQ | You can’t explain every script on the page |
| Accessibility | Keyboard-only purchase | Keyboard, Lighthouse, WAVE | You can’t complete checkout without a mouse |
| Opt-in box and message footer | Checkout, email platform | The box is pre-checked or the unsubscribe is missing | |
| Privacy and language | Tags firing before consent; French coverage | Private browser window | You sell to Quebec without consent controls or French |
| SEO help | Contract terms and reports | Your agency agreement | Your provider guarantees rankings |
Unexpected costs at checkout. In Baymard Institute’s survey (last updated September 22, 2025), 40% of shoppers who abandoned a cart, excluding those just browsing, said extra costs were too high. In Canada, hidden mandatory fees can also count as drip pricing under the Competition Act.
Cart, checkout and account pages can’t be fully cached, so they depend on how quickly your server responds. A slow server pushes TTFB and LCP past Google’s “good” thresholds (0.8 seconds and 2.5 seconds), which hurts both the shopping experience and Core Web Vitals.
When you have evidence that you’ve outgrown a VPS. That might be sustained CPU or memory limits, slow database queries on large catalogues, heavy traffic peaks, or a need for custom software or strict isolation. Move up because of a measured limit, not as a precaution.
Letting filters, sort options and variants generate thousands of crawlable, near-duplicate URLs. Google’s faceted navigation and pagination documentation explains how to control them so your real category and product pages get crawled and indexed.
CASL applies to commercial electronic messages, and an abandoned-cart reminder that encourages a purchase is generally treated as one. Make sure you have consent, identify your business, and include a working unsubscribe link. Get legal advice for your situation.
Ask technical questions about faceted navigation, structured data, Merchant Center feeds and Canadian rules such as CASL and Quebec’s French-language requirements. Avoid anyone who guarantees rankings.
About the author: This article was written by the team at 4GoodHosting, a Canadian-owned web hosting company operating since 2002 with data centres in Vancouver and Toronto. This article is a guest contribution to P4 Emachines.





