Product halaman SEO

cara mengoptimalkan product detail halaman (PDPs) untuk search — data terstruktur itu earns rich hasil (product snippets vs. merchant listings), variant canonicalization, unique copy vs. manufacturer duplication, customer reviews dan E-E-sebuah-T, image SEO, dan out-dari-stock handling. paling commercial dan sebagian besar technical halaman pada sebuah store, di one place.

Pertama kali diterbitkan: 25 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Advanced
Bahasa
1 sinyal bukti di halaman ini

Product halaman adalah Anda highest-intent halaman — dan Anda sebagian besar technically dimuat ones. Get data terstruktur right (product snippets untuk halaman Anda dapat't buy dari, merchant listings untuk halaman Anda dapat; minimum viable markup adalah name + image + price + currency, price greater daripada zero) dan Anda earn rich hasil dan free product listings — tetapi schema melakukan not membuat halaman peringkat. Write unique copy alih-alih pasting manufacturer's, canonical variants untuk sebuah base URL, pertahankan out-dari-stock halaman live dengan availability atur ke OutOfStock, dan let nyata customer reviews carry experience signal. data terstruktur tells Google what changed; ini tidak pernah replaces sebuah baik halaman.

TL;DR — Product halaman adalah highest-intent, sebagian besar technically dimuat halaman pada sebuah store. data terstruktur comes di two flavors — product snippets (halaman Anda dapat’t buy dari) dan merchant listings (halaman Anda dapat); minimum viable merchant-listing markup adalah Product.name + Product.image + Offer.price + Offer.priceCurrency, dan merchant listings memerlukan sebuah price greater daripada zero. Schema earns rich hasil dan free product listings; ini adalah not sebuah peringkat signal. Canonical variants untuk sebuah base URL (kueri-param variants → parameter-free URL; path-based variants → parent product URL) dan gunakan ProductGroup untuk signal relationship. Write unique copy alih-alih manufacturer’s boilerplate, pertahankan out-dari-stock halaman live dengan availability atur ke OutOfStock, dan let nyata customer reviews carry experience/trust signal untuk E-E-sebuah-T.

Why product halaman adalah highest-ROI target

Product halaman sit di bottom dari funnel. kueri itu land pada them carry highest commercial intent pada whole situs, dan — because mereka’re spesifik (model names, sizes, SKUs, “for X” (terjemahan) “untuk X”) — mereka’re biasanya panjang-tail dan lower competition. sebagai Ahrefs ecommerce guide frames ini, “optimized product pages enhance the user experience and rank better for long-tail search terms, which typically have lower competition and high commercial intent.” (terjemahan) “dioptimalkan product halaman enhance pengguna experience dan peringkat better untuk panjang-tail search istilah, which typically memiliki lower competition dan tinggi commercial intent.”

mereka’re juga paling technically demanding halaman Anda’ll touch: mereka carry data terstruktur untuk rich hasil, mereka memiliki untuk handle variant canonicalization, mereka compete terhadap identical manufacturer copy spread di seluruh setiap lainnya retailer, dan mereka generate bulk dari sebuah ecommerce situs’s faceted-navigation URL bloat. Get data terstruktur, tag canonical, dan copy right dan mereka reward Anda out dari semua proportion untuk mereka length.

Raw versus rendered ecommerce SEO

Google Search dapat render JavaScript, tetapi itu melakukan not membuat rendered DOM hanya versi worth auditing. lainnya crawler, shopping sistem, pengguna-triggered fetchers, dan extraction agents memiliki berbeda rendering capabilities dan time budgets. Put core product proposition di initial server respons, lalu gunakan JavaScript untuk enhance ini.

Evidence for this claim Google Merchant Center recommends including product structured data and key product information, particularly price and availability, in the initial HTML response because JavaScript-generated markup can make Shopping crawls less frequent and less reliable. Scope: Google Merchant Center landing-page guidance; other crawlers and agents have provider-specific rendering behavior. Confidence: high · Verified: Google Merchant Center: Landing page requirements

raw HTML seharusnya expose:

  • product name, canonical URL, dan stable product atau group identity;
  • selected atau default SKU dan -nya defining attributes;
  • selected offer’s price, currency, dan availability;
  • dapat di-crawl tautan untuk addressable variants where URL strategy memerlukan them;
  • matching Product / ProductGroup dan Offer JSON-LD.

Rendered konten dapat tambahkan galleries, recommendations, personalization, financing widgets, store lookup, postcode-spesifik delivery estimates, dan richer selection controls. ini seharusnya not replace satu-satunya statement dari product identity atau silently perubahan selected offer. Compare raw respons, rendered DOM, terlihat selection, data terstruktur, dan cart permintaan untuk yang sama URL. jika mereka identify berbeda products atau offers, rendering succeeded technically tetapi ecommerce contract masih failed. Evidence for this claim Google Merchant Center recommends including product structured data and key product information, particularly price and availability, in the initial HTML response because JavaScript-generated markup can make Shopping crawls less frequent and less reliable. Scope: Google Merchant Center landing-page guidance; other crawlers and agents have provider-specific rendering behavior. Confidence: high · Verified: Google Merchant Center: Landing page requirements See Product Variant SEO untuk full selected-offer contract dan URL-strategy choices.

Product data terstruktur: two distinct classes

Google splits product data terstruktur ke two fitur, dan distinction governs which fields Anda perlu: Evidence for this claim Google documents product snippets and merchant listings as distinct Product structured data experiences. Scope: The experiences overlap but have different requirements and page-intent constraints. Confidence: high · Verified: Google: Product structured data

  • Product snippets — “For product pages where people can’t directly purchase the product.” (terjemahan) “untuk product halaman where people dapat’t directly purchase product.” Think comparison atau editorial halaman.
  • Merchant listings — “For pages where customers can purchase products from you.” (terjemahan) “untuk halaman where customers dapat purchase products dari Anda.” ini adalah transactional PDP.

There’s overlap: “There is some overlap between the two product features,” (terjemahan) “ada beberapa overlap antara two product fitur,” dan “the more properties you can add, the more enhancements your page can be eligible for.” (terjemahan) “ more properties Anda dapat tambahkan, more enhancements Anda halaman dapat menjadi eligible untuk.” One penting scope limit: “Currently, product rich results only support pages that focus on a single product (or multiple variants of the same product)” (terjemahan) “Currently, product rich hasil hanya mendukung halaman itu focus pada sebuah single product (atau multiple variants dari yang sama product)” — so category dan multi-product listing halaman aren’t eligible untuk product rich hasil.

Minimum viable merchant-listing markup

untuk sebuah purchasable PDP, diperlukan Product fields adalah hanya three:

  • name — product’s name.
  • image — sebuah product photo. Google: “Pictures clearly showing the product (for example, against a white background) are preferred.” (terjemahan) “Pictures clearly showing product (untuk contoh, terhadap sebuah white background) adalah preferred.”
  • offers — sebuah nested Offer untuk sell product.

dan inside itu Offer, two diperlukan fields:

  • price (atau priceSpecification.price)
  • priceCurrency — three-letter ISO 4217.

critical aturan itu catches people: “Unlike product snippets, merchant listing experiences require a price greater than zero.” (terjemahan) “Unlike product snippets, merchant listing experiences memerlukan sebuah price greater daripada zero.” sebuah 0 USD placeholder won’t qualify. dan hanya genuinely purchasable halaman count — “Only pages where a shopper can purchase a product are eligible for merchant listing experiences, not pages with links to other sites that sell the product.” (terjemahan) “hanya halaman where sebuah shopper dapat purchase sebuah product adalah eligible untuk merchant listing experiences, not halaman dengan tautan untuk lainnya situs itu sell product.” Evidence for this claim Merchant listing experiences require a positive price and a page where shoppers can purchase the product. Scope: Other eligibility and policy requirements also apply. Confidence: high · Verified: Google: Merchant listing properties

(Product snippets adalah looser: mereka memerlukan name plus one dari review, aggregateRating, atau offers.)

ini aren’t diperlukan, tetapi setiap one Anda tambahkan widens Anda eligibility:

  • pada Product: aggregateRating, brand.name, color, description, gtin/mpn, material, review, sku, size.
  • pada Offer: availability (InStock, OutOfStock, BackOrder…), itemCondition, hasMerchantReturnPolicy, shippingDetails, dan url.

melakukan not treat description, sku, brand, atau review/aggregateRating sebagai diperlukan — mereka’re recommended. Plenty dari guides get ini wrong dan tell Anda sebuah halaman adalah “broken” (terjemahan) “broken” without them. ini isn’t; ini adalah hanya eligible untuk fewer enhancements.

Free product listings without sebuah Merchant Center account

Since September 2022, data terstruktur alone dapat membuat Anda eligible untuk merchant listing experiences — Google dihapus old requirement untuk memiliki sebuah Merchant Center feed. Free listings “may show in different places on Google, like Search, Images, Lens, YouTube, Gemini, the Shopping tab, and the products module on Business Profile,” (terjemahan) “dapat tampilkan di berbeda places pada Google, like Search, Images, Lens, YouTube, Gemini, Shopping tab, dan products module pada Business Profile,” dan mereka’re matched oleh Anda product data, not bidding. Google’s caveat: “Your products aren’t guaranteed to show across Google.” (terjemahan) “Anda products aren’t guaranteed untuk tampilkan di seluruh Google.” Providing both structured data dan sebuah Merchant Center feed masih maximizes eligibility dan helps Google verify Anda data — tetapi feed adalah no longer sebuah hard prerequisite.

Handling product variants

Variants (color, size) adalah where canonicalization decisions live, dan Google mendukung two patterns — there’s no single mandated approach:

  • kueri-parameter variants (/shirt?color=blue): “If you use optional query parameters to identify variants, use the URL with the query parameter omitted as the canonical URL.” (terjemahan) “jika Anda gunakan optional kueri parameters untuk identify variants, gunakan URL dengan kueri parameter omitted sebagai canonical URL.” So everything canonicals back untuk clean /shirt.
  • Path-based variants (setiap variant memiliki -nya own URL): “For products with unique URLs per variant, include the canonical product URL on all variant pages using a canonical tag.” (terjemahan) “untuk products dengan unique URLs per variant, sertakan canonical product URL pada semua variant halaman menggunakan sebuah tag canonical.” setiap variant poin di parent product halaman.

Either cara: “Use the same URL in internal links, sitemap files, and canonical tags.” (terjemahan) “gunakan yang sama URL di tautan internal, sitemap files, dan tag canonical.” Consistency di seluruh itu three signals adalah how Anda raise Google’s confidence di canonical Anda’ve chosen — sebuah rel=canonical adalah sebuah hint, not sebuah guarantee.

untuk membuat relationship explicit, gunakan ProductGroup: “To help Google better understand which products are variations of the same parent product, use the ProductGroup class with associated properties variesBy, hasVariant, and productGroupID.” (terjemahan) “untuk help Google better memahami which products adalah variations dari yang sama parent product, gunakan undefined class dengan associated properties undefined, undefined, dan undefined.” Note itu “each variant must have a unique ID in its corresponding structured data markup (for example, using the sku or gtin properties),” (terjemahan) “setiap variant harus memiliki sebuah unique ID di -nya corresponding data terstruktur markup (misalnya, menggunakan undefined atau undefined properties),” dan pada multi-halaman implementations setiap variant halaman “must include full and self-contained markup for the entities defined on that page.” (terjemahan) “harus sertakan full dan self-berisi markup untuk entities defined pada itu halaman.”

manufacturer-deskripsi masalah

ini adalah paling umum, sebagian besar damaging mistake pada product halaman. Pasting manufacturer’s deskripsi verbatim membuat near-identical konten di seluruh manufacturer’s own situs dan setiap retailer carrying product. There’s no duplicate konten penalty — tetapi Google consolidates duplicates dan picks one URL untuk tampilkan, dan domain authority, age, dan pengguna signals semua feed itu choice. Anda dapat not menjadi halaman ini picks.

Google’s helpful-konten guidance menanyakan directly whether konten “draws on other sources” (terjemahan) “draws pada lainnya sources” tetapi melakukan so without “simply copying or rewriting those sources,” (terjemahan) “simply copying atau rewriting itu sources,” dan instead menyediakan “substantial additional value,” (terjemahan) “substantial additional nilai,” dan warns terhadap “mainly summarizing what others have to say without adding much value.” (terjemahan) “mainly summarizing what others memiliki untuk say tanpa menambahkan much nilai.” untuk products itu berarti: who adalah ini untuk, how melakukan ini compare untuk alternatives, what’s ini like untuk actually gunakan. Writing original copy untuk setidaknya Anda top-selling SKUs adalah one dari highest-ROI konten moves di sebuah ecommerce catalog.

ini adalah juga where I’d menjadi careful dengan AI. data terstruktur helps Google memahami halaman — Gary Illyes memiliki said ini “will help us understand your pages better, and indirectly, it leads to better ranks in some sense” (terjemahan) “akan help us memahami Anda halaman better, dan indirectly, ini leads untuk better peringkat di beberapa sense” (attributed via Sam Underwood’s Ahrefs guide; treat sebagai relayed, not sebuah pertama-party Google quote) — tetapi generating product descriptions dengan AI risks hallucinated specs, measurements, dan compatibility claims. jika Anda melakukan auto-generate copy, note itu Google Merchant Center now expects AI-generated judul dan deskripsi untuk menjadi disclosed via structured_title / structured_description feed attributes.

Faceted navigation dan product-halaman URL bloat

Filters dan sorts layered pada top dari product dan category halaman generate enormous angka dari dapat di-crawl URLs. Google: “Crawling faceted URLs tends to cost sites large amounts of computing resources due to the sheer amount of URLs and operations needed to render those pages.” (terjemahan) “crawling faceted URLs tends untuk cost situs besar amounts dari computing resources karena sheer amount dari URLs dan operations needed untuk render itu halaman.” ini adalah sebuah crawl dan pengindeksan efficiency masalah, not sebuah penalty. dominant patterns: canonical filtered URLs untuk unfiltered base (which “may, over time, decrease crawl volume” (terjemahan) “dapat, di atas time, decrease crawl volume” dari non-canonical faceted URLs), robots.txt disallow aturan targeting parameter patterns, dan “return an HTTP 404 status code when a filter combination doesn’t return results.” (terjemahan) “kembalikan sebuah HTTP 404 kode status when sebuah filter combination doesn’t kembalikan hasil.” Full treatment lives di faceted navigation.

Customer reviews dan E-E-sebuah-T

Reviews melakukan nyata SEO berfungsi, pada more daripada one axis:

  • Star display di search comes dari AggregateRating data terstruktur. There’s sebuah persistent myth itu reviews pada Anda own product halaman adalah “self-serving” (terjemahan) “self-serving” dan ineligible untuk stars. itu restriction adalah nyata — “if the entity that’s being reviewed controls the reviews about itself, their pages that use LocalBusiness or any other type of Organization structured data are ineligible for star review feature” (terjemahan) “jika entity itu’s menjadi reviewed controls reviews tentang itself, mereka halaman itu gunakan undefined atau apa pun lainnya jenis dari undefined data terstruktur adalah ineligible untuk star review fitur” — tetapi ini applies untuk LocalBusiness/Organization markup. Product halaman dengan customer AggregateRating of itu product adalah eligible. conditions: “Ratings must be sourced directly from users” (terjemahan) “Ratings harus menjadi sourced directly dari pengguna” dan “don’t aggregate reviews or ratings from other websites.” (terjemahan) “don’t aggregate reviews atau ratings dari lainnya situs web.”
  • E-E-sebuah-T. pengguna-generated reviews adalah sebuah genuine peringkat input — mereka’re pertama-hand experience dan trust signal, not hanya sebuah path untuk stars. mereka juga surface panjang-tail language shoppers actually gunakan, broadening Anda keyword coverage untuk free.

One distinction worth keeping straight: Google’s reviews sistem melakukan not evaluate Anda customers’ reviews. ini “is designed to evaluate articles, blog posts, pages or similar first-party standalone content,” (terjemahan) “adalah designed untuk evaluate artikel, blog posts, halaman atau similar pertama-party standalone konten,” dan “it does not evaluate third-party reviews, such as those posted by users in the reviews section of a product or services page.” (terjemahan) “ini melakukan not evaluate ketiga-party reviews, such sebagai itu posted oleh pengguna di reviews bagian dari sebuah product atau services halaman.” So editorial “best running shoes” (terjemahan) “best running shoes” roundups adalah governed oleh reviews sistem; customer star ratings pada sebuah PDP adalah not.

** pengindeksan trap untuk hindari:** reviews dimuat via AJAX dengan no dapat di-crawl <a href> pagination adalah invisible untuk Googlebot — Anda lose semua itu UGC keyword nilai. Paginate reviews dengan nyata tautan dan self-referencing canonicals.

Product image SEO

  • gunakan standard HTML <img> elements — “using standard HTML image elements helps crawlers find and process images.” (terjemahan) “menggunakan standard HTML image elements helps crawler temukan dan process images.” hindari CSS background images untuk product photos.
  • teks alt adalah “the most important attribute when it comes to providing more metadata for an image” (terjemahan) “paling penting attribute when ini comes untuk providing more metadata untuk sebuah image” — tetapi “avoid filling alt attributes with keywords… as it results in a negative user experience and may cause your site to be seen as spam.” (terjemahan) “hindari filling undefined attributes dengan keywords… sebagai ini hasil di sebuah negative pengguna experience dan dapat cause Anda situs untuk menjadi seen sebagai spam.”
  • Google mendukung BMP, GIF, JPEG, PNG, WebP, SVG, dan AVIF di <img src>; WebP/AVIF give Anda smallest files.
  • untuk Google Images rich hasil, “the image attribute is a required field to be eligible for a badge and rich result” (terjemahan) “ image attribute adalah sebuah diperlukan field untuk menjadi eligible untuk sebuah badge dan rich hasil” — which loops back untuk why image adalah mandatory di merchant-listing schema.
  • Host images pada Anda own domain. Quality dan format beat sheer quantity.

Out-dari-stock dan discontinued products

ini adalah “it depends” (terjemahan) “ini depends” territory, dan jawaban turns pada whether product adalah coming back. My umum aturan: set aturan Anda’re comfortable dengan dan apply them consistently. Two things I’d push back pada hard — pertama, noindex adalah biasanya wrong alat untuk sebuah temporarily out-dari-stock halaman, because noindexed halaman stop passing internal PageRank dan dapat bleed accumulated sinyal peringkat; dan kedua, “removing internal links can hurt your rankings,” (terjemahan) “menghapus tautan internal dapat hurt Anda rankings,” so don’t strip sebuah sold-out product out dari Anda navigation reflexively.

  • Temporarily out dari stock: pertahankan halaman live, set availability untuk OutOfStock (atau BackOrder), dan tambahkan sebuah restock/waitlist option. Don’t noindex.
  • Permanently discontinued: 301-redirect untuk closest equivalent untuk pertahankan tautan equity, atau kembalikan 410/404 jika there’s no relevant alternative.
  • Freshness: sebuah accurate sitemap <lastmod> dan IndexNow help mesin pick up price dan stock perubahan faster (more below).

Full decision tree di out-dari-stock products.

kembalikan policy, shipping, dan breadcrumb schema

sebuah few more schema jenis earn SERP trust signals pada PDPs:

  • MerchantReturnPolicy — “Google Search can use this information to display return policies alongside your products.” (terjemahan) “Google Search dapat gunakan ini informasi untuk display kembalikan policies alongside Anda products.” Set ini situs-wide via Organization.hasMerchantReturnPolicy, override per-product via Offer.hasMerchantReturnPolicy, atau configure ini di Search Console (Search Console settings take precedence di atas pada-halaman markup).
  • OfferShippingDetails — lets shoppers “see shipping costs and estimated delivery timeframes based on their location,” (terjemahan) “see shipping costs dan estimated delivery timeframes berdasarkan mereka location,” nested di bawah Offer.shippingDetails.
  • BreadcrumbList — setiap PDP seharusnya carry ini. setiap ListItem perlu position, name, dan item (URL), though “if the breadcrumb is the last item in the breadcrumb trail, item is not required,” (terjemahan) “jika breadcrumb adalah last item di breadcrumb trail, undefined adalah not diperlukan,” dan Anda dapat skip sebuah ListItem untuk homepage dan saat ini halaman.

Freshness: IndexNow untuk price dan stock perubahan

untuk Bing (dan lainnya IndexNow consumers — not Google), push perubahan alih-alih waiting untuk menjadi re-di-crawl. Bing frames ini cleanly: “IndexNow tells search engines that something has changed, while structured data tells them what has changed.” (terjemahan) “IndexNow tells mesin pencari that something memiliki changed, while data terstruktur tells them what memiliki changed.” When “prices, availability, or promotions change, your success depends on how quickly those updates reach your customers” (terjemahan) “prices, availability, atau promotions perubahan, Anda success depends pada how quickly itu updates reach Anda customers” — sebuah price drop atau restock seharusnya trigger sebuah IndexNow ping. Shopify memiliki integrated IndexNow mendukung; pada lainnya stacks Anda tambahkan schema.org/Product data dan enable ini yourself.

Internal linking dari product halaman

PDPs shouldn’t menjadi dead ends. tautan untuk related dan complementary products (“frequently bought with” (terjemahan) “frequently bought dengan”), back up untuk parent category, dan out untuk Anda globally penting products. ini distributes PageRank ke dan out dari halaman dan reinforces topical relationships antara Anda products.

Where ini sits di cluster

Product halaman adalah one piece dari sebuah ecommerce store’s situs structure. halaman directly above them adalah category halaman ( listing/PLP halaman itu route crawler dan tautan equity down untuk products); filter UI pada both adalah faceted navigation; lifecycle handling lives di out-dari-stock products; dan how ini semua fits together adalah ecommerce situs architecture. untuk bigger picture, see Ecommerce SEO.

Add an expert note

Pin an expert quote

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