Panduan Shopify SEO

cara melakukan SEO pada Shopify — fixed URL routes, duplicate product URLs, robots.txt.liquid customization, hreflang di bawah Shopify Markets, auto-generated sitemap, dan theme-dependent gap di product schema.

Pertama kali diterbitkan: 25 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Advanced
Bahasa

Shopify handles sebuah surprising amount dari SEO untuk Anda — sebuah auto-generated sitemap XML, sebuah tag canonical pada setiap halaman, HTTPS pada sebuah fast CDN, dan optional 301s when Anda perubahan sebuah URL. di kembalikan ini locks down struktur URL (/products/, /collections/, /halaman/, /blogs/), though robots.txt dapat menjadi customized pada apa pun plan melalui sebuah robots.txt.liquid template. one Shopify-spesifik thing untuk memahami adalah itu setiap product reachable melalui sebuah collection gets sebuah duplicate /collections/.../products/... URL — which Shopify canonicalizes back untuk clean /products/ URL automatically. hreflang adalah auto-generated once Shopify Markets adalah configured. Product dan breadcrumb schema adalah theme-dependent, not guaranteed.

TL;DR — Shopify adalah sebuah hosted platform, so SEO teknis floor adalah tinggi dan ceiling adalah capped. ini auto-generates /sitemap.xml, menambahkan rel=canonical everywhere, runs HTTPS pada sebuah CDN, dan offers 301s pada URL perubahan. fixed URL structure (/products/, /collections/, /pages/, /blogs/) dapat’t menjadi changed except dengan specialized routing approaches, dan robots.txt dapat menjadi customized melalui sebuah Liquid template. defining Shopify issue adalah duplicate product URL: apa pun product reachable melalui sebuah collection gets sebuah /collections/{c}/products/{p} URL alongside -nya canonical /products/{p} URL, dan Shopify auto-canonicalizes duplicate back untuk clean one. Product dan breadcrumb JSON-LD adalah theme-dependent, not platform-guaranteed.

Evidence for this claim Shopify generates robots.txt and supports customization through robots.txt.liquid. Scope: Current online-store themes; Shopify cautions against unnecessary changes. Confidence: high · Verified: Shopify: Edit robots.txt.liquid

mental model: sebuah tinggi floor dengan sebuah rendah ceiling

berguna cara untuk think tentang Shopify SEO adalah itu ini adalah sebuah hosted SaaS platform. itu cuts both cara. dibandingkan dengan sebuah self-hosted stack like WooCommerce, technical floor adalah much higher — Shopify handles canonicalization, sitemaps, SSL, dan CDN delivery untuk Anda, dan Anda dapat’t easily break them. tetapi ceiling adalah lower: Anda tidak get server access dan Anda dapat’t rewrite struktur URL. robots.txt adalah sebuah partial exception — Shopify generates ini, tetapi apa pun store dapat override bagian dari ini via sebuah robots.txt.liquid theme template. sebagian besar dari Shopify SEO adalah understanding which levers exist dan which adalah welded shut.

fixed struktur URL

Shopify menggunakan fixed route prefixes untuk -nya main resource jenis:

Evidence for this claim Shopify resource URLs use platform route prefixes such as /products/ and /collections/. Scope: Standard Online Store resource routes. Confidence: high · Verified: Shopify: URL redirects Evidence for this claim Shopify generates robots.txt and supports customization through robots.txt.liquid. Scope: Current online-store themes; Shopify cautions against unnecessary changes. Confidence: high · Verified: Shopify: Edit robots.txt.liquid
  • Products: /products/{product-handle}
  • Collections: /collections/{collection-handle}
  • Static halaman: /pages/{page-handle}
  • Blog: /blogs/{blog-handle}/{post-handle}

Anda dapat edit setiap handle (slug), tetapi not prefix. ini adalah cleanest poin dari comparison dengan lainnya platforms: BigCommerce lets Anda strip prefixes entirely untuk sebuah flat /{product-name}/ structure, dan WooCommerce lets Anda reshape -nya permalink base. Shopify melakukan not. practical SEO impact, though, adalah kecil — Google’s John Mueller memiliki said more daripada once itu keywords atau structure di sebuah URL adalah, di sebagian besar, sebuah very lightweight peringkat factor once sebuah halaman memiliki telah di-crawl dan Google understands -nya konten. I wouldn’t migrate sebuah store atau fight platform di atas /products/ prefix.

(pada Shopify Plus ada beberapa workarounds — URL rewrites dan apps — tetapi mereka’re edge cases, not sebuah umum “turn off the prefix” (terjemahan) “turn off prefix” toggle.)

duplicate product URL — defining Shopify issue

ini adalah one genuinely Shopify-spesifik thing Anda perlu memahami, so let me menjadi precise tentang ini.

setiap product memiliki sebuah canonical URL dari form /products/{product-handle}. tetapi moment sebuah product adalah bagian dari sebuah collection, ini juga becomes reachable di:

/collections/{collection-handle}/products/{product-handle}

So sebuah product di three collections adalah reachable di four URLs ( canonical plus one per collection). pada face dari ini, itu’s textbook duplicate konten. What saves Anda adalah itu Shopify automatically emits sebuah rel=canonical pointing setiap collection-scoped variant back untuk bare /products/{product-handle} URL. duplicates exist, tetapi mereka’re correctly consolidated oleh default.

The product may have several reachable paths; verify both the canonical output and the URLs your theme links internally.

Two collection-context URLs and the clean products URL reach the same product. Collection-scoped pages emit a canonical signal toward the clean products URL, while theme-generated internal links independently determine which paths crawlers repeatedly discover. Both outputs require live verification.

itu berarti canonical side dari ini adalah handled — tetapi two things adalah masih worth doing:

  1. tautan untuk canonical URL internally. jika Anda theme tautan products dari collection halaman menggunakan panjang /collections/.../products/... form, Anda’re spending internal tautan signals dan crawl permintaan pada URLs itu hanya canonicalize away. banyak modern themes sudah tautan untuk clean /products/ URL; ini adalah worth memeriksa yours.
  2. Don’t fight canonical. I’ve seen people try untuk “fix” (terjemahan) “fix” ini oleh noindexing collection-scoped product URLs atau blocking them. Anda tidak perlu untuk. canonical sudah melakukan consolidation; piling pada noindex atau robots blocks hanya menambahkan risk. (jika Anda ingin deeper reasoning pada why sebuah robots block adalah not sebuah deindex alat, see duplicate konten dan canonicalization write-ups.)

robots.txt: generated oleh default, customizable dengan Liquid

Shopify generates robots.txt oleh default, dan Anda dapat customize ini oleh menambahkan sebuah templates/robots.txt.liquid file untuk theme. generated defaults remain safest baseline untuk sebagian besar stores. defaults adalah sensible (cart, checkout, dan account spaces adalah dipertahankan out). jika Anda genuinely perlu custom aturan — say Anda ingin pertahankan crawler out dari sebuah spesifik filtered URL space — Anda memiliki two options:

  • When custom aturan adalah justified: edit robots.txt oleh menambahkan sebuah robots.txt.liquid template untuk Anda theme, which lets Anda tambahkan atau hapus aturan programmatically. Shopify’s default aturan adalah output melalui {{ robots }}, so sebuah typical override extends alih-alih replaces them — misalnya, untuk pertahankan crawler out dari sebuah filtered collection URL space:

    {%- comment -%} theme file: templates/robots.txt.liquid {%- endcomment -%}
    {{ robots }}
    
    User-agent: *
    Disallow: /collections/*+*
    Disallow: /collections/*%2B*
    Disallow: /collections/*filter*
  • Reach untuk noindex untuk pengindeksan decisions, not robots.txt: when goal adalah keeping sebuah spesifik halaman out dari indeks alih-alih blocking crawler dari sebuah URL pattern, gunakan meta robots / noindex via theme Liquid instead. Remember usual aturan — robots.txt controls crawling, noindex controls pengindeksan, dan mereka’re not interchangeable.

auto-generated sitemap

Shopify generates sebuah sitemap XML automatically di /sitemap.xml. ini adalah actually sebuah sitemap indeks itu tautan out untuk child sitemaps untuk products, collections, halaman, dan blog posts. Anda submit yourstore.com/sitemap.xml untuk Google Search Console dan Bing Webmaster alat dan Shopify mempertahankan ini saat ini. Anda dapat’t hand-edit ini; jika Anda ingin sebuah URL out dari sitemap Anda control itu melalui halaman’s pengindeksan settings / theme, not oleh editing file.

data terstruktur adalah theme-dependent, not platform-guaranteed

ini adalah gap itu trips up paling stores. Shopify melakukan not reliably output Product JSON-LD pada setiap theme, dan yang sama goes untuk BreadcrumbList. Whether Anda product halaman adalah eligible untuk rich hasil — price, availability, review stars — depends entirely pada whether Anda theme emits markup. beberapa dari newer Shopify themes melakukan sertakan Product schema; plenty dari older atau ketiga-party themes don’t, atau emit sebuah incomplete versi.

Google’s own guidance adalah worth keeping di front dari Anda here. -nya Product data terstruktur documentation spells out what merchant-listing-grade product markup adalah untuk:

“Merchant listings: For pages where customers can purchase products from you. This markup has more options for specifying detailed product information, like apparel sizing, shipping details, and return policy information.” (terjemahan) “Merchant listings: untuk halaman where customers dapat purchase products dari Anda. ini markup memiliki more options untuk specifying detailed product informasi, like apparel sizing, shipping detail, dan kembalikan policy informasi.”

dan yang sama halaman adalah explicit itu pairing pada-halaman data terstruktur dengan sebuah Merchant Center feed maximizes Anda eligibility:

“Providing both structured data on web pages and a Merchant Center feed maximizes your eligibility to experiences and helps Google correctly understand and verify your data.” (terjemahan) “Providing both data terstruktur pada halaman web dan sebuah Merchant Center feed maximizes Anda eligibility untuk experiences dan helps Google correctly memahami dan verify Anda data.”

Practically, ini berarti: periksa what Anda theme actually outputs dengan Rich hasil Test, dan jika ini adalah missing atau thin, tambahkan ini — either oleh editing theme’s Liquid templates atau dengan sebuah schema app. Don’t assume Shopify melakukan ini untuk Anda.

One caution worth stating plainly: data terstruktur adalah sebuah visibilitas dan CTR play, not sebuah peringkat shortcut. ini dapat win Anda rich hasil; ini won’t, pada -nya own, move Anda position.

SEO internasional: Shopify Markets dan hreflang

jika Anda store menggunakan Shopify Markets, Shopify menambahkan hreflang tags untuk Anda theme automatically — melalui content_for_header object itu Anda theme renders di <head> dari layout/theme.liquid. itu tags reflect setiap market’s language dan region (sebuah country-spesifik market produces sebuah region-qualified tag like fr-ca; sebuah broader market produces sebuah language-hanya tag like fr), mereka update automatically whenever Anda tambahkan, hapus, atau perubahan sebuah market’s domains atau languages, dan mereka stay di sync dengan setiap halaman’s canonical URL so localized versi read sebagai related halaman, not duplicates.

Two things worth knowing sebelum Anda touch ini yourself:

  • Don’t stack Anda own hreflang tags pada top dari automatic ones. Shopify’s own documentation adalah blunt tentang risk: doing so “can produce duplicate or conflicting annotations, which can hurt your store’s search ranking.” (terjemahan) “dapat produce duplicate atau conflicting annotations, which dapat hurt Anda store’s search peringkat.” jika sebuah theme atau app adalah sudah emitting hreflang, turn automatic tags off pertama (Online Store > Preferences > Social sharing dan SEO > Automatic hreflang tags) alih-alih layering more pada top.
  • Manual hreflang adalah untuk edge cases Markets dapat’t coordinate — documented contoh adalah linking alternate-language versi dari sebuah halaman di seluruh separate Shopify stores pada berbeda domains. jika Anda melakukan go manual, bangun tags dari store’s localization data alih-alih hardcoding product atau collection handles, since sebuah handle dapat differ per language.

Collections, facets, dan URL explosion

Collection halaman adalah biasanya Anda highest-nilai landing halaman, dan mereka’re where nyata ecommerce SEO berfungsi lives — yang sama faceted-navigation masalah Anda’d memiliki pada apa pun platform.

  • Write unique collection deskripsi. mereka’re empty oleh default, leaving halaman sebagai sebuah bare product grid. ini adalah single sebagian besar umum pada-halaman miss pada Shopify.
  • Watch sort dan filter parameters. Shopify’s filtering dan sorting append URL parameters (e.g. ?sort_by=, dan tag/filter paths). di scale ini multiply ke sebuah besar near-duplicate URL space — classic faceted-navigation crawl masalah. Shopify’s canonicals help, tetapi untuk filter combinations Anda tidak ingin terindeks, lean pada canonicals untuk clean collection URL dan noindex where appropriate. full strategy lives di Ecommerce SEO hub.
  • Mind pagination. Give setiap paginated halaman -nya own URL dan sebuah self-referencing canonical; don’t try untuk noindex deep halaman, dan don’t rely pada rel=prev/next (Google stopped menggunakan itu di 2019).

Where Shopify sits versus lainnya platforms

AreaShopifyWhat ini berarti
struktur URLFixed /products/, /collections/, etc.dapat’t strip prefixes (vs BigCommerce); minor peringkat impact
robots.txtGenerated oleh default; customizable via Liquidgunakan meta robots untuk pengindeksan control
SitemapAuto-generated /sitemap.xmlNo manual editing; submit dan forget
tag canonicalAuto pada setiap halaman; consolidates collection product URLsduplicate-URL issue adalah handled untuk Anda
Product schemaTheme-dependent, not guaranteedVerify dengan Rich hasil Test; tambahkan via theme/app jika missing
SSL / CDNdisertakanSolid speed/security baseline
App ecosystemVery besar (hundreds dari SEO apps)Plenty dari schema/redirect/meta tooling available
hreflangAuto-ditambahkan once Markets adalah configured; syncs dengan canonicalDon’t tambahkan manual tags pada top — turn automatic tags off pertama jika sebuah theme/app sudah emits them

honest summary: Shopify menghapus sebuah lot dari cara Anda dapat hurt yourself dan sebuah few dari cara Anda dapat help yourself. defaults adalah baik; berfungsi itu’s left adalah konten, schema verification, dan faceted-navigation discipline — not fighting platform.

  • Ecommerce SEO — pillar, including faceted-navigation deep dive itu collection/filter URLs depend pada.
  • Canonicalization — how rel=canonical consolidates duplicates ( mechanism behind Shopify’s auto-canonicals).
  • Duplicate konten — why duplicate URLs biasanya aren’t sebuah penalty, dan why Anda shouldn’t block them.
  • tag canonical (rel=canonical) — tag itself, secara mendalam.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.