Panduan WooCommerce SEO

cara mengoptimalkan sebuah WooCommerce store untuk pencarian organik — what WooCommerce melakukan oleh default, where ini falls pendek, duplicate-konten risk map (categories, tags, attributes, facets), struktur URL including 10,5 permalink perubahan, product schema, plugins (Yoast vs peringkat Math), dan Core Web Vitals.

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

WooCommerce adalah sebuah free WordPress plugin, not sebuah standalone platform — so Anda control whole stack, which berarti highest ceiling dan widest surface untuk misconfiguration. Out dari box ini gives Anda valid-tetapi-minimal product schema, workable URLs, dan sebuah pile dari archive halaman jenis (categories, tags, attributes) itu quietly generate duplicate dan thin konten. nyata berfungsi adalah configuration: pick one SEO plugin (Yoast SEO + paid WooCommerce tambahkan-pada, atau peringkat Math), hindari duplicate schema blocks, noindex rendah-nilai archives, pertahankan /product/ /product-category/ /shop/ bases, dan treat caching sebagai Anda single biggest Core Web Vitals lever.

Evidence for this claim WooCommerce provides configurable product and taxonomy permalink settings and documents the tradeoffs of removing standard URL bases. Scope: WooCommerce on WordPress; actual rewrite behavior depends on server and plugin configuration. Confidence: high · Verified: WooCommerce: Permalinks Evidence for this claim WooCommerce creates product categories, tags, and attributes as distinct product taxonomies that require deliberate content and indexation decisions. Scope: WooCommerce catalog organization; noindex is an editorial SEO choice, not a universal platform requirement. Confidence: high · Verified: WooCommerce: Product taxonomies

TL;DR — WooCommerce adalah sebuah free WordPress plugin, so Anda own entire stack: highest technical ceiling, widest surface untuk misconfiguration. Default output adalah valid tetapi minimal — basic Product JSON-LD, workable URLs, dan sebuah set dari archive jenis (categories, tags, attributes, shop) itu generate duplicate dan thin konten di scale. nyata berfungsi: pick one SEO plugin dan hindari emitting two schema blocks; noindex tag/attribute archives; write unique category deskripsi; pertahankan /product/, /product-category/, /shop/ bases (menghapus them adalah officially discouraged); dan treat full-halaman + object caching sebagai Anda biggest Core Web Vitals lever. WooCommerce 10,5 changed permalink perilaku so deepest category wins — tetapi ini auto-301s old URLs.

Start dari platform reality

WooCommerce isn’t sebuah platform — ini adalah paling-installed ecommerce plugin untuk WordPress. itu single fact drives setiap decision below. Anda memiliki direct access untuk theme templates, WordPress hooks, URL routing, plugin architecture, dan server itself. dibandingkan dengan sebuah hosted platform, itu’s sebuah far higher ceiling untuk technical SEO dan sebuah far wider surface untuk getting ini wrong.

default output adalah best described sebagai “valid and workable” (terjemahan) “valid dan workable” — not dioptimalkan. WooCommerce emits data terstruktur itu validates dan struktur URL itu function. tetapi valid schema dan qualifying untuk rich hasil adalah berbeda standards, dan sebuah berfungsi struktur URL dapat masih leak duplicate konten. job adalah closing itu gap.

What WooCommerce melakukan (dan doesn’t) melakukan oleh default

melakukan:

  • Unique URL per product (default base /product/slug/).
  • Native JSON-LD Product schema pada single product halaman: name, image, description, sku, dan sebuah offers object (price, priceCurrency, availability, url, seller). Two filters control ini — woocommerce_structured_data_product dan woocommerce_structured_data_product_offer.
  • Category archives (/product-category/), tag archives (/product-tag/), optional attribute archives, dan shop halaman (/shop/).

Doesn’t, oleh default:

  • Output brand, aggregateRating, review, gtin/mpn, atau hasMerchantReturnPolicy di product schema — ini perlu sebuah plugin.
  • Connect schema ke sebuah graph ( connected WebPage → BreadcrumbList → Product structure Google prefers).
  • Fill di category deskripsi atau non-default tag judul.
  • Set pretty permalinks — Anda harus configure Settings → Permalinks yourself atau WooCommerce URLs won’t resolve correctly.

One berguna historical note dari WooCommerce’s own structured-data wiki: prior untuk 3.5.6, limited data adalah sometimes output untuk archives/categories; itu’s no longer case, following Google’s compliance requirements.

duplicate-konten risk map

ini adalah where WooCommerce stores actually lose. platform spins up overlapping archive halaman dari several sources di once:

SourceRiskFix
Product di multiple category archivesMediumSet sebuah primary category; canonical pada product halaman resolves path
Faceted nav / filter parameterstinggiCanonical untuk clean URL; noindex multi-filter combos
Product tag archivesMediumNoindex via Anda SEO plugin
Product attribute archivesMedium–tinggiNoindex oleh default; enable selectively untuk tinggi-demand istilah
Sort parameters (?orderby=price)tinggiSelf-referencing canonical atau parameter exclusion
Pagination beyond early halamanrendah–MediumSelf-referencing canonicals — don’t noindex deep
www vs non-www / http vs httpstinggi301 di server + canonical

sebuah few dari ini deserve emphasis:

  • Attribute archives adalah silent killer. Color × size × material di seluruh sebuah besar catalog generates hundreds dari thin istilah halaman, sebagian besar dengan zero search volume, overlapping dengan filtered category halaman. Yoast/peringkat Math consensus adalah untuk noindex attribute archives oleh default dan enable hanya documented-demand istilah (e.g. /brand/nike/ jika “brand” (terjemahan) “brand” adalah sebuah attribute dan brand memiliki volume).
  • Faceted nav scales fast. ini adalah well documented itu filters pada sebuah situs dari ~700 products dapat balloon ke ~11 000 dapat diindeks URLs once parameters get appended. canonical strategy depends pada filter: single-attribute tinggi-volume filters dapat earn sebuah self-referencing canonical dan pengindeksan; rendah-nilai multi-attribute combos seharusnya canonical untuk parent category atau get noindexed. (ini adalah umum ecommerce faceted-navigation masalah — WooCommerce hanya membuat ini easy untuk generate.)
  • Don’t noindex deep pagination reflexively. panjang-istilah noindex eventually leads Google untuk stop following tautan pada halaman, which dapat cut internal tautan equity untuk products itu hanya appear pada itu deep halaman. Prefer self-referencing canonicals.

struktur URL

WooCommerce offers several permalink shapes: default (/product/slug/), shop base (/shop/slug/), shop base dengan category (/shop/category/slug/), dan sebuah custom base. Taxonomy bases default untuk product-category, product-tag, dan sebuah empty attribute base.

My default recommendation: gunakan plain /product/slug/ structure. ini adalah shorter, ini doesn’t perubahan when Anda reorganize categories, dan ini sidesteps WooCommerce 10,5 perilaku below.

WooCommerce 10,5 (early 2026) changed “shop base with category.” (terjemahan) “shop base dengan category.” ini now picks istilah dengan paling ancestors — deepest category di hierarchy — untuk URL. sebuah product di both “Electronics” (terjemahan) “Electronics” dan “Electronics > Phones > Smartphones” (terjemahan) “Electronics > Phones > Smartphones” now generates /shop/electronics/phones/smartphones/product-name/ alih-alih shallower path. baik news: WooCommerce’s dibangun-di canonical redirect automatically 301s old URLs untuk baru canonical — no manual redirects. caveat: tautan eksternal dan bookmarks untuk old URLs dapat briefly 404 sebelum redirect resolves. jika Anda gunakan ini structure, set sebuah primary category pada setiap product.

jangan hapus URL bases. WooCommerce’s docs adalah explicit itu menghapus /product/, /product-category/, atau /shop/ “is not advisable” (terjemahan) “adalah not advisable” dan dapat lead untuk “a number of problems with performance and duplicate URLs.” (terjemahan) “sebuah angka dari masalah dengan performa dan duplicate URLs.” WordPress relies pada itu base slugs untuk identify halaman jenis; strip them dan Anda force extra processing dan buat ambiguity antara custom halaman dan product categories. marginal URL-shortening benefit isn’t worth technical debt.

Schema dan data terstruktur

Google recommends JSON-LD (microdata dan RDFa adalah error-prone) dan lists six ecommerce structured-data jenis worth implementing: BreadcrumbList, LocalBusiness, Organization, Product/ProductGroup, Review, dan VideoObject. ini juga distinguishes merchant listings (halaman where customers dapat buy — more fields untuk shipping, mengembalikan, sizing) dari product snippets (halaman where mereka dapat’t directly buy — more review fields), dan notes itu satisfying merchant-listing requirements umumnya membuat Anda eligible untuk product snippets too. Google’s lainnya recommendation: menyediakan both data terstruktur pada halaman dan sebuah Merchant Center feed untuk maximize eligibility.

native-vs-plugin gap, condensed:

PropertyWooCommerce nativeYoast WooCommerce SEOperingkat Math (Pro)
Product, name, description, image, skuYesYes (+ ItemPage, gallery)Yes
offers (price/currency/availability)YesYes (enhanced)Yes
brand / manufacturerNoYes (via taxonomy)Yes (Pro)
aggregateRating / reviewNoYes (jika reviews exist)Yes
gtin / mpnNoYes (input fields)Yes (Pro)
hasMerchantReturnPolicyNoOptionalNo
BreadcrumbListWC schemaYoast graph (replaces WC)peringkat Math graph

** single sebagian besar umum mistake: duplicate schema blocks.** jika WooCommerce’s native schema dan Anda SEO plugin’s schema both fire, Google sees two conflicting Product blocks pada yang sama halaman. fix adalah untuk disable WooCommerce’s native output when Anda plugin replaces ini. One practitioner figure puts ini pada roughly 40% dari WooCommerce audits — itu angka adalah industry anecdote, not sebuah official stat, so treat ini sebagai directional alih-alih precise.

Plugins: Yoast WooCommerce SEO vs peringkat Math

pertahankan products straight: Yoast SEO adalah free plugin; Yoast WooCommerce SEO adalah sebuah separate paid tambahkan-pada (sekitar 178,80 USD/year) itu memerlukan Yoast SEO dan menambahkan WooCommerce-spesifik schema dan config. peringkat Math, oleh contrast, ships sebuah WooCommerce module di -nya free versi (dengan more di Pro).

What Yoast tambahkan-pada melakukan untuk product-halaman schema, per Yoast’s developer docs: perubahan WebPage piece untuk ItemPage; menambahkan mainEntityOfPage referencing WebPage oleh ID; sets brand/manufacturer dari taxonomy; sets seller untuk publishing Organization/Person; stitches offers, review, dan/atau aggregateRating ke graph; unsets datePublished/dateModified dari ItemPage; menghapus WooCommerce’s own breadcrumb schema di favor dari Yoast’s graph-connected one; dan switches checkout halaman’s WebPage untuk CheckoutPage. Customization runs melalui wpseo_schema_product dan wpseo_schema_offer filters. One gotcha worth knowing: aggregateRating hanya outputs setelah Anda memiliki di least one review.

peringkat Math’s WooCommerce module handles duplicate konten directly — per -nya KB ini “automatically adds canonical URLs to most of your pages, including product pages, categories, tags, attributes, and more,” (terjemahan) “automatically menambahkan canonical URLs untuk sebagian besar dari Anda halaman, including product halaman, categories, tags, attributes, dan more,” sets unique judul/deskripsi per product dan taxonomy, dan lets Anda set noindex pada archive jenis itu buat duplicate konten (paginated halaman, hasil pencarian, tags, categories, attribute istilah halaman). Product schema (price, availability, ratings, SKU) adalah automatic; GTIN/MPN/brand adalah Pro.

Both adalah baik. Choose pada budget dan preference — hanya don’t run both, dan don’t let either double up dengan WooCommerce’s native schema.

WooCommerce ships -nya own breadcrumb output (HTML + sebuah standalone schema block). Yoast WooCommerce SEO’s “Replace WooCommerce Breadcrumbs” (terjemahan) “Replace WooCommerce Breadcrumbs” setting swaps itu untuk Yoast’s breadcrumb, which adalah wired ke full schema graph (WebPage → BreadcrumbList → Product). peringkat Math similarly outputs -nya own BreadcrumbList. jika Anda’ve enabled breadcrumbs di either plugin, turn pada replacement so Anda tidak end up dengan two breadcrumb sources — graph-connected one adalah more berguna untuk Google untuk understanding hierarchy.

Core Web Vitals

WooCommerce-pada-WordPress adalah paling performa-variable ecommerce stack: sebuah default install pada shared hosting dengan sebuah heavy theme dapat fail semua three thresholds; sebuah tuned install pada managed hosting dapat beat sebagian besar hosted platforms.

  • LCP (< 2,5s). Usual culprits: sebuah unoptimized product hero image (no WebP, no preload), no halaman caching, slow TTFB. DebugBear’s pengukuran membuat caching poin vividly: regenerating sebuah full halaman membuat pengunjung wait di atas 1,6 seconds, versus ~104 ms once cached. Fixes: full-halaman caching, WebP, preload above—fold product image (wp_preload_resources filter, WP 6.3+), CDN untuk static assets.
  • CLS (< 0,1). Gallery images without explicit width/height, late-memuat fonts (no font-display: swap), dan dynamic cart widget injecting konten. Fixes: explicit image dimensions, font-display: swap, preallocated space / skeletons untuk cart widgets.
  • INP (< 200ms). Big JS bundles dari halaman builders dan plugins, excessive tambahkan-untuk-cart/variation AJAX, dan unoptimized ketiga-party scripts (chat, reviews, social).

Caching adalah single biggest lever. Object caching alone dapat cut database kueri oleh ~86%. WooCommerce-spesifik catch: full-halaman cache adalah bypassed untuk logged-di pengguna dan anyone dengan items di cart (session cookies), so gap antara sebuah Lighthouse test dan sebuah nyata shopper dapat menjadi besar. WP Rocket dan LiteSpeed Cache mendukung cart-fragment caching untuk soften itu. sebuah sane stack: full-halaman cache (WP Rocket / LiteSpeed / Nginx FastCGI) + object cache (Redis atau Memcached, which managed hosts like WP mesin, Kinsta, dan SiteGround sertakan) + sebuah CDN. sajikan WebP (WordPress generates ini natively; WooCommerce menyajikan ini oleh default pada recent versi), pre-generate thumbnails, dan lazy-muat below—fold grid images.

Sitemaps dan indexability

Anda SEO plugin generates sitemap XML. Yoast WooCommerce SEO menambahkan product gallery images untuk ini dan excludes Cart, Checkout, dan My Account (itu adalah noindexed oleh WooCommerce sudah). peringkat Math’s free module adalah WooCommerce-aware too.

pertahankan out dari sitemap: Cart/Checkout/My Account, permanently out-dari-stock products (pertimbangkan noindex + exclusion), filtered/sorted parameter URLs, dan apa pun tag atau attribute archives Anda’ve noindexed. Pagination beyond halaman 1 adalah debated — Google melakukan crawl paginated halaman regardless, so I’d lean toward self-referencing canonicals di atas noindex.

sebuah few myths untuk retire

  • “Removing /product/ helps SEO.” (terjemahan) “menghapus undefined helps SEO.” No — WooCommerce officially panggilan ini “not advisable” (terjemahan) “not advisable” dan ini causes performa dan duplicate-URL masalah.
  • “Native schema is good enough.” (terjemahan) “Native schema adalah baik enough.” ini adalah valid tetapi minimal — no brand, aggregateRating, gtin/mpn, atau connected graph Google prefers.
  • rel=prev/next fixes pagination.” (terjemahan) “undefined fixes pagination.” Google stopped menggunakan itu hints back di
  1. gunakan self-referencing canonicals.
  • “More attributes = better SEO.” (terjemahan) “More attributes = better SEO.” Enabling archives untuk setiap attribute membuat hundreds dari thin halaman. Noindex sebagian besar dari them.
  • “WooCommerce and Shopify have the same ceiling.” (terjemahan) “WooCommerce dan Shopify memiliki yang sama ceiling.” berbeda profiles. WooCommerce offers more configuration depth di cost dari needing more expertise; sebagian besar comparisons quietly benchmark default Shopify terhadap dioptimalkan WooCommerce.

Add an expert note

Pin an expert quote

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