The technical SEO checklist for BigCommerce product pages
A BigCommerce product-page technical SEO checklist covering rendering, JSON-LD, titles, canonicals, alt text, links, speed, and crawlability.

This checklist walks through the technical layer of a BigCommerce product detail page (PDP) — the part that determines whether a buyer's browser and an AI crawler can both actually read what's there. It assumes you're on Stencil (BigCommerce's standard theme engine); where a custom or headless storefront changes the picture, that's called out.
Rendering: confirm the HTML is there before JS runs
Stencil themes render product pages server-side with Handlebars templates and BigCommerce's page-context data objects — the HTML returned by the server already contains the product title, description, price, and structured data, with no client-side rendering step required. That matters more for AI agents than for Google: most answer-engine and LLM crawlers don't execute JavaScript, so content that only appears after a client-side fetch never gets seen. Stock Stencil gives you this for free. If you've moved to a custom or headless storefront (BigCommerce's Catalyst/Next.js framework or a bespoke frontend on the Storefront/GraphQL API), server-side rendering isn't automatic — verify your framework does SSR/SSG for PDP routes before assuming parity with a standard theme.
Structured data: the JSON-LD Product block
Cornerstone-based Stencil themes include a dedicated schema partial in the product template that outputs a single script block of type application/ld+json. In the current Cornerstone theme it looks like this (trimmed):
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Example Product",
"sku": "EX-100",
"url": "https://yourstore.com/example-product/",
"brand": { "@type": "Brand", "name": "Example Brand" },
"description": "...",
"image": "https://cdn.yourstore.com/.../example.jpg",
"aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.6", "reviewCount": "12" },
"offers": {
"@type": "Offer",
"priceCurrency": "USD",
"price": "49.99",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceValidUntil": "2027-07-01"
}
}
A few implementation details worth knowing: aggregateRating/review only render if reviews are enabled and at least one exists (a zero-review product correctly omits them — don't hard-code fake ratings to fill the gap). Products with variant pricing output minPrice/maxPrice instead of a single price. gtin renders under a length-specific key (gtin8, gtin12, gtin13, gtin14) rather than a generic gtin field, which trips up validators expecting the generic name. This block is what makes a PDP eligible for Google's product rich results, and it's also the cleanest, least ambiguous data source an AI agent has for price and availability — cleaner than parsing prose. Theme customizations are the most common way this breaks: confirm the schema partial hasn't been trimmed or hand-edited after a redesign. Cornerstone's product page also pulls in the shared breadcrumbs component, which outputs its own BreadcrumbList JSON-LD alongside the Product schema — worth checking if breadcrumbs have been restyled or removed from the layout.
Titles and meta descriptions
Page title and meta description are per-product fields, set under Products → Edit → SEO tab (or the "Search Engine Optimization" section under Other Details, depending on your control panel version). Both auto-populate from the product name and URL on creation, which is exactly why so many BigCommerce catalogs ship with duplicate, boilerplate titles across near-identical SKUs — overwrite them. Practically, keep titles in the 60-70 character range (Google truncates by pixel width, not character count, so this is a guideline, not a hard cutoff) and meta descriptions around 120-155 characters with a concrete value proposition. These fields become the literal title and meta description tags that both search snippets and AI answer engines tend to quote when citing a product.
Canonical URLs
BigCommerce auto-generates a canonical link tag (rel=canonical) on every storefront page. For products, selecting a variant (size, material) appends query parameters to the URL, and BigCommerce canonicalizes those variant URLs back to the parent product page by default — that's correct behavior and prevents duplicate-content dilution across option combinations. The one case to review manually is color variants set up as separate product records: if "navy" and "white" versions of the same item carry meaningfully different search demand, folding them under one canonical can suppress keyword coverage you'd otherwise capture. That's a catalog-architecture decision the canonical tag won't make for you.
Images and alt text
Alt text is set per image under Products → Edit → Images and Videos → Description — that field populates the image's alt attribute and also feeds the image property in the JSON-LD block. Write literal, descriptive text (material, use case, model or SKU) rather than a repeated brand tagline. Alt text remains one of the few text-based signals available to image search, and to any AI crawler that can't reliably read text embedded in a photo.
Internal linking
Cornerstone's product template includes breadcrumbs by default, which double as machine-readable BreadcrumbList navigation and as a way for crawlers to understand category depth — keep category nesting shallow (3-4 levels) so breadcrumbs stay meaningful rather than reciting a warehouse taxonomy. The Related Products field and "customers also viewed" modules connect sibling and complementary SKUs, passing link equity between them and giving a crawler that lands on one PDP a path into the rest of the catalog it wouldn't get from a sitemap alone. Body copy in the product description is also linking real estate — link out to buying guides, comparison pages, or category pages with descriptive anchor text.
Performance and Core Web Vitals
BigCommerce's SaaS hosting handles base infrastructure, but LCP, INP, and CLS on a given PDP are still theme- and content-dependent. Cornerstone 4.0+ themes use srcset/sizes on product images so the browser requests an appropriately sized file per viewport, and the built-in lazy-load option should be turned off for the primary, above-the-fold product image — deferring that image behind a JS-triggered lazy load is a common, avoidable LCP hit. Third-party app scripts (reviews widgets, personalization, chat) are the most frequent source of INP and CLS regressions on PDPs; audit per template using Search Console's Core Web Vitals report (field data) and Lighthouse/PageSpeed Insights (lab data), not per individual URL.
Crawlability: robots.txt and the sitemap
robots.txt is editable at Settings → Website, in the Search Engine Robots section; BigCommerce's own guidance is to leave it alone unless you're confident in the syntax, since a stray disallow can silently deindex a whole path. Every storefront also ships with a default robots.txt that disallows checkout/cart/account paths and applies a built-in crawl-delay to known high-volume and AI crawlers — a throttle, not a block — and any rules you add are merged with those defaults rather than replacing them. The XML sitemap is generated and maintained automatically at yourdomain.com/xmlsitemap.php and can't be hand-edited — it's the canonical URL list to submit in Search Console, and your robots.txt should reference it with a Sitemap directive rather than a blocking rule. Because Stencil pages are server-rendered, crawlability issues on BigCommerce PDPs usually trace back to an accidental robots.txt disallow or a discontinued product left indexable with no redirect, not to a rendering gap.
How to validate
- View-source vs. rendered DOM: run
curl -s https://yourstore.com/your-product/and confirm the title, meta description, canonical tag, and JSON-LD block are present in the raw response — Stencil should show full parity with the rendered DOM. A gap usually means a custom script or headless frontend is client-rendering something that should be server-rendered. - Rich Results Test / Schema Markup Validator: run the live PDP URL through Google's Rich Results Test to confirm
Product/Offer/AggregateRatingparse cleanly, especially after any theme edits. - robots.txt and sitemap checks: hit
https://yourstore.com/robots.txtandhttps://yourstore.com/xmlsitemap.phpdirectly and confirm the product URL is present and not disallowed. - Core Web Vitals: pull the per-template report from Search Console and spot-check the LCP element on a live PDP with Lighthouse.
Verified as of July 2026 against BigCommerce's Stencil developer documentation and the current Cornerstone theme source.
None of this fixes what actually goes into these fields — a JSON-LD block or an alt tag is only as good as the attributes, specs, and identifiers sitting behind it. Anglera enriches that underlying product data continuously inside the PIM or commerce platform you already run, so by the time it lands in the templates and fields above, there's something substantive for both the structured data and the visible copy to render. Your PIM stores the data; Anglera does the work of keeping it complete.
Sources: Stencil schemas — BigCommerce Developer Center, Cornerstone theme product schema partial — GitHub, Canonical URL — BigCommerce Help Center
