Technical SEO Checklist for Online Stores
Crawlability: Can Google Find Your Pages
Your robots.txt file lives at yourdomain.com/robots.txt and tells search engine crawlers which parts of your site they can and cannot access. Open yours and verify it is not accidentally blocking important sections. Common mistakes include blocking /collections/ or /products/ directories, blocking CSS and JavaScript files that Google needs to render your pages, and using overly broad Disallow rules that catch pages you want indexed. The file should allow Googlebot to access all product pages, category pages, and content pages. Block only admin areas, checkout pages, internal search result pages, and cart pages that have no SEO value.
Your XML sitemap lists every page you want Google to index, along with when each was last updated. Most ecommerce platforms generate sitemaps automatically. Submit yours in Google Search Console under Sitemaps and check the report regularly. The sitemap should include all product pages, category pages, and content pages. It should exclude pages with noindex tags, paginated filter results, out-of-stock products you have removed, and duplicate URL variations. If your store has more than 50,000 URLs, split the sitemap into multiple files referenced by a sitemap index file.
Run a crawl of your site using Screaming Frog (free for up to 500 URLs) or Ahrefs Site Audit. Look for 404 errors (pages that do not exist), redirect chains (a link that redirects to another redirect to another redirect), orphan pages (pages with no internal links pointing to them), and pages with very low internal link counts. Every product and category page should be reachable within three clicks from your homepage through your navigation and internal linking structure.
Indexing: Is Google Storing Your Pages
Being crawled does not guarantee being indexed. Google decides whether each page provides enough unique value to be worth storing in its index. Check your indexing status in Google Search Console under Pages (formerly Coverage).
Common indexing problems for ecommerce stores:
- Discovered but not indexed: Google found the page but decided not to index it, usually because the content is too thin, too similar to other pages, or the page has low authority. Fix by adding unique, substantial content.
- Crawled but not indexed: Google read the page but chose not to index it. This often affects product pages with minimal content or pages that duplicate other URLs. Add unique descriptions of at least 300 words.
- Duplicate without canonical: Google found multiple versions of the same page and you did not specify which is the primary version. Add canonical tags to resolve.
- Blocked by robots.txt: You are telling Google not to crawl the page. Check your robots.txt for unintended blocks.
Duplicate Content: The Biggest Ecommerce Technical Issue
Ecommerce stores generate duplicate content at scale. The same product page might exist at /products/blue-jacket, /products/blue-jacket?size=large, /products/blue-jacket?ref=homepage, and /collections/mens-outerwear/blue-jacket. Each URL shows the same content, which confuses Google about which version to rank. Add a self-referencing canonical tag to the primary URL of every page: <link rel="canonical" href="https://yourdomain.com/products/blue-jacket" />. This tells Google that all other URL variations are duplicates of this primary version.
Faceted navigation (filtering by size, color, price, brand) creates thousands of duplicate URL combinations. A category with 5 sizes, 8 colors, and 4 brands generates 160 possible filter combinations, each creating a separate URL. The solutions are to use canonical tags pointing filtered pages to the unfiltered category page, add noindex meta tags to filtered pages, block filter parameters in robots.txt, or use JavaScript-based filtering that does not create new URLs. The best approach depends on your platform and whether any filtered pages have unique keyword value. See our duplicate content guide for platform-specific solutions.
Pagination on category pages creates additional duplicate concerns. If your "Men's Shirts" category has 200 products across 10 pages, you need Google to understand these are all part of one category, not 10 separate pages competing for the same keyword. Use self-referencing canonical tags on each paginated page (page 2 canonicalizes to page 2, not to page 1), and ensure your sitemap includes the first page of each category as the primary URL.
Site Speed and Core Web Vitals
Google's Core Web Vitals are three performance metrics that affect rankings: Largest Contentful Paint (LCP) measures how quickly the main content loads, targeting under 2.5 seconds. Interaction to Next Paint (INP) measures how quickly the page responds to user interactions, targeting under 200 milliseconds. Cumulative Layout Shift (CLS) measures visual stability, targeting under 0.1. Check your scores in Google Search Console under Core Web Vitals, or test individual pages at pagespeed.web.dev.
Common speed fixes for ecommerce stores:
- Image optimization: Convert to WebP format, resize to display dimensions, implement lazy loading. This alone typically reduces page weight by 40% to 60%.
- Third-party scripts: Chat widgets, analytics, review apps, and marketing pixels add significant load time. Audit every third-party script and remove any that you are not actively using. Load non-critical scripts asynchronously or defer them.
- Server response time: Your server should respond in under 200 milliseconds. If it takes longer, consider upgrading your hosting, enabling server-side caching, or using a CDN like Cloudflare to serve cached pages from locations closer to your visitors.
- CSS and JavaScript: Minify CSS and JavaScript files, eliminate render-blocking resources, and defer non-critical JavaScript. On Shopify, reduce the number of apps installed since each app typically adds its own JavaScript file. On WooCommerce, use a caching plugin like WP Rocket or LiteSpeed Cache.
Read the full breakdown in our site speed and SEO guide.
Mobile-First Indexing
Google evaluates the mobile version of your site for all ranking decisions, regardless of whether the searcher is on desktop or mobile. Test your store on actual mobile devices (not just browser developer tools) across the entire shopping flow: homepage, category browsing, product pages, search results, and checkout. Check for text that requires zooming, buttons too small to tap accurately, horizontal scrolling, images that overflow the screen, pop-ups that block content, and forms that are difficult to fill on a touchscreen.
Run Google's Mobile-Friendly Test for key page templates and fix any issues it flags. Pay special attention to content parity: everything visible on your desktop version should also be visible on mobile. If you hide product descriptions, reviews, or specification tables behind tabs on mobile, Google may not consider that content for ranking purposes.
HTTPS and Security
Your entire store must run on HTTPS with a valid SSL certificate. Google confirmed HTTPS as a ranking signal in 2014, and Chrome browsers display a "Not Secure" warning for HTTP sites that immediately destroys visitor trust. Verify that all pages load over HTTPS, that HTTP URLs redirect to HTTPS with 301 redirects, and that there are no mixed content warnings (HTTP resources loaded on HTTPS pages). Most ecommerce platforms and hosting providers include free SSL certificates through Let's Encrypt.
Structured Data Implementation
Structured data using Schema.org vocabulary helps Google understand your content in machine-readable format and qualifies your pages for rich results in search. For ecommerce, the critical schema types are:
- Product schema: Name, description, image, price, availability, SKU, brand, and review rating. Enables rich product results with price and availability in search.
- AggregateRating schema: Average rating and review count. Shows star ratings in search results, which significantly increases click-through rates.
- BreadcrumbList schema: Page hierarchy for breadcrumb display in search results. Helps users understand where the page sits in your site structure.
- Organization schema: Business name, logo, contact information. Helps Google connect your store to your brand knowledge panel.
- FAQ schema: For FAQ sections on product or category pages. Can display expandable question-and-answer pairs directly in search results.
Test your implementation at search.google.com/test/rich-results and fix any errors or warnings. Read our structured data guide for implementation details on each schema type.
International and Hreflang Tags
If your store serves multiple countries or languages, use hreflang tags to tell Google which version of each page to show in each market. Without hreflang, Google may show your US English product page to French shoppers, or your UK pricing page to Australian visitors. Each page needs hreflang tags that reference all its language and country variants, including a self-referencing tag. See our international SEO guide for the complete implementation process.
Monthly Technical SEO Maintenance Checklist
- Check Google Search Console for new crawl errors and indexing issues
- Review Core Web Vitals report for any regressions
- Run a crawl with Screaming Frog or similar tool to find new broken links
- Verify new products and categories are being indexed
- Check that canonical tags are in place on newly added pages
- Review and update XML sitemap if significant changes were made
- Test structured data on new page templates with Rich Results Test
- Monitor server response times and uptime
Technical SEO is not a one-time project. Every theme update, new app installation, product addition, and platform change can introduce technical issues. A monthly audit catches problems before they impact rankings and traffic.
