How to fix seo product content client rendered on Adobe Commerce (Magento)

Server-render your product descriptions in the initial HTML so that all crawlers — including Google, AI search bots, and social media scrapers — can read your content without executing JavaScript.

Steps for Adobe Commerce (Magento)

  1. Adobe Commerce (Magento 2) renders product pages server-side via PHP/PHTML by default. If descriptions are missing from raw HTML, a PWA Studio (Venia) or custom React/Vue headless front-end is the cause.
  2. For standard Luma/Blank themes: the product description is rendered in app/design/frontend/[Vendor]/[Theme]/Magento_Catalog/templates/product/view/description.phtml. Confirm {{ product.getDescription() }} output exists in the server response.
  3. For PWA Studio (Venia): switch from client-side fetching to SSR or implement full-page caching with pre-rendered HTML. Adobe recommends using Fastly or Varnish with ESI (Edge Side Includes) to cache server-rendered product HTML.
  4. For Product JSON-LD: install a schema markup extension such as 'MagePlaza SEO' or 'Amasty SEO' — both inject Product schema via PHP into the page <head> server-side. Alternatively, add a custom PHTML block in the head.additional block of your layout XML that outputs the JSON-LD using PHP-rendered product data.
  5. In layout XML (catalog_product_view.xml): add a block of type Magento\Framework\View\Element\Template pointing to a .phtml file that echoes a complete JSON-LD script tag populated with $product->getName(), $product->getDescription(), etc.
  6. Verify with: curl -A 'Googlebot' https://yourstore.com/product-url.html | grep 'application/ld+json' — the JSON-LD must appear in the curl output.
Official Adobe Commerce (Magento) documentation ↗

What is seo product content client rendered?

Modern ecommerce themes often load product descriptions, reviews, and images dynamically using JavaScript — meaning the page's raw HTML (the first file the server sends) arrives nearly empty, and your actual content only appears after a browser runs the JS code. This pattern is called "client-side rendering." Server-side rendering (SSR) is the opposite: the server sends back a fully built HTML page with all your content already written into it. When a crawler or bot visits your page, it reads that raw HTML file. If your content isn't there, the bot sees a blank product page — even if a human visitor with a browser sees everything perfectly.

Google's own documentation states it can take days or weeks before it revisits a page to render JavaScript — meaning your product descriptions may be invisible to Google's index for extended periods, costing you ranking and organic traffic. AI-powered search tools like ChatGPT Search (GPTBot), Claude (ClaudeBot), and Perplexity (PerplexityBot) fetch only raw HTML and never execute JavaScript at all, so a client-rendered product is completely invisible to these fast-growing traffic sources. Shoppers arriving from AI-generated answers or rich snippets convert at extremely high rates; losing that channel directly costs revenue. Social media preview cards (Open Graph) also rely on raw HTML, so your products will show blank or broken previews when shared on Facebook, Pinterest, or X, reducing click-through from social traffic too.

See the complete Seo product content client rendered guide for every platform and the full background.

Not sure if your Adobe Commerce (Magento) store has this?

Run a free SEOLZ scan — we’ll find seo product content client rendered and every other issue across your whole site.

Scan my site free

Fix seo product content client rendered on another platform