Guide · E-commerce
E-commerce SEO: fast, findable, ready for AI search.
Core Web Vitals, product structured data, sitemaps and AI crawlers — what matters, and how to check your own shop.
≤ 2.5 s
Largest Contentful Paint
The main image or text appears
≤ 200 ms
Interaction to Next Paint
The page reacts when tapped
≤ 0.1
Cumulative Layout Shift
Nothing jumps while it loads
In short
An online store gets found when its pages load fast on a phone, describe every product in structured data, list every real page in a sitemap, and keep private pages — cart, checkout, account — out of the index. The Core Web Vitals set the speed bar: the main content within 2.5 seconds, a response to taps within 200 milliseconds, and a layout shift below 0.1. AI assistants work from the same pages, so the same basics help there too.
01Speed
Why speed comes first
Most shoppers arrive on a phone, often on mobile data. Every script, font and oversized photo delays the moment they can see the product and tap Add to bag. Google measures that experience from real Chrome visits — the Core Web Vitals — and its ranking systems use it.
| Measure | Magento 2 | HeyShop |
|---|---|---|
| Files per page4× fewer | 250+ | 58–68 |
| Page weight6–7× lighter | ≈5 MB | 0.7–0.8 MB |
| JavaScript files16× fewer | 165+ | 10 |
| Stylesheets33× fewer | 33+ | 1 |
Lighthouse performance score on HeyShop, out of 100
- Home
- 98mobile100desktop
- Collection
- 98mobile100desktop
- Product
- 96mobile100desktop
Category and product pages in desktop Chrome, compressed transfer size. Magento 2: measured on the live store on 27 Sep 2026 with the browser's Resource Timing, which stops counting at 250 files, so those figures are minimums. HeyShop: Lighthouse 12.8 on the live store on 10 Oct 2026; scores are the median of three mobile runs and one desktop run.
When Laurent Bernard Chocolatier moved from Magento 2 to HeyShop, the same pages became 6–7× lighter and now score 98 on mobile Lighthouse. The chart shows what changed, measured on the live sites.
02The fixes
What makes a shop slow — and the fixes
Slow shops are rarely slow for one reason. These four account for most of it, and each has a known fix.
| What slows it | The fix | |
|---|---|---|
| Photos | Full-size photos sent to every phone | WebP and AVIF versions made at upload, sized for each screen |
| Scripts | Dozens of scripts from the theme, apps and trackers | Only the code a page needs; interactive parts kept small |
| Pages | Every page built on request, every time | Pages pre-built and served from a cache close to shoppers |
| Layout | Banners and images that push the page as they load | Space reserved for every image, so nothing jumps |
03Structured data
Describe every product in structured data
Structured data is a small block of code (schema.org, as JSON-LD) that tells search engines what a page is: this is a product, this is its price in SGD, it's in stock, these are its reviews. It's what lets results show price, availability and ratings.
Name, photos, price, currency and availability on every product page.
Only from real reviews shown on the page — never invented.
Where the page sits: Home › Gifts › Truffle box.
Your shop or collection point, with opening hours and map position.
Answers to the questions shoppers ask, in your own words.
Tells search engines how to search your shop.
Only mark up what's on the page and true: ratings from real reviews, the price a shopper actually pays.
04Index
Keep the right pages in the index — and the rest out
A sitemap should list every real page with the date it last changed — and nothing else. Private or useless pages (cart, checkout, account, order and payment pages, internal search results) should carry noindex or be blocked, so search engines spend their time on your products.
In the sitemap and the index
- Home
- Collections
- Products
- Guides and pages
noindex and robots.txt
Kept out of search
- Cart and checkout
- Accounts
- Orders and payments
- Search results
- Back office
Check it after every launch or migration: a utility page that slips into the index is easy to miss.
05AI search
Get found by AI assistants
AI assistants and answer engines read the web through their own crawlers. Decide which ones may read your shop in robots.txt, give them clean pages with structured data and plain answers, and consider an llms.txt file — a proposed plain-text summary of a site for AI assistants.
- A shopper asks an assistant"Same-day chocolate gifts in Singapore?"
- Its crawler has read your shopIf robots.txt lets it in.
- It finds a clear answerStructured data, FAQs, delivery rules in plain words.
- Your shop can be the answerNamed, and linked to the right page.
Assistants quote pages that answer questions: delivery areas and cut-offs, storage and allergens, gift options. Put those answers on your pages, in your own words.
06Check yours
A quick check of your own store
Fifteen minutes with PageSpeed Insights, Search Console and your own shop answers most of these.
0 of 9 checked
Sources
- web.dev — How the Core Web Vitals thresholds were defined
- Google Search Central — Product structured data
- Google Search Central — Block search indexing with noindex
- llms.txt — the proposal
- Case study — Laurent Bernard Chocolatier, measured speed
Checked 12 October 2026. Rules and prices change — confirm what applies to your business with the official source.
FAQ
Common questions.
What are Core Web Vitals?
Three measures of how a page feels to real visitors: Largest Contentful Paint (the main content appears within 2.5 seconds), Interaction to Next Paint (the page responds to taps within 200 milliseconds) and Cumulative Layout Shift (the layout moves less than 0.1). A page passes when at least 75% of visits meet all three.
What structured data does an online store need?
At least Product with an Offer (price, currency, availability) on every product page and BreadcrumbList; Review or AggregateRating only where real reviews appear on the page; and LocalBusiness if the shop has a physical location or collection point.
Should cart and checkout pages be indexed?
No. Cart, checkout, account, order and payment pages are private or useless in search. Mark them noindex or block them in robots.txt, and keep them out of the sitemap.
What is llms.txt?
A proposed plain-text file at the root of a website that summarises it for AI assistants — what it is, its key pages and facts. It doesn't replace good pages and structured data, but it helps assistants describe you correctly.
How does HeyShop help a store get found?
HeyShop pages are pre-built and fast on phones, photos are converted to WebP and AVIF on upload, every product carries structured data, private pages stay out of the index, and a daily check flags missing titles, descriptions and broken redirects. Laurent Bernard Chocolatier's pages score 98 on mobile Lighthouse.