What not to do
Do not fetch the fragment from the browser. Loading it with fetch() client-side defeats the
entire purpose — the crawler never sees it. The request must come from your server.
Do not use the standalone client mode for SEO. Dropping <shopadvizor-rating ean="..." lang="es"> plus
client.js into the page works visually and is invisible to crawlers. It is there for cases where SEO
is not the goal.
That mode calls /v1/data from the browser, which would mean putting your credential in the page's
source for anyone to copy. There is no way around that, and no plan to add one: if you need the
numbers in the browser, fetch them from your server and pass them down.
Do not put the credential anywhere the browser can reach it. Not in a <script> tag, not in a
data attribute, not in a URL. It goes in your server's environment and travels in a request header
your server makes.
Do not emit two Product nodes. If your page already has one, use schema=rating-only. This is
the single most common integration mistake.
Do not enable breakdown. The per-star breakdown is a Phase-2 preview, outside the current scope.
Do not copy the fragment's HTML into your templates. Its internals are an implementation detail and will change. Always request it live.
Do not self-host hydrate.js or client.js. Load them from the service itself
(https://saz-es.public.shopadvizor.com/saz-ssr-server/v1/hydrate.js and
https://saz-es.public.shopadvizor.com/saz-ssr-server/v1/client.js). A copy on your own CDN drifts out of step with what the
service renders, silently.