Shopify ships with solid foundational SEO features, but leaving default settings untouched leaves performance on the table. This tutorial walks through the critical configuration steps — domain structure, theme markup, product schema, URL canonicals, and speed hygiene — so your store ranks competently from day one without technical debt.
Shopify assigns every store a myshopify.com subdomain by default. Leaving it as your primary domain signals impermanence to both users and search engines, and you forfeit any trust signals that accrue to a branded domain. Buy your .ca or .com through Shopify's domain service or connect an existing domain via DNS A and CNAME records. Shopify provisions a free SSL certificate automatically once the domain is connected, so HTTPS becomes your default. Verify in Google Search Console that the https version is the canonical variant and that the myshopify.com subdomain 301-redirects cleanly. If you operate in Quebec or serve bilingual audiences, consider a .ca with /en and /fr subfolders rather than separate domains to consolidate link equity and simplify hreflang.
Modern Shopify themes from the official theme store — Dawn, Sense, Craft — include JSON-LD schema for Product, Offer, and Breadcrumb out of the box. Older or heavily customized themes may lack this markup entirely. Navigate to a live product page, view source, and search for application/ld+json. Confirm you see structured data with price, availability, SKU, and aggregate review rating if you collect reviews. If markup is missing, either upgrade the theme or have a developer inject schema via theme.liquid. Breadcrumb schema helps Google understand site hierarchy, especially for multi-level collections. Ensure your theme renders breadcrumbs visibly on product and collection pages, as the visual element reinforces the schema. Themes also control mobile viewport settings and image lazy-loading, both of which affect Core Web Vitals.
Shopify auto-generates title tags using the pattern Product Title | Store Name for products and Collection Title | Store Name for collections. This is functional but generic. Go to Settings > Preferences and edit the Homepage title and meta description manually. For products and collections, navigate to the individual item in the admin, scroll to Search Engine Listing Preview, and click Edit SEO. Write unique titles that front-load the primary keyword and stay under sixty characters. Meta descriptions should be compelling summaries under 155 characters, not keyword-stuffed excerpts. For stores with hundreds of SKUs, template the top twenty revenue-driving products and hero collections first, then batch-edit secondary items to avoid duplicate or missing descriptions. Blog posts allow the same per-post override in the blog editor.
Shopify enforces a fixed URL structure: /products/handle, /collections/handle, /pages/handle, /blogs/handle/article. You cannot remove these prefixes without a Shopify Plus rewrite, so plan your handle slugs accordingly. Handles are auto-generated from titles but editable before first publish. Use lowercase, hyphens, and avoid stop words. Shopify automatically injects canonical link tags on every page, but problems arise when apps generate alternative URLs or when a product appears in multiple collections. A single product at /products/blue-sweater may be reachable via /collections/winter/products/blue-sweater, creating duplicate paths. Shopify canonicalizes these to the root /products/ URL, but external apps sometimes interfere. Audit with Screaming Frog to confirm canonical tags point consistently and that no indexed pages carry rel=canonical to a different URL.
Shopify compresses uploaded images automatically and serves them via CDN, but it does not add alt attributes by default. Every product image, collection banner, and blog featured image needs descriptive alt text. Navigate to the product editor, click an image thumbnail, and fill the Alt text field with a concise, keyword-relevant description. Avoid keyword stuffing; write for visually impaired users first. Shopify also generates automatic image filenames based on upload name, so rename files before upload to something like blue-merino-sweater-front.jpg instead of IMG_1234.jpg. For theme sections like slideshows or featured collections, alt text fields are in the theme customizer under each image block. Missing alt text is one of the most common issues flagged in accessibility and SEO audits.
Shopify's infrastructure delivers solid server response times, but app bloat and unoptimized theme code degrade Largest Contentful Paint and Cumulative Layout Shift. Run PageSpeed Insights on your homepage, a product page, and a collection page before installing apps. Record the baseline LCP, CLS, and Time to Interactive scores. Each app you add injects JavaScript and sometimes renders third-party iframes. Review apps, live chat widgets, and popup forms are frequent offenders. Enable apps selectively and re-test. Use lazy-loading for images below the fold — most modern themes handle this automatically. Avoid autoplaying video heroes or large carousel scripts on mobile. Shopify's Online Store Speed report in the admin shows a theme-level score; aim to stay above seventy before launch.
After domain connection and theme configuration, run a full site crawl with Screaming Frog or a similar desktop crawler. Look for 404 errors on internal links, redirect chains longer than two hops, missing H1 tags, and duplicate title tags. Fix issues in bulk by editing product handles, updating internal navigation links, or adjusting theme templates. Submit your XML sitemap at yourstore.com/sitemap.xml to Google Search Console. Shopify auto-generates this sitemap and updates it as you publish new products or blog posts. Verify that all critical page types — products, collections, blog posts, key pages like About and Contact — appear in the sitemap. Use Search Console's URL Inspection tool to confirm Google can render JavaScript correctly and that structured data parses without errors. Monitor the Coverage report weekly in the first month to catch crawl anomalies early.
No. Standard Shopify plans provide access to title tags, meta descriptions, alt text, canonical tags, sitemaps, and robots.txt editing. Plus unlocks URL rewrites to remove /collections/ and /products/ prefixes and allows checkout page customization, but neither is essential for ranking. Most stores perform well on the base plan with correct configuration.
Shopify's blog is simple and keeps everything under one domain, which consolidates authority and simplifies analytics. WordPress offers richer formatting, plugins, and editorial workflows, but requires subdomain or subfolder integration and introduces maintenance overhead. If content marketing is central to your strategy and you need advanced taxonomy or multi-author workflows, WordPress on a subfolder is defensible. Otherwise, Shopify's blog is sufficient for product announcements, how-to guides, and seasonal content.
Use Shopify Markets or Translate & Adapt to create language-specific URLs like /en/products/handle and /fr/products/handle. Implement hreflang tags in your theme to tell Google which language variant serves which audience. Each language should have unique translated meta titles, descriptions, and product copy — machine translation alone is insufficient for ranking in French searches. Register both languages in Search Console as separate property sets if you want granular performance data.
Install Screaming Frog SEO Spider on desktop, enter your store URL, and run a full crawl. Export the Internal tab and filter by status code to isolate 404s, 301 chains, and orphaned pages. Cross-reference with Google Search Console's Coverage report to see which errors Google has already encountered. Prioritize fixing 404s on pages that previously had backlinks or internal navigation prominence. Redirect old handles to new ones using Shopify's URL Redirects tool under Online Store > Navigation.
Shopify generates a default robots.txt at yourstore.com/robots.txt that disallows /admin, /cart, /orders, and other non-public paths. You can append custom rules via theme code using a robots.txt.liquid template, but you cannot fully replace the file. Most stores should leave the defaults and only add disallow directives for duplicate filtered collection URLs or staging environments. Never block /collections/ or /products/ at the robots level, as this prevents product indexing entirely.
Google typically indexes a new Shopify store within a few days of sitemap submission, but ranking depends on domain age, backlink profile, content depth, and competitive intensity. Stores on new domains with minimal backlinks may take two to four months to gain traction for anything beyond branded queries. Stores on aged domains or with existing authority can rank for long-tail product keywords within weeks. Focus the first sixty days on fixing technical issues, publishing blog content, and acquiring foundational backlinks from suppliers, trade associations, or local directories rather than expecting immediate traffic.