Performance & SEO

As with any hosted platform, BigCommerce handles infrastructure-level performance for you — what's left in a theme developer's control is how efficiently a Stencil theme renders and how well it's marked up for search engines.

Image handling

BigCommerce's image service, like Shopify's, can resize an uploaded image to a requested dimension on demand rather than requiring a merchant to pre-generate multiple sizes. A responsive <img> with srcset lets the browser pick the right size for its own viewport instead of loading one oversized file everywhere:

Handlebars a responsive product image
<img
  src="{{getImageSrcset product.mainImage.data width="300"}}"
  loading="lazy"
  alt="{{product.mainImage.description}}"
>

Deferred and non-blocking scripts

The same rule that applies to Shopify themes applies here: load theme JavaScript with defer so parsing HTML and rendering the page isn't blocked on a script downloading first, and avoid placing large third-party scripts directly in templates/layout/base.html's <head> unless they're genuinely needed on every page.

Meta tags and canonical URLs

A well-built base template outputs page-specific title tags, meta descriptions, and canonical URLs rather than one static value site-wide — BigCommerce computes sensible values for each automatically based on the current resource, which a theme's head template is responsible for actually outputting:

Handlebars dynamic head tags
<title>{{head.title}}</title>
{{#each head.metaTags}}
  <meta {{{this}}}>
{{/each}}
<link rel="canonical" href="{{head.canonicalUrl}}">

Structured data (JSON-LD)

Embedding schema.org structured data on product pages helps search engines surface rich results — star ratings, price, availability — directly in search listings, built from the same product data already used to render the visible page:

Handlebars product structured data
<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "{{product.title}}",
  "image": "{{product.mainImage.data}}",
  "offers": {
    "@type": "Offer",
    "price": "{{product.price.without_tax.value}}",
    "priceCurrency": "{{product.price.without_tax.currency}}"
  }
}
</script>

Sitemap and canonicalization

BigCommerce automatically generates and maintains a sitemap for every store, and handles canonical URLs for products reachable through more than one category — the same duplicate-content problem Shopify solves automatically, and one a Stencil theme developer doesn't need to build a workaround for.

Note: as with Shopify, a fast, correctly marked-up theme still can't substitute for genuinely useful product content — performance and structured data help search engines understand and prefer a page, they don't manufacture rankings for thin content on their own.