Optimize Your Product Listings for SEO and Conversions

Optimiser ses fiches produits pour le SEO et la conversion

In an online store, the product page isn't just another page. It's where the buying decision is made — and it's also the page Google visits most on the majority of e-commerce sites. Yet it's almost always the forgotten cornerstone of SEO strategies: descriptions copied from suppliers, sloppy meta tags, heavy images, no trust signals. This article brings together what we actually put into practice at Optimiq to turn a product page into a dual-purpose lever for both SEO and conversion.

5 key takeaways:

  • A product page needs to serve two goals at once: rank on Google and convert visitors.
  • The SEO pillars are the H1, the title, the meta description, the URL, the description, and structured data.
  • Conversion relies on a clear offer, reassurance, reviews, and a visible CTA.
  • Unique content is the rule: copying the supplier's product sheet generates duplicate content.
  • Internal linking and visual elements have a significant impact on overall performance.

Why product pages carry so much weight in an online store's SEO

On most e-commerce sites, product pages make up the overwhelming majority of indexed pages. A store with 500 products will typically publish 500 product pages, compared to around ten category pages and a few dozen blog posts. Mathematically speaking, a store's SEO is determined by its product pages before anything else — even before its homepage.

The other benefit is qualitative. A search like "men's long sleeve linen shirt" or "black designer LED lamp" carries transactional intent. The visitor wants to buy, or is close to doing so. Capturing these queries through an optimized product page means intercepting bottom-of-funnel prospects, whose economic value far exceeds that of an informational search.

The problem: these pages are rarely given the attention they deserve. The most common reflex is to grab the supplier's product sheet, import it as-is, and move on to the next product. The result: massive duplicate content, no differentiating semantic signals, and a product page that never ranks.

The technical foundations of an SEO-optimized product page

Before diving into copywriting, we need to establish the technical framework. A product page that ranks relies on a few simple but non-negotiable elements.

The H1 and the product name

The H1 must be unique and carry the exact product name. No frills, no slogans — just a clear name that uses the words your customers actually search for. "Organic cotton crew neck t-shirt" is a far better H1 than "The summer must-have," because it aligns the title with the search query. One H1 tag per product page, always.

The title and meta description

The title (tag </code>) remains one of the most influential SEO signals. Aim for 55 to 60 characters, place the primary keyword at the beginning, and add the brand name or a differentiating element at the end. The meta description, on the other hand, doesn't directly impact rankings, but it does affect click-through rates from the SERP. A well-written meta can double your CTR at the same position — and that changes everything. Optimizing your snippet means optimizing your SERP performance.</p> <h3>The URL</h3> <p>A short, readable URL that contains the product name. Avoid dynamic parameters, internal references, and barcodes. <code>/products/tee-shirt-coton-bio-col-rond</code> better than <code>/products/REF-TS-2847-CTN-BIO</code>. On Shopify, the slug can be edited from the product page, in the section dedicated to the search engine listing.</p> <h3>Product structured data</h3> <p>Schema.org Product markup is one of the most cost-effective levers available. It allows Google to display rich information directly in the SERP: price, availability, average rating, and reviews. This is what generates those star-rated results that visually stand out in the listings. For a clean implementation, see <a href="https://developers.google.com/search/docs/appearance/structured-data/product" rel="noopener" target="_blank">Google's documentation on Product structured data</a>. Most Shopify themes include basic markup, but we regularly see incomplete or incorrect markup in audits: missing price, inconsistent availability, markup that doesn't reflect the visible content. These errors disqualify the listing from rich results.</p> <h2>Keyword research: moving beyond the generic product name</h2> <p>The temptation, on a product page, is to rely on the product name alone as the main keyword. This is a classic mistake. The name is a starting point, not a strategy. To achieve lasting rankings, you need to cover the full semantic scope of the query.</p> <p>In practice, on a product page, we work with three levels of keywords:</p> <ul> <li> <strong>The main keyword</strong> : the generic name of the product, for example "men's linen shirt".</li> <li> <strong>The long tail</strong> : combinations specifying material, color, use, size, such as "long-sleeve white linen shirt".</li> <li> <strong>Semantic variants</strong> : synonyms and closely related phrasings that the engine groups semantically, such as "men's summer linen shirt".</li> </ul> <p>The most useful day-to-day tool remains Google Search Console, which shows the queries your pages are already appearing for. Paired with a tool like Ahrefs for volume and competition data, you get a precise map of the queries to target. For a deeper look at this approach, see <a href="/en/blogs/news/guide-mots-cles-seo">our guide on SEO keyword selection</a>.</p> <h2>Write a product description that ranks and sells</h2> <p>This is the most neglected section of product pages. It's either left blank, copied straight from the supplier, or packed with technical specs with no context whatsoever. None of these approaches work — not for SEO, and not for conversions.</p> <p>A good product description works on three levels:</p> <ul> <li> <strong>The benefit</strong> : what the product solves, who it's for, and when it's used. This is what resonates with buyers and tips the decision.</li> <li> <strong>Specifications</strong> : material, dimensions, composition, origin, certifications. This is what builds trust, and this is what loads the page with semantic signals.</li> <li> <strong>Usage</strong> : how to use it, how to care for it, how to style it. This is what answers the visitor's unspoken questions.</li> </ul> <p>The golden rule: unique content. A product page that reproduces the supplier's description will be penalized if the exact same text appears on dozens of other sites. <a href="https://help.shopify.com/en/manual/products/details/product-details-page" rel="noopener" target="_blank">Shopify documentation explicitly recommends</a> to avoid duplicate manufacturer descriptions, for exactly this reason.</p> <p>There's no official rule on length, but product pages with fewer than 150 words rarely rank competitively. For technical or high-value products, aiming for 300 to 500 words gives you enough room to cover benefits, features, and use cases without padding. And always: use the language your buyer actually uses, not hollow marketing jargon.</p> <h2>Images, videos and visual signals</h2> <p>A product page without quality images is a page that won't convert. It's also a page that misses a major SEO opportunity: Google Images and Google Lens drive a significant share of traffic to visually well-optimized stores.</p> <p>A few rules we consistently apply:</p> <ul> <li>Multiple visuals per listing: product alone, in context, close-up details, back view, packaging.</li> <li>WebP or AVIF format when supported by the theme, to reduce file size without losing quality.</li> <li>Descriptive alt tags on every image. Not "image1.jpg", but "white linen shirt mandarin collar long sleeves".</li> <li>Pre-upload compression: a 200 KB image and a 2 MB image may look identical to the naked eye, but not to Google, which measures loading speed.</li> <li>A short video when the product lends itself to it. It increases time spent on the page and generally improves conversion.</li> </ul> <h2>The elements that turn a visit into a sale</h2> <p>Ranking alone isn't enough. If a visitor lands on your page and leaves within ten seconds, all that SEO work is wasted. That's why a product page needs to be designed around the buying journey — not just as an indexable page.</p> <p>The elements to present upfront, above the fold or in close proximity:</p> <ul> <li>A clear purchase button, with direct wording ("Add to cart", not "Discover the offer").</li> <li>The visible stock status. A product labeled "in stock, ships within 24 hours" is more reassuring than one with no information at all.</li> <li>Shipping times and costs, ideally before the visitor has to scroll to find them.</li> <li>The return policy, simple and easy to read. It's an underestimated conversion factor.</li> <li>Customer reviews, which impact both conversion and SEO through AggregateRating markup. See on this point <a href="/en/blogs/news/e-commerce-importance-des-avis-sur-site">the importance of reviews on an e-commerce site</a>.</li> <li>A related or complementary products section that increases average order value and strengthens internal linking.</li> </ul> <p>This reassurance dimension is also a trust signal that Google knows how to recognize via <a href="/en/blogs/news/eeat-google-comprendre-pour-ameliorer-votre-seo">the EEAT framework</a> : experience, expertise, authority, reliability. A product page that demonstrates merchant reliability isn't just more effective at converting — it also sends stronger SEO signals over time.</p> <h2>Internal linking around the product page</h2> <p>A product page never exists in isolation. It's part of a larger architecture — and that architecture is what tells Google which pages matter.</p> <p>Priority links to work on:</p> <ul> <li> <strong>From the category page to the product page</strong> : it's the most natural link. Make sure all active listings are accessible from at least one relevant category.</li> <li> <strong>Breadcrumb</strong> : Home > Category > Subcategory > Page. It's a hierarchy signal for Google, and a reference point for visitors.</li> <li> <strong>Similar and complementary products</strong> : from the product page, to other catalog pages. A useful cross-link for SEO and average order value.</li> <li> <strong>Blog posts to product pages</strong> : a buying guide or tutorial that links to the relevant product pages strengthens the semantic context of the listing and captures additional traffic.</li> </ul> <p>The classic mistake: creating blog content that never links to product pages. A blog that's disconnected from your catalog serves neither SEO nor conversions. For a few quick-win optimizations you can apply on Shopify, see also <a href="/en/blogs/news/5-methodes-pour-ameliorer-sa-boutique-shopify-rapidement">our methods for quickly improving a Shopify store</a>.</p> <h2>Common mistakes we see in audits</h2> <p>The most common issues we find in our product page audits:</p> <ul> <li>Descriptions copied as-is from the supplier or the distributed brand's website.</li> <li>Poorly managed variants: each size or color opens a separate URL with the same content, creating massive duplicate content.</li> <li>Uncompressed images: five visuals at 3 MB each, and the page takes 8 seconds to load.</li> <li>Missing or generic alt tags.</li> <li>Poorly implemented Product structured data: missing price, inconsistent availability, markup that doesn't reflect the visible content.</li> <li>Keyword-stuffed title ("White blue black large size premium affordable men's linen shirt"), which dilutes the signal instead of strengthening it.</li> <li>Empty meta description, so auto-generated by Google with a snippet that's often not very engaging.</li> <li>Hidden or unclear CTA: "View product" instead of "Add to cart".</li> </ul> <p>None of these errors are technically difficult to fix. What's missing, in most cases, is a systematic approach: a clear framework applied to every product listing, rather than one-off optimizations that never stick in the long run.</p> <h2>Summary: the checklist for an optimized product page</h2> <table> <thead> <tr> <th>Item</th> <th>Best practice</th> </tr> </thead> <tbody> <tr> <td>H1</td> <td>Product name, clear, using the buyer's own vocabulary</td> </tr> <tr> <td>Title</td> <td>55 to 60 characters, primary keyword at the beginning</td> </tr> <tr> <td>Meta description</td> <td>140 to 160 characters, one benefit and a call to action</td> </tr> <tr> <td>URL</td> <td>Short, readable, with the product name</td> </tr> <tr> <td>Description</td> <td>Unique, 200 to 500 words, structured around benefits, features, usage</td> </tr> <tr> <td>Images</td> <td>Multiple visuals, compressed, descriptive alt tags</td> </tr> <tr> <td>Structured data</td> <td>Schema.org Product with price, availability, reviews</td> </tr> <tr> <td>Reassurance</td> <td>Stock, shipping, returns, reviews, warranties visible</td> </tr> <tr> <td>CTA</td> <td>Clear, visible, straightforward labeling</td> </tr> <tr> <td>Internal linking</td> <td>Categories, breadcrumb, related products, blog posts</td> </tr> </tbody> </table> <h2>The Optimiq Approach</h2> <p>When we audit an e-commerce store, we look at the product pages first, because that's where both the SEO potential and the conversion potential are concentrated. Our role is to put in place an editorial and technical framework that can be replicated across the entire catalog — not a single optimized product page in isolation. If you want to identify the concrete levers for your store, <a href="/en/products/audit-seo">an SEO audit</a> helps you prioritize projects based on your actual situation.</p> <h2>Conclusion</h2> <p>Optimizing a product page for SEO and conversions isn't about stuffing in keywords or ticking a box. It's about treating every page as a business asset — one that needs to attract the right visitor, speak to them clearly, and let them buy without friction. The brands that win in e-commerce aren't the ones with the most beautiful homepages. They're the ones that have systematized product page optimization, page by page, line by line.</p> </rte-formatter> </div> </div> </div> </div> <script type="application/ld+json"> {"@context":"http:\/\/schema.org\/","@id":"\/en\/blogs\/news\/optimize-your-product-sheets-for-seo-and-conversion#article","@type":"Article","mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/www.optimiq.fr\/en\/blogs\/news\/optimize-your-product-sheets-for-seo-and-conversion"},"articleBody":"In an online store, the product page isn't just another page. It's where the buying decision is made — and it's also the page Google visits most on the majority of e-commerce sites. Yet it's almost always the forgotten cornerstone of SEO strategies: descriptions copied from suppliers, sloppy meta tags, heavy images, no trust signals. This article brings together what we actually put into practice at Optimiq to turn a product page into a dual-purpose lever for both SEO and conversion.\n5 key takeaways:\n\nA product page needs to serve two goals at once: rank on Google and convert visitors.\nThe SEO pillars are the H1, the title, the meta description, the URL, the description, and structured data.\nConversion relies on a clear offer, reassurance, reviews, and a visible CTA.\nUnique content is the rule: copying the supplier's product sheet generates duplicate content.\nInternal linking and visual elements have a significant impact on overall performance.\n\nWhy product pages carry so much weight in an online store's SEO\nOn most e-commerce sites, product pages make up the overwhelming majority of indexed pages. A store with 500 products will typically publish 500 product pages, compared to around ten category pages and a few dozen blog posts. Mathematically speaking, a store's SEO is determined by its product pages before anything else — even before its homepage.\nThe other benefit is qualitative. A search like \"men's long sleeve linen shirt\" or \"black designer LED lamp\" carries transactional intent. The visitor wants to buy, or is close to doing so. Capturing these queries through an optimized product page means intercepting bottom-of-funnel prospects, whose economic value far exceeds that of an informational search.\nThe problem: these pages are rarely given the attention they deserve. The most common reflex is to grab the supplier's product sheet, import it as-is, and move on to the next product. The result: massive duplicate content, no differentiating semantic signals, and a product page that never ranks.\nThe technical foundations of an SEO-optimized product page\nBefore diving into copywriting, we need to establish the technical framework. A product page that ranks relies on a few simple but non-negotiable elements.\nThe H1 and the product name\nThe H1 must be unique and carry the exact product name. No frills, no slogans — just a clear name that uses the words your customers actually search for. \"Organic cotton crew neck t-shirt\" is a far better H1 than \"The summer must-have,\" because it aligns the title with the search query. One H1 tag per product page, always.\nThe title and meta description\nThe title (tag ) remains one of the most influential SEO signals. Aim for 55 to 60 characters, place the primary keyword at the beginning, and add the brand name or a differentiating element at the end. The meta description, on the other hand, doesn't directly impact rankings, but it does affect click-through rates from the SERP. A well-written meta can double your CTR at the same position — and that changes everything. Optimizing your snippet means optimizing your SERP performance.\nThe URL\nA short, readable URL that contains the product name. Avoid dynamic parameters, internal references, and barcodes. \/products\/tee-shirt-coton-bio-col-rond better than \/products\/REF-TS-2847-CTN-BIO. On Shopify, the slug can be edited from the product page, in the section dedicated to the search engine listing.\nProduct structured data\nSchema.org Product markup is one of the most cost-effective levers available. It allows Google to display rich information directly in the SERP: price, availability, average rating, and reviews. This is what generates those star-rated results that visually stand out in the listings. For a clean implementation, see Google's documentation on Product structured data. Most Shopify themes include basic markup, but we regularly see incomplete or incorrect markup in audits: missing price, inconsistent availability, markup that doesn't reflect the visible content. These errors disqualify the listing from rich results.\nKeyword research: moving beyond the generic product name\nThe temptation, on a product page, is to rely on the product name alone as the main keyword. This is a classic mistake. The name is a starting point, not a strategy. To achieve lasting rankings, you need to cover the full semantic scope of the query.\nIn practice, on a product page, we work with three levels of keywords:\n\n\nThe main keyword : the generic name of the product, for example \"men's linen shirt\".\n\nThe long tail : combinations specifying material, color, use, size, such as \"long-sleeve white linen shirt\".\n\nSemantic variants : synonyms and closely related phrasings that the engine groups semantically, such as \"men's summer linen shirt\".\n\nThe most useful day-to-day tool remains Google Search Console, which shows the queries your pages are already appearing for. Paired with a tool like Ahrefs for volume and competition data, you get a precise map of the queries to target. For a deeper look at this approach, see our guide on SEO keyword selection.\nWrite a product description that ranks and sells\nThis is the most neglected section of product pages. It's either left blank, copied straight from the supplier, or packed with technical specs with no context whatsoever. None of these approaches work — not for SEO, and not for conversions.\nA good product description works on three levels:\n\n\nThe benefit : what the product solves, who it's for, and when it's used. This is what resonates with buyers and tips the decision.\n\nSpecifications : material, dimensions, composition, origin, certifications. This is what builds trust, and this is what loads the page with semantic signals.\n\nUsage : how to use it, how to care for it, how to style it. This is what answers the visitor's unspoken questions.\n\nThe golden rule: unique content. A product page that reproduces the supplier's description will be penalized if the exact same text appears on dozens of other sites. Shopify documentation explicitly recommends to avoid duplicate manufacturer descriptions, for exactly this reason.\nThere's no official rule on length, but product pages with fewer than 150 words rarely rank competitively. For technical or high-value products, aiming for 300 to 500 words gives you enough room to cover benefits, features, and use cases without padding. And always: use the language your buyer actually uses, not hollow marketing jargon.\nImages, videos and visual signals\nA product page without quality images is a page that won't convert. It's also a page that misses a major SEO opportunity: Google Images and Google Lens drive a significant share of traffic to visually well-optimized stores.\nA few rules we consistently apply:\n\nMultiple visuals per listing: product alone, in context, close-up details, back view, packaging.\nWebP or AVIF format when supported by the theme, to reduce file size without losing quality.\nDescriptive alt tags on every image. Not \"image1.jpg\", but \"white linen shirt mandarin collar long sleeves\".\nPre-upload compression: a 200 KB image and a 2 MB image may look identical to the naked eye, but not to Google, which measures loading speed.\nA short video when the product lends itself to it. It increases time spent on the page and generally improves conversion.\n\nThe elements that turn a visit into a sale\nRanking alone isn't enough. If a visitor lands on your page and leaves within ten seconds, all that SEO work is wasted. That's why a product page needs to be designed around the buying journey — not just as an indexable page.\nThe elements to present upfront, above the fold or in close proximity:\n\nA clear purchase button, with direct wording (\"Add to cart\", not \"Discover the offer\").\nThe visible stock status. A product labeled \"in stock, ships within 24 hours\" is more reassuring than one with no information at all.\nShipping times and costs, ideally before the visitor has to scroll to find them.\nThe return policy, simple and easy to read. It's an underestimated conversion factor.\nCustomer reviews, which impact both conversion and SEO through AggregateRating markup. See on this point the importance of reviews on an e-commerce site.\nA related or complementary products section that increases average order value and strengthens internal linking.\n\nThis reassurance dimension is also a trust signal that Google knows how to recognize via the EEAT framework : experience, expertise, authority, reliability. A product page that demonstrates merchant reliability isn't just more effective at converting — it also sends stronger SEO signals over time.\nInternal linking around the product page\nA product page never exists in isolation. It's part of a larger architecture — and that architecture is what tells Google which pages matter.\nPriority links to work on:\n\n\nFrom the category page to the product page : it's the most natural link. Make sure all active listings are accessible from at least one relevant category.\n\nBreadcrumb : Home \u003e Category \u003e Subcategory \u003e Page. It's a hierarchy signal for Google, and a reference point for visitors.\n\nSimilar and complementary products : from the product page, to other catalog pages. A useful cross-link for SEO and average order value.\n\nBlog posts to product pages : a buying guide or tutorial that links to the relevant product pages strengthens the semantic context of the listing and captures additional traffic.\n\nThe classic mistake: creating blog content that never links to product pages. A blog that's disconnected from your catalog serves neither SEO nor conversions. For a few quick-win optimizations you can apply on Shopify, see also our methods for quickly improving a Shopify store.\nCommon mistakes we see in audits\nThe most common issues we find in our product page audits:\n\nDescriptions copied as-is from the supplier or the distributed brand's website.\nPoorly managed variants: each size or color opens a separate URL with the same content, creating massive duplicate content.\nUncompressed images: five visuals at 3 MB each, and the page takes 8 seconds to load.\nMissing or generic alt tags.\nPoorly implemented Product structured data: missing price, inconsistent availability, markup that doesn't reflect the visible content.\nKeyword-stuffed title (\"White blue black large size premium affordable men's linen shirt\"), which dilutes the signal instead of strengthening it.\nEmpty meta description, so auto-generated by Google with a snippet that's often not very engaging.\nHidden or unclear CTA: \"View product\" instead of \"Add to cart\".\n\nNone of these errors are technically difficult to fix. What's missing, in most cases, is a systematic approach: a clear framework applied to every product listing, rather than one-off optimizations that never stick in the long run.\nSummary: the checklist for an optimized product page\n\n\n\nItem\nBest practice\n\n\n\n\nH1\nProduct name, clear, using the buyer's own vocabulary\n\n\nTitle\n55 to 60 characters, primary keyword at the beginning\n\n\nMeta description\n140 to 160 characters, one benefit and a call to action\n\n\nURL\nShort, readable, with the product name\n\n\nDescription\nUnique, 200 to 500 words, structured around benefits, features, usage\n\n\nImages\nMultiple visuals, compressed, descriptive alt tags\n\n\nStructured data\nSchema.org Product with price, availability, reviews\n\n\nReassurance\nStock, shipping, returns, reviews, warranties visible\n\n\nCTA\nClear, visible, straightforward labeling\n\n\nInternal linking\nCategories, breadcrumb, related products, blog posts\n\n\n\nThe Optimiq Approach\nWhen we audit an e-commerce store, we look at the product pages first, because that's where both the SEO potential and the conversion potential are concentrated. Our role is to put in place an editorial and technical framework that can be replicated across the entire catalog — not a single optimized product page in isolation. If you want to identify the concrete levers for your store, an SEO audit helps you prioritize projects based on your actual situation.\nConclusion\nOptimizing a product page for SEO and conversions isn't about stuffing in keywords or ticking a box. It's about treating every page as a business asset — one that needs to attract the right visitor, speak to them clearly, and let them buy without friction. The brands that win in e-commerce aren't the ones with the most beautiful homepages. They're the ones that have systematized product page optimization, page by page, line by line.","headline":"Optimize Your Product Listings for SEO and Conversions","description":"","image":"https:\/\/www.optimiq.fr\/cdn\/shop\/articles\/optimiq_Abstract_digital_concept_of_an_e-commerce_product_car_2_1_e4999caa-4b55-4790-8e95-c289f78b44f0.png?v=1778337594\u0026width=1920","datePublished":"2026-05-09T10:39:36-04:00","dateModified":"2026-05-09T10:39:47-04:00","author":{"@type":"Person","name":"Oliver Lauterwein"},"publisher":{"@type":"Organization","name":"Optimiq"}} </script> </div><div id="shopify-section-template--25986623013242__section_wXUrd4" class="shopify-section section-wrapper"> <div class="section-background color-scheme-1"></div> <div class="section section--page-width color-scheme-1" data-testid="ui-test-section" style=" --section-min-height: var(--section-height-small); --section-preview-height: 600px; " > <div class="custom-section-background"> </div> <div class="border-style custom-section-content" style="--border-width: 1px; --border-style: none; --border-color: rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; " > <div class=" spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column " style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; --gap: max(24px, calc(var(--gap-scale, 1.0) * 25px)); --horizontal-alignment: center; --vertical-alignment: center; --vertical-alignment-mobile: center; --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); " data-testid="section-content" > <rte-formatter class=" spacing-style text-block text-block--Abm9Ta0IyVXUrSVY4W__text_LmQi6e rte rte " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: fit-content; --max-width: var(--max-width--body-normal); "> <h2>Let's talk about it?</h2> </rte-formatter> <rte-formatter class=" spacing-style text-block text-block--AektJbW9mK1hvTVF3W__text_AL8JT4 rte rte " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: fit-content; --max-width: var(--max-width--body-normal); "> <p>If you're looking for more practical, structured, and up-to-date guidance on SEO, content, customer experience, and AI visibility, Optimiq can help you.</p> </rte-formatter> <a href="/en/pages/consultation-gratuite" class=" size-style button button--AazJLNkdqak5NOGorO__button_J6eRQB " style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;" > I'm requesting a free consultation </a> </div> </div> </div> </div><div id="shopify-section-template--25986623013242__faq_blog_U6ikpb" class="shopify-section"><section class="faq-accordion" id="FAQ" style="margin-top: 24px; margin-bottom: 24px;" > <h2 style="margin-bottom: 12px; text-align: center;"> faq </h2> <div class="faq-intro" style="margin: 0 auto 16px; text-align: center; max-width: 680px;"> <p>Some simple answers to the most frequently asked questions.</p> </div> <style> .faq-accordion details[open] .faq-caret { transform: rotate(180deg); } </style> <div class="faq-items"><details class="faq-item" style="margin-bottom: 10px; border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; padding: 10px 12px;" > <summary style="cursor: pointer; font-weight: 600; list-style: none; display:flex; align-items:center; justify-content:space-between; gap:12px;"> <span>What is the ideal length for a product description?</span> <span class="faq-caret" aria-hidden="true" style="display:inline-block; transition: transform .2s ease; font-size: 18px; line-height: 1;">⌄</span> </summary> <div class="faq-answer" style="margin-top: 10px; line-height: 1.5;"> There is no official threshold, but below 150 words the product description rarely remains competitive. For technical products or high-value items, 300 to 500 words allow you to cover benefits, features, and usage without falling into verbosity. Beyond 800 words, the risk is diluting the message without additional SEO gains. </div> </details><details class="faq-item" style="margin-bottom: 10px; border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; padding: 10px 12px;" > <summary style="cursor: pointer; font-weight: 600; list-style: none; display:flex; align-items:center; justify-content:space-between; gap:12px;"> <span>How to avoid duplicate content between variants of the same product?</span> <span class="faq-caret" aria-hidden="true" style="display:inline-block; transition: transform .2s ease; font-size: 18px; line-height: 1;">⌄</span> </summary> <div class="faq-answer" style="margin-top: 10px; line-height: 1.5;"> Two approaches are possible. The simplest consists of grouping all variants (color, size) on a single URL with a selector, which Shopify handles natively. If each variant has its own URL, you must then use ProductGroup markup and canonical attributes to indicate to Google the relationship between the variants. </div> </details><details class="faq-item" style="margin-bottom: 10px; border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; padding: 10px 12px;" > <summary style="cursor: pointer; font-weight: 600; list-style: none; display:flex; align-items:center; justify-content:space-between; gap:12px;"> <span>Should I include a FAQ on each product page?</span> <span class="faq-caret" aria-hidden="true" style="display:inline-block; transition: transform .2s ease; font-size: 18px; line-height: 1;">⌄</span> </summary> <div class="faq-answer" style="margin-top: 10px; line-height: 1.5;"> For products that generate frequent questions (material, care, sizing, compatibility), yes. A short FAQ of three to five questions addresses objections, captures long-tail search queries, and improves time spent on the page. For simple products, a generic FAQ without added value doesn't help. </div> </details><details class="faq-item" style="margin-bottom: 10px; border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; padding: 10px 12px;" > <summary style="cursor: pointer; font-weight: 600; list-style: none; display:flex; align-items:center; justify-content:space-between; gap:12px;"> <span>Does price play a role in the SEO of a product listing?</span> <span class="faq-caret" aria-hidden="true" style="display:inline-block; transition: transform .2s ease; font-size: 18px; line-height: 1;">⌄</span> </summary> <div class="faq-answer" style="margin-top: 10px; line-height: 1.5;"> Not directly as a ranking factor. However, the price entered in Product structured data enables the display of rich snippets in the SERP, which significantly improves click-through rate. Indirectly, a visible price is also a reliability signal that Google takes into account through the EEAT framework. </div> </details><details class="faq-item" style="margin-bottom: 10px; border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; padding: 10px 12px;" > <summary style="cursor: pointer; font-weight: 600; list-style: none; display:flex; align-items:center; justify-content:space-between; gap:12px;"> <span>How long does it take for an optimized product listing to start ranking?</span> <span class="faq-caret" aria-hidden="true" style="display:inline-block; transition: transform .2s ease; font-size: 18px; line-height: 1;">⌄</span> </summary> <div class="faq-answer" style="margin-top: 10px; line-height: 1.5;"> Generally, expect between four and twelve weeks to see significant movement on low-competition queries. For more competitive queries, several months are necessary, and optimizing the listing alone is not enough: internal linking, domain authority, and technical performance also factor into the equation. </div> </details></div><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "What is the ideal length for a product description?", "acceptedAnswer": { "@type": "Answer", "text": "There is no official threshold, but below 150 words the product description rarely remains competitive. For technical products or high-value items, 300 to 500 words allow you to cover benefits, features, and usage without falling into verbosity. Beyond 800 words, the risk is diluting the message without additional SEO gains." } },{ "@type": "Question", "name": "How to avoid duplicate content between variants of the same product?", "acceptedAnswer": { "@type": "Answer", "text": "Two approaches are possible. The simplest consists of grouping all variants (color, size) on a single URL with a selector, which Shopify handles natively. If each variant has its own URL, you must then use ProductGroup markup and canonical attributes to indicate to Google the relationship between the variants." } },{ "@type": "Question", "name": "Should I include a FAQ on each product page?", "acceptedAnswer": { "@type": "Answer", "text": "For products that generate frequent questions (material, care, sizing, compatibility), yes. A short FAQ of three to five questions addresses objections, captures long-tail search queries, and improves time spent on the page. For simple products, a generic FAQ without added value doesn't help." } },{ "@type": "Question", "name": "Does price play a role in the SEO of a product listing?", "acceptedAnswer": { "@type": "Answer", "text": "Not directly as a ranking factor. However, the price entered in Product structured data enables the display of rich snippets in the SERP, which significantly improves click-through rate. Indirectly, a visible price is also a reliability signal that Google takes into account through the EEAT framework." } },{ "@type": "Question", "name": "How long does it take for an optimized product listing to start ranking?", "acceptedAnswer": { "@type": "Answer", "text": "Generally, expect between four and twelve weeks to see significant movement on low-competition queries. For more competitive queries, several months are necessary, and optimizing the listing alone is not enough: internal linking, domain authority, and technical performance also factor into the equation." } }] } </script></section></div> </main> <footer> <!-- BEGIN sections: footer-group --> <div id="shopify-section-sections--25986623144314__footer_utilities_jLGE8U" class="shopify-section shopify-section-group-footer-group footer-utilities"> <div class="section-background color-scheme-1"></div> <div class="section section--page-width color-scheme-1" > <div class="utilities utilities--blocks-3 spacing-style" style="--padding-block-start: 20px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); --border-width: 0px; --gap: 24px;" data-testid="footer-utilities" > <div class=" footer-utilities__group-copyright custom-typography custom-font-size " style=" --color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);" > <span class="footer-utilities__text"> © 2026 <a href="/en" title="">Optimiq</a> </span> </div> <anchored-popover-component data-hover-triggered="true" > <button class="policy-list-trigger button-unstyled" popovertarget="terms-policies-popover" popovertargetaction="toggle" ref="trigger" style=" --color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);" > Terms and Policies </button> <div class="terms-policies-popover color-scheme-1" id="terms-policies-popover" popover="auto" ref="popover" > <ul class=" policy_list list-unstyled custom-typography custom-font-size " ><li> <a href="/en/policies/privacy-policy" class="footer-utilities__text" >Privacy policy</a> </li><li> <a href="/en/policies/contact-information" class="footer-utilities__text" >Contact information</a> </li><li> <a href="/en/policies/legal-notice" class="footer-utilities__text" >Legal notice</a> </li><li> <a href="/en/policies/terms-of-sale" class="footer-utilities__text" >Terms of sale</a> </li></ul> </div> </anchored-popover-component> <div class="social-icons__wrapper" > </div> </div> </div> </div> <!-- END sections: footer-group --> </footer> <script src="//www.optimiq.fr/cdn/shop/t/1/assets/dialog.js?v=150888536568694194021771692425" type="module" ></script> <script src="//www.optimiq.fr/cdn/shop/t/1/assets/predictive-search.js?v=149240552485540508541771692425" type="module" fetchpriority="low" ></script> <dialog-component id="search-modal" class="search-modal" > <dialog ref="dialog" on:click="/closeDialogOnClickOutside" on:keydown="/closeDialogOnEscapePress" class="search-modal__content dialog-modal" scroll-lock aria-labelledby="search-modal-heading" > <h2 id="search-modal-heading" class="visually-hidden" > Search </h2> <predictive-search-component class="predictive-search color-scheme-1" style="--product-corner-radius: 0px; --card-corner-radius: 4px;" data-section-id="predictive-search" data-testid="search-component--modal" role="search" aria-label="Search" > <form action="/en/search" method="get" role="search" class="predictive-search-form" ref="form" on:keydown="/onSearchKeyDown" > <div class="predictive-search-form__header" > <div class="predictive-search-form__header-inner"> <label for="cmdk-input" class="visually-hidden" >Search</label> <input class="search-input" id="cmdk-input" type="search" name="q" role="combobox" aria-expanded="false" aria-owns="predictive-search-results" aria-controls="predictive-search-results" aria-haspopup="listbox" aria-autocomplete="list" autocomplete="off" placeholder="Search" ref="searchInput" on:input="/search" on:keydown="/onSearchKeyDown" > <input name="options[prefix]" type="hidden" value="last" > <span class="svg-wrapper predictive-search__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> </span> <button type="button" class="button-unstyled predictive-search__reset-button" ref="resetButton" hidden on:click="/resetSearch" > Clear </button> </div> <button type="button" class="button predictive-search__close-modal-button" aria-label="Close dialog" on:click="dialog-component/closeDialog" ref="closeModalButton" > <span class="svg-wrapper"> <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> </button> </div> <div class="predictive-search-form__content-wrapper"> <div class="predictive-search-form__content" tabindex="-1" ref="predictiveSearchResults" on:click="/handleModalClick" > <div id="predictive-search-results" class="predictive-search-dropdown" role="listbox" aria-expanded="true" style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);" > <div class="predictive-search-results__inner"> <div id="predictive-search-products" class="predictive-search-results__products" data-testid="products-list-default--modal" > <h4 class="predictive-search-results__title"> Products </h4> <ul class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled" role="listbox" aria-label="Products" > <li class="predictive-search-results__card predictive-search-results__card--product" ref="resultsItems[]" > <div class="resource-card" data-resource-type="product" > <a class="resource-card__link" href="/en/products/accompagnement-shopify-mensuel" > <span class="visually-hidden"> Monthly Shopify Support </span> </a> <div class="resource-card__media" style="--resource-card-aspect-ratio: 4 / 5;" > <img src="//www.optimiq.fr/cdn/shop/files/optimiq-accompagnement-carre_253548e6-89e9-4c7f-baee-4771b3e4068f.jpg?v=1773929028&width=500" alt="" srcset="//www.optimiq.fr/cdn/shop/files/optimiq-accompagnement-carre_253548e6-89e9-4c7f-baee-4771b3e4068f.jpg?v=1773929028&width=240 240w, //www.optimiq.fr/cdn/shop/files/optimiq-accompagnement-carre_253548e6-89e9-4c7f-baee-4771b3e4068f.jpg?v=1773929028&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> </div> <div class="resource-card__content"> <p class="resource-card__title paragraph">Monthly Shopify Support</p> <div ref="priceContainer"> <span class="price">€390,00</span> </div> </div> </div> </li> <li class="predictive-search-results__card predictive-search-results__card--product" ref="resultsItems[]" > <div class="resource-card" data-resource-type="product" > <a class="resource-card__link" href="/en/products/audit-user-experience" > <span class="visually-hidden"> User Journey Audit </span> </a> <div class="resource-card__media" style="--resource-card-aspect-ratio: 4 / 5;" > <img src="//www.optimiq.fr/cdn/shop/files/parcoursux.jpg?v=1773939407&width=500" alt="" srcset="//www.optimiq.fr/cdn/shop/files/parcoursux.jpg?v=1773939407&width=240 240w, //www.optimiq.fr/cdn/shop/files/parcoursux.jpg?v=1773939407&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> </div> <div class="resource-card__content"> <p class="resource-card__title paragraph">User Journey Audit</p> <div ref="priceContainer"> <span class="price">€890,00</span> </div> </div> </div> </li> <li class="predictive-search-results__card predictive-search-results__card--product" ref="resultsItems[]" > <div class="resource-card" data-resource-type="product" > <a class="resource-card__link" href="/en/products/audit-seo" > <span class="visually-hidden"> Audit SEO </span> </a> <div class="resource-card__media" style="--resource-card-aspect-ratio: 4 / 5;" > <img src="//www.optimiq.fr/cdn/shop/files/auditseo.png?v=1773510732&width=500" alt="" srcset="//www.optimiq.fr/cdn/shop/files/auditseo.png?v=1773510732&width=240 240w, //www.optimiq.fr/cdn/shop/files/auditseo.png?v=1773510732&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> </div> <div class="resource-card__content"> <p class="resource-card__title paragraph">Audit SEO</p> <div ref="priceContainer"> <span class="price">€990,00</span> </div> </div> </div> </li> <li class="predictive-search-results__card predictive-search-results__card--product" ref="resultsItems[]" > <div class="resource-card" data-resource-type="product" > <a class="resource-card__link" href="/en/products/audit-seo-parcours-client-conversion" > <span class="visually-hidden"> SEO Audit + Customer Journey & Conversion </span> </a> <div class="resource-card__media" style="--resource-card-aspect-ratio: 4 / 5;" > <img src="//www.optimiq.fr/cdn/shop/files/auditcomplet.jpg?v=1773940665&width=500" alt="" srcset="//www.optimiq.fr/cdn/shop/files/auditcomplet.jpg?v=1773940665&width=240 240w, //www.optimiq.fr/cdn/shop/files/auditcomplet.jpg?v=1773940665&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> </div> <div class="resource-card__content"> <p class="resource-card__title paragraph">SEO Audit + Customer Journey & Conversion</p> <div ref="priceContainer"> <span class="price">€1.690,00</span> </div> </div> </div> </li> </ul> </div> </div> </div> </div> <div class="predictive-search-form__footer"> <button class="button predictive-search__search-button" ref="viewAllButton" > View all </button> </div> </div> </form> </predictive-search-component> </dialog> </dialog-component> <quick-add-dialog id="quick-add-dialog"> <dialog class="quick-add-modal dialog-modal color-scheme-1" ref="dialog" scroll-lock > <button ref="closeButton" on:click="/closeDialog" class="button button-unstyled close-button quick-add-modal__close" aria-label="Close dialog" ><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> </svg> </button> <div id="quick-add-modal-content" class="quick-add-modal__content" ></div> </dialog> </quick-add-dialog> <div id="shopify-block-AaUY3TDlOK3J2UVAyQ__4015264832934714879" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: ecomsend-app --><script type="text/javascript"> //SendWILL APPS COMMON JS CODE window.EcomSendApps = window.EcomSendApps || {} window.EcomSendApps.design_mode = false window.EcomSendApps.common = window.EcomSendApps.common || {} window.EcomSendApps.common.shop = { permanent_domain: 'optimiq.myshopify.com', currency: "EUR", money_format: "€{{amount_with_comma_separator}}", id: 93754229114, } window.EcomSendApps.common.customer = { id: null, tags: null, email: null, accepts_marketing: null, first_name: null, } window.EcomSendApps.common.template = 'article' </script> <!-- END app snippet --> <script> /** @description storefront main bundle asset url */ const ECOMSEND_MAIN_SCRIPT_URL = 'https://cdn.shopify.com/extensions/019e880e-5f98-7ef8-a7f3-e5abdf2317bf/ecomsend-155/assets/ecomsend.js' /** @description storefront style asset url */ const ECOMSEND_MAIN_STYLE_URL = 'https://cdn.shopify.com/extensions/019e880e-5f98-7ef8-a7f3-e5abdf2317bf/ecomsend-155/assets/style.css' /** @description storefront wasm asset url for runtime signature module */ const ECOMSEND_WASM_ASSET_URL = 'https://cdn.shopify.com/extensions/019e880e-5f98-7ef8-a7f3-e5abdf2317bf/ecomsend-155/assets/client_safe.wasm' /** @description fallback delay when requestIdleCallback is unavailable */ const ECOMSEND_IDLE_TIMEOUT_MS = 800 /** @description user interaction events used to trigger lazy init earlier */ const ECOMSEND_INTERACTION_EVENTS = ["pointerdown", "keydown", "touchstart"] /** @description global flag key for emergency immediate loading */ const ECOMSEND_FORCE_IMMEDIATE_FLAG = window.EcomSendApps?.forceImmediateLoad === true /** @description create main stylesheet node for storefront runtime */ function createEcomSendMainStyleEle() { const ecomsendMainStyleEle = document.createElement("link") ecomsendMainStyleEle.rel = "stylesheet" ecomsendMainStyleEle.href = ECOMSEND_MAIN_STYLE_URL ecomsendMainStyleEle.dataset.ecomsendTag = "main-style" return ecomsendMainStyleEle } /** @description append runtime stylesheet exactly once */ function ensureEcomSendMainStyleLoaded() { if (document.querySelector('link[data-ecomsend-tag="main-style"]')) { return } const ecomsendMainStyleEle = createEcomSendMainStyleEle() document.head.appendChild(ecomsendMainStyleEle) } /** @description remove interaction listeners after first lazy-init trigger */ function clearInteractionListeners() { ECOMSEND_INTERACTION_EVENTS.forEach((eventName) => { window.removeEventListener(eventName, scheduleMainBundleLoad) }) } /** @description run low-priority task via idle callback with timeout fallback */ function scheduleLowPriorityTask(taskRunner, timeoutMs) { if (window.requestIdleCallback) { window.requestIdleCallback(() => { taskRunner() }, { timeout: timeoutMs }) return } window.setTimeout(() => { taskRunner() }, timeoutMs) } /** @description load main storefront bundle once and keep rollback override */ function loadEcomsendMainBundle() { if (window.__ecomsendMainBundleLoaded) { return } window.__ecomsendMainBundleLoaded = true clearInteractionListeners() /** @description ensure storefront runtime css is loaded together with main bundle */ ensureEcomSendMainStyleLoaded() const ecomsendMainScriptEle = document.createElement("script") ecomsendMainScriptEle.src = ECOMSEND_MAIN_SCRIPT_URL ecomsendMainScriptEle.async = true ecomsendMainScriptEle.dataset.ecomsendTag = "main-script" document.body.appendChild(ecomsendMainScriptEle) } /** @description schedule heavy bundle with idle-first strategy to reduce main-thread contention */ function scheduleMainBundleLoad() { if (window.__ecomsendMainBundleLoadScheduled) { return } /** @description dedupe idle scheduling from DOMContentLoaded and first interactions */ window.__ecomsendMainBundleLoadScheduled = true if (ECOMSEND_FORCE_IMMEDIATE_FLAG) { loadEcomsendMainBundle() return } scheduleLowPriorityTask(loadEcomsendMainBundle, ECOMSEND_IDLE_TIMEOUT_MS) } /** @description cache marketing params for pixel/report flows before heavy bundle starts */ function cacheMarketingParams() { const urlParams = new URLSearchParams(window.location.search) const marketingId = urlParams.get("ec_marketing_id") const ecEmailId = urlParams.get("ec_email_id") const ecMarketingSign = urlParams.get("ec_marketing_sign") if (marketingId && window.localStorage) { window.localStorage.setItem("ec_marketing_id", marketingId) } if (ecEmailId && window.localStorage) { window.localStorage.setItem("ec_email_id", ecEmailId) } if (ecMarketingSign && window.localStorage) { window.localStorage.setItem("ec_marketing_sign", ecMarketingSign) } } try { cacheMarketingParams() } catch (e) {} /** @description inject wasm asset url into shared namespace before main bundle executes */ window.EcomSendApps = window.EcomSendApps || {} window.EcomSendApps.wasmURL = ECOMSEND_WASM_ASSET_URL ECOMSEND_INTERACTION_EVENTS.forEach((eventName) => { window.addEventListener(eventName, scheduleMainBundleLoad, { once: true, passive: true }) }) if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", scheduleMainBundleLoad, { once: true }) } else { scheduleMainBundleLoad() } </script> <style id="ecomsend-custom-style"></style> <script>window.shopLocale = 'en'</script> <script> /** @description timeout used for deferred discount request scheduling */ const ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS = 1500 /** @description apply discount code from url query only when parameter exists */ function applyWillDiscountCode() { const urlParams = new URLSearchParams(window.location.search) const willDiscountCode = urlParams.get("willDiscountCode") if (!willDiscountCode) { return } fetch("/cart/update.js", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ discount: willDiscountCode, }), }) } try { if (!window.__ecomsendDeferredTasksScheduled) { /** @description global guard to avoid duplicate deferred task scheduling */ window.__ecomsendDeferredTasksScheduled = true if (window.requestIdleCallback) { window.requestIdleCallback(() => { applyWillDiscountCode() }, { timeout: ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS }) } else { window.setTimeout(() => { applyWillDiscountCode() }, ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS) } } } catch (error) {} if (window.EcomSendApps?.common?.shop?.id) { window.localStorage.setItem("ECOMSEND:ES_SHOP_ID", window.EcomSendApps.common.shop.id) } </script> </div><div id="shopify-block-ARGE2emF2THkrZnJLS__9670189827046205946" class="shopify-block shopify-app-block"><script type="application/javascript"> window.TMS_SHOPIFY_EXTENSION_CDN = 'https://cdn.shopify.com/extensions/019e5681-ff21-7fba-b37e-b98e704dfbf6/hextom-translate-and-currency-162/assets/'; var tmsOnPageMoneyFormat = "€{{amount_with_comma_separator}}"; var tmsShopBaseCurrencyCode = "EUR"; var tmsSelectorData = {}; var tmsAbsLinkData = "https://cdn3.hextom.com/"; var tmsShopBaseLocaleCodeData = "fr"; var tmsSelectorEnabledData = false; var tmsFileTranslationData = {}; <!-- BEGIN app snippet: file_translation_data_parts --> <!-- END app snippet --> var tmsVETranslationData = {}; <!-- BEGIN app snippet: ve_translation_data_parts --> <!-- END app snippet --> var tmsBasicTransLanguageData = {"nl":false,"en":false,"de":false}; var tmsAutoCoverageLanguageData = {"nl":false,"en":false,"de":false}; var tmsRegionData = {"FR":{"region_name":"France","region_code":"FR","currency_code":"EUR","currency_symbol":"€","shopify_payment":true,"shopify_markets":true,"manual_exchange_rate_base_currency":"EUR","manual_exchange_rate":0.0,"rounding_rule":"no","rounding_decimal":"0","symbol_placement":"before","currency_format":"amount_with_comma_separator","currency_display_format":"symbol_and_code","display_trailing_zeros":false,"is_tms_managed":false}}; var tmsCartNoteData = {}; var tmsRegionLanguageDefaultsData = {}; var tmsRegionGroupMapping = {}; </script> </div></body> </html>