[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides storefront seo in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/faststore)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/store-framework)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-best-practices)

[Accessibility](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-accessibility)

[Analytics](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-analytics)

[Performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-performance)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo)

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/faststore)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/store-framework)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-best-practices)

[Accessibility](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-accessibility)

[Analytics](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-analytics)

[Performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-performance)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo)

---

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/storefront-development)

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-best-practices)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo)

SEO

Discover strategies to improve your ecommerce SEO.

Search Engine Optimization (SEO) is a set of strategies to enhance the performance of websites, blogs, and web pages. The primary goal is to achieve higher rankings in organic search results, driving more traffic and boosting the site's authority.

In ecommerce, a well-implemented SEO strategy enhances visibility, attracts organic traffic, and improves user experience. By elevating search engine rankings, SEO provides a competitive edge, reduces customer acquisition costs, and ensures long-term results.

To learn more about SEO strategies, check Google’s documentation resource [Explore Google Search documentation to improve your site's SEO](https://read.calvincode.net/reader?url=https://developers.google.com/search/docs).

VTEX offers a set of tools and settings that allow you to optimize your store for search engines, making your products more discoverable and improving site performance.

In this guide, you will learn some best practices for implementing strategies to improve SEO in your VTEX store. It is divided into [general best practices](#general-seo-best-practices) applicable to all storefronts, followed by specific configurations for [FastStore](#faststore), [Store Framework](#store-framework), and [(Legacy) CMS Portal](#legacy-cms-portal).

## General SEO best practices

### Store settings

Properly configuring the elements of your ecommerce store, such as titles, descriptions, media, and URLs, can significantly impact how search engines index and rank your pages.

#### Titles and descriptions

When setting up your store, consider how title tags and descriptions affect your store’s SEO:

* **Title tags:** Use primary keywords at the beginning of the title and ensure titles are concise (50-60 characters). The value assigned to this tag is displayed at the top of the browser's title bar when someone visits your website. It can be configured for home, [product](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/product-registration-fields--4dYXWIK3zyS8IceKkQseke), [category](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/category-registration-fields--5Z7RrvW41yumyQCmk2iqoG), and [brand](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/brand-registration-fields--37Ky7lTbEkiWIAYA80EMyI) pages.
* **Meta descriptions:** Include relevant keywords, limit them to 140-160 characters, and provide a compelling reason for users to click, which will help improve organic traffic. Meta descriptions are crucial for SEO because they appear in search engine results pages (SERPs) as snippets under the page title, giving users an idea of what they can find on the site. They can be configured for home, product, category, and brand pages on the same setup page where you configure the title tags directly in the VTEX Admin.
* **Unique content:** Avoid duplication across pages. Make sure titles and descriptions are unique for each page to improve search visibility and prevent keyword cannibalization, where multiple pages compete for the same search terms.
* **Robots.txt:** Edit or customize your `robots.txt`, which is a text file that search engines use to define site scanning rules for crawlers based on your business needs. Learn more in [Google Search Console Tracking - robots.txt](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/google-search-console-tracking-robots-txt--tutorials%5F574).

#### Images and videos

When adding images or videos to your store, whether for SKUs, banners, or any other page on your site, follow these guidelines:

* **Media file name:** Rename media files used in your store with descriptive keywords, avoiding generic names such as `image1.png`.
* **`alt text`:** Use clear `alt text` with relevant keywords to describe the media content accurately. Search engines don't read images and videos, so each media piece should have personalized alternative text (`alt text`). Moreover, the `alt text` promotes [Accessibility](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-accessibility) by helping visually impaired users understand the content on the page.
* **Image optimization:** Compress images to improve page load speed without sacrificing quality. Learn more in [Image compression](https://read.calvincode.net/reader?url=https://help.vtex.com/tutorial/image-compression--4klbgpsPksq44KcwqKeye8).

#### URLs

When defining the URLs for your site, keep in mind the following best practices:

* **Keyword-friendly URLs:** Incorporate primary keywords into short, clean, and descriptive URLs. Use hyphens to separate words in URLs, enhancing readability and clarity for users and search engines. For product pages, the URL is defined by the `textLink` field in the product settings, as outlined in the guide [Filling in the category registration fields](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/category-registration-fields--5Z7RrvW41yumyQCmk2iqoG).
* **Canonical tags:** Use canonical tags on your site to indicate the preferred version of a URL when there are multiple pages with similar content. This prevents duplicate content issues by consolidating ranking signals and ensuring search engines index the correct page. On VTEX, the canonical tag is generated automatically for all store pages, such as product, category, brand, and custom.

> In cross-border stores, you must configure the canonical tag for each binding, as they have different canonical base addresses. For example: `store.com/en` and `store.com/pt`. Learn more in [Cross-border store content internationalization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cross-border-custom-urls-1).

### Monitoring and analysis

Effective monitoring and analysis are crucial for understanding the impact of your SEO efforts and making data-driven decisions:

* **Implement schema markup:** Structured data (schema markup) helps search engines better understand the content and enhance rich snippets in search results. Learn more in [Structured data through Google Search Console Data Markers](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/structured-data-through-google-search-console-data-markers--tutorials%5F560).
* **Track keyword rankings:** Use tools such as [Google Search Console](https://read.calvincode.net/reader?url=https://search.google.com/search-console/about) to monitor the rankings of your target keywords over time and identify trends and fluctuations, which will help you understand what is working and where improvements are needed.
* **Analyze website traffic:** Use [Google Analytics](https://read.calvincode.net/reader?url=https://analytics.google.com/) or your preferred tool to track organic traffic, page views, and user behavior on your site.
* **Evaluate on-page performance:** Analyze page load times, mobile usability, and overall user experience with tools such as [PageSpeed Insights](https://read.calvincode.net/reader?url=https://pagespeed.web.dev/). Review on-page metrics such as bounce rate, time on page, and conversion rates to assess content effectiveness.

Learn more in [Integration with monitoring tools](https://read.calvincode.net/reader?url=https://help.vtex.com/subcategory/tracking-integration--1luKrYptdi8WoMYckakUaM).

## FastStore

For stores developed with [FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore), follow these specific practices:

* **Configuration and setup:** Configure fundamental SEO settings during the project onboarding and after in the `discovery.config.js` file. Learn more in [SEO guide overview for FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/seo-overview).
* **Canonical tags:** Ensure canonical tags are correctly implemented on all pages, especially on Product Listing Pages (PLPs) that use URL parameters for functionality. Products accessible via multiple URLs must specify a canonical version to avoid duplicate content.
* **Structured Data (Schema):**
   * Use global identifiers like GTIN or UPC codes in your product schema. If catalog data is incomplete, you may need to customize the schema client-side.
   * Map the SEO title to the schema `name` field. Use the product name, not the SKU, if no SEO title is set.
   * Ensure the `availability` field accurately reflects stock status using standard [Schema.org](https://read.calvincode.net/reader?url=https://schema.org/) URLs (`InStock`, `OutOfStock`).
   * Enrich data with Manufacturer Part Numbers (MPN) to improve chances for rich results.
   * Remove deprecated Offer schema fields such as `listPriceWithTaxes` and `priceWithTaxes`.
* **Performance and Crawlability:**
   * **Lazy Loading:** Apply lazy loading strategically. Avoid using it on critical content sections of PLPs and PDPs to ensure search engine bots can crawl all content. Disabling it entirely can make all content immediately available for crawling, but it can also harm overall performance. Learn more in [Optimizing SEO by managing lazy loading on PLPs and PDPs](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/seo-optimizing-seo-by-managing-lazy-loading-on-plp-and-pdp).
   * **Caching:** Use `GET` requests (not `POST`) for custom queries to improve caching, which benefits performance and SEO. Learn more in [Configuring GraphQL cache control for GET requests](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control).
   * **Page Types:** When building department pages, favor the Product List Page (PLP) template over a Landing Page (LP). PLPs support better caching and automate structured data for breadcrumbs.
* **Core Web Vitals:** Actively monitor and fix issues with Cumulative Layout Shift (CLS) and Largest Contentful Paint (LCP) using tools like PageSpeed Insights.
* **404 Tracking:** Implement custom title tags for 404 pages to easily identify and track them in analytics platforms.

## Store Framework

For stores developed with [Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/store-framework), follow these specific practices:

* **Store SEO settings:** Configure basic SEO settings for the home page through VTEX Admin by accessing **Store Settings > Storefront > Store**. Learn more in [Configuring SEO in your Store Framework store](https://read.calvincode.net/reader?url=https://help.vtex.com/pt/tutorial/configuring-seo-in-your-store--1sKskEsjUSvgHyqM8oknVR).
* **Intelligent Search for Categories:** Use the [VTEX Intelligent Search app](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.search@1.0.8) to customize titles and meta descriptions for Department, Category, and Subcategory pages within the search navigation bar. Learn more in [Intelligent Search](https://read.calvincode.net/reader?url=https://help.vtex.com/tracks/vtex-intelligent-search).
* **Product Listing Pages (PLP):** Implement specific strategies to enhance the SEO of your category pages. Learn more in [Improving the SEO of Product Listing Pages](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/improving-the-seo-of-product-listing-pages--UrQtlKAMuSaLBP5wG9ftG).

## (Legacy) CMS Portal

For stores using the (Legacy) CMS Portal, configure SEO settings as follows:

* **Home page SEO:** Configure the home page `meta tag description` and `robots.txt` file through **Store Settings > Storefront > Settings** in the VTEX Admin. Learn more in [Settings](https://read.calvincode.net/reader?url=https://help.vtex.com/en/docs/tracks/legacy-cms-portal%23settings).
* **Meta tags control:** Use the meta tags control feature to improve SEO on other pages (product, category, etc.). Learn more in [How to use the meta tags control](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/how-to-use-the-meta-tags-control--2OPiSPubgcEqIikAWsCouk).
* **Titles and URLs:** Configure title tags and URLs for products, categories, and brands in their respective registration fields in the Admin:
   * [Product registration fields](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/product-registration-fields--4dYXWIK3zyS8IceKkQseke)
   * [Category registration fields](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/category-registration-fields--5Z7RrvW41yumyQCmk2iqoG)
   * [Brand registration fields](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/brand-registration-fields--37Ky7lTbEkiWIAYA80EMyI)

Contributors

3

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F67270558%3Fv%3D4%26w=64%26q=75)](https://github.com/mariana-caetano)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F112641072%3Fv%3D4%26w=64%26q=75)](https://github.com/barbara-celi)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/vtex-io/Storefront-Guides/storefront-seo.md)

[Getting started with Lighthouse« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo//docs/guides/storefront-getting-started-with-lighthouse)

Contributors

3

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F67270558%3Fv%3D4%26w=64%26q=75)](https://github.com/mariana-caetano)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F112641072%3Fv%3D4%26w=64%26q=75)](https://github.com/barbara-celi)

ON THIS PAGE

[General SEO best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23general-seo-best-practices)

[Store settings](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23store-settings)[Monitoring and analysis](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23monitoring-and-analysis)

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23faststore)

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23store-framework)

[(Legacy) CMS Portal](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23legacy-cms-portal)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/vtex-io/Storefront-Guides/storefront-seo.md)

Copy page

On this page

ON THIS PAGE

[General SEO best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23general-seo-best-practices)

[Store settings](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23store-settings)[Monitoring and analysis](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23monitoring-and-analysis)

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23faststore)

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23store-framework)

[(Legacy) CMS Portal](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-seo/docs/guides/storefront-seo%23legacy-cms-portal)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)


[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides avoiding cors in master data requests in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/updates/release-notes)

Guides

[VTEX Platform Overview](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/vtex-platform-overview)

---

[API usage](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/api-usage)

---

[Getting started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/getting-started)

---

Integration Guides

---

[Catalog](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/catalog-integration)

---

[Checkout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/checkout-api-overview)

---

[Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/master-data)

[Understanding Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/understanding-master-data)

[Master Data best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/master-data-best-practices)

[Extracting data from Master Data with search and scroll](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/extracting-data-from-master-data-with-search-and-scroll)

[Pagination in the Master Data API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/pagination-in-the-master-data-api)

[Avoiding CORS in Master Data requests](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/avoiding-cors-in-master-data-requests)

[Master Data v2](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/master-data-v2)

[Master Data v1](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/master-data-v1)

---

Payments

---

Orders

---

Logistics

---

B2B Suite

---

VTEX Sales App

---

UI Customization

---

Message Center

---

Pricing

---

Promotions

---

Infrastructure

---

Search

---

Storefront Permissions

---

[VTEX Activity Flow](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/activity-flow)

---

[VTEX Ads](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/vtex-ads)

---

VTEX Session

---

VTEX Shield

---

[Data Protection Plus](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/data-protection-plus)

---

Weni by VTEX

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/updates/release-notes)

Guides

[VTEX Platform Overview](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/vtex-platform-overview)

---

[API usage](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/api-usage)

---

[Getting started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/getting-started)

---

Integration Guides

---

[Catalog](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/catalog-integration)

---

[Checkout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/checkout-api-overview)

---

[Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/master-data)

[Understanding Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/understanding-master-data)

[Master Data best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/master-data-best-practices)

[Extracting data from Master Data with search and scroll](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/extracting-data-from-master-data-with-search-and-scroll)

[Pagination in the Master Data API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/pagination-in-the-master-data-api)

[Avoiding CORS in Master Data requests](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/avoiding-cors-in-master-data-requests)

[Master Data v2](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/master-data-v2)

[Master Data v1](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/master-data-v1)

---

Payments

---

Orders

---

Logistics

---

B2B Suite

---

VTEX Sales App

---

UI Customization

---

Message Center

---

Pricing

---

Promotions

---

Infrastructure

---

Search

---

Storefront Permissions

---

[VTEX Activity Flow](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/activity-flow)

---

[VTEX Ads](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/vtex-ads)

---

VTEX Session

---

VTEX Shield

---

[Data Protection Plus](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/data-protection-plus)

---

Weni by VTEX

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides)

[Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/master-data)

[Master Data best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/master-data-best-practices)

[Avoiding CORS in Master Data requests](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/avoiding-cors-in-master-data-requests)

Avoiding CORS in Master Data requests

Learn how to avoid CORS issues in your Master Data requests.

Cross-origin resource sharing (CORS) is not an error but a security mechanism designed to protect users from dangerous Javascript and unwarranted HTTP requests.

CORS is triggered when an HTTP endpoint requests:

* a different domain (e.g., `vtex.com` calls `vtexcommercestable.com`)
* a different subdomain (e.g., `store.com` calls `blog.store.com`)
* a different port (e.g., `store.com` calls `store.com:3001`)
* a different protocol (e.g., a site at `https://store.com` calls `http://store.com`)

Your browser blocks every request that fits into one of the four conditions above. This might cause unexpected site behavior and frustration as some functionality may stop functioning.

Furthermore, whenever the browser has to check if the backend supports CORS, an additional `OPTION` request is sent back to **Master Data**. Improperly configured websites generate a great deal of these avoidable requests.

## Best practices

This section will cover best practices for using **Master Data** API endpoints. These practices will help you create more efficient and maintainable code.

| ✅ Do                                             | ❌ Don't                                                              |
| ------------------------------------------------ | -------------------------------------------------------------------- |
| $.getJSON("/foobar/dataentities/SL/search?\_.... | https://account.vtexcommercestable.com.br/api/dataentities/SL/search |

To perform Master Data entity searches correctly, opt for relative paths, as demonstrated in the jQuery example. This approach simplifies your code by eliminating the need to include account names and environments in each request.

Do not make direct requests to **Master Data** endpoints, and avoid including account names and environments directly in the endpoint.

Contributors

1

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F77292838%3Fv%3D4%26w=64%26q=75)](https://github.com/julia-rabello)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/Master-Data/master-data-best-practices/avoiding-cors-in-master-data-requests.md)

[Pagination in the Master Data API« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests//docs/guides/pagination-in-the-master-data-api)[Master Data v2Next »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests//docs/guides/master-data-v2)

Contributors

1

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F77292838%3Fv%3D4%26w=64%26q=75)](https://github.com/julia-rabello)

ON THIS PAGE

[Best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/avoiding-cors-in-master-data-requests%23best-practices)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/Master-Data/master-data-best-practices/avoiding-cors-in-master-data-requests.md)

Copy page

On this page

ON THIS PAGE

[Best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/avoiding-cors-in-master-data-requests/docs/guides/avoiding-cors-in-master-data-requests%23best-practices)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)


[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides vtex io documentation enabling performance settings in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/faststore)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework)

[Store Theme](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-store-theme)

[Getting started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/getting-started-3)

Concepts

[Building pages](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-building-pages)

[Using components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-using-components)

[Using advanced layouts](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-using-advanced-layouts)

[Working with Site Editor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-working-with-site-editor)

[Styling](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-styling)

[Dealing with events](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-dealing-with-events)

[Configuring Analytics (Google Tag Manager)](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-configuring-analytics-google-tag-manager)

[Setting up cross-border stores](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-setting-up-cross-border-stores)

[Handling internationalization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-multi-language-stores)

[Routing](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-routing)

[Managing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-managing-performance)

[Deactivating the VTEX IO native service worker](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-deactivating-the-vtex-io-native-service-worker)

[Debugging performance issues](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-debugging-performance-issues)

[Displaying asynchronous prices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-displaying-asynchronous-prices)

[Enabling the Order Form optimization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-order-form-optimization)

[Getting started with Lighthouse performance audit](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-getting-started-with-lighthouse)

[Enabling performance settings](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings)

[Tracking changes in Lighthouse performance score](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-tracking-changes-in-lighthouse-performance-score)

[Lazy loading components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-using-the-fold-blocks)

[Optimizing image rendering](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-optimizing-image-rendering)

[Improving store accessibility with semantic HTML migration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-semantic-html-migration)

[Going live](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-go-live)

[Updating live stores](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-updating-live-stores)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/storefront-best-practices)

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/faststore)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework)

[Store Theme](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-store-theme)

[Getting started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/getting-started-3)

Concepts

[Building pages](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-building-pages)

[Using components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-using-components)

[Using advanced layouts](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-using-advanced-layouts)

[Working with Site Editor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-working-with-site-editor)

[Styling](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-styling)

[Dealing with events](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-dealing-with-events)

[Configuring Analytics (Google Tag Manager)](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-configuring-analytics-google-tag-manager)

[Setting up cross-border stores](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-setting-up-cross-border-stores)

[Handling internationalization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-multi-language-stores)

[Routing](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-routing)

[Managing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-managing-performance)

[Deactivating the VTEX IO native service worker](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-deactivating-the-vtex-io-native-service-worker)

[Debugging performance issues](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-debugging-performance-issues)

[Displaying asynchronous prices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-displaying-asynchronous-prices)

[Enabling the Order Form optimization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-order-form-optimization)

[Getting started with Lighthouse performance audit](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-getting-started-with-lighthouse)

[Enabling performance settings](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings)

[Tracking changes in Lighthouse performance score](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-tracking-changes-in-lighthouse-performance-score)

[Lazy loading components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-using-the-fold-blocks)

[Optimizing image rendering](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-optimizing-image-rendering)

[Improving store accessibility with semantic HTML migration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-semantic-html-migration)

[Going live](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-go-live)

[Updating live stores](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-updating-live-stores)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/storefront-best-practices)

---

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/storefront-development)

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework)

[Managing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/store-framework-managing-performance)

[Enabling performance settings](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings)

Enabling performance settings

For ecommerce businesses, appealing offers, high-quality products, or brand recognition might not be enough to convert leads if the user experience falls short. Store website performance is essential to the user experience, directly impacting sales conversion rate, user session time, and other metrics. Every millisecond counts and affects the consumer decision-making process and website ranking in search engine results.

This guide outlines actions you can implement to optimize store performance. These [optimization options](#optimization-options) can improve SEO score and page loading time. You can measure these improvements using tools like [Google Lighthouse](https://read.calvincode.net/reader?url=https://developers.google.com/web/tools/lighthouse) and [Google Analytics](https://read.calvincode.net/reader?url=https://support.google.com/analytics/answer/1205784?hl=en). Learn more in the **Monitoring tools** section in the [Performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-performance) guide.

This guide is divided into the following sections:

* [Instructions](#instructions): Instructions for enabling and deploying performance optimizations in your store, including workspace setup, Admin configuration, and promoting changes to production.
* [Optimization options](#optimization-options): Methods to enhance store performance, categorized by:
   * [Store settings](#store-settings): Actions that can be performed directly in the VTEX Admin.
   * [Manual optimizations](#manual-optimizations): Additional manual actions for advanced performance that require direct code changes.

## Instructions

### Step 1 - (Optional) Testing manual optimizations

If you have implemented [manual optimizations](#manual-optimizations), make sure to use a [development workspace](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-creating-a-development-workspace) to test them before making your new app version publicly available. Learn more about this process in the guide [Deploying a new app version](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-making-your-new-app-version-publicly-available).

### Step 2 - Applying changes in a production workspace

1. Using the terminal and the [VTEX IO CLI](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-vtex-io-cli-installation-and-command-reference/), log in to the desired account by running `vtex login {account}`.
2. Run the command `vtex use {productionWorkspace} --production` to create and use a **new** [production workspace](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-workspace/).
> Replace the values between the curly braces based on your scenario.
3. Using your browser, access the Admin for that workspace.
4. In the account's Admin, go to **Store Settings > Storefront > Store > Advanced**.
5. Follow the instructions in the [Store settings](#store-settings) section to activate the desired features, then save the changes.
6. Access your store in the workspace you're using and check whether the performance improvements were applied.

> Changes may take some time to be reflected.

### Step 3 - Testing and analyzing performance

1. Review and test all main pages, ensuring the changes didn't cause any side effects, such as style inconsistencies or undesired behaviors.
2. Access [Google PageSpeed Insights](https://read.calvincode.net/reader?url=https://developers.google.com/speed/pagespeed/insights).
3. Using the following URL pattern: `https://{account}.myvtex.com/?workspace={productionWorkspace}`, check store performance in the production workspace where you're currently working.

> Using the standard URL pattern `https://{workspace}--{account}.myvtex.com/` won't show the store performance score in the specified workspace. To analyze performance in a workspace, **you must use the `?workspace={productionWorkspace}` query string** as shown in Step 3.3.

### Step 4 - Making your changes publicly available

If you're satisfied with the results, run `vtex promote` to promote your workspace and benefit from a faster store. Before promoting your workspace to master, measure the performance improvements by comparing the performance scores in the production and master workspaces.

## Optimization options

### Store settings

Store settings are actions you can configure directly in the VTEX Admin by navigating to **Store Settings > Storefront > Store > Advanced**.

![{"base64":"  ","img":{"width":2324,"height":1454,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":378549,"url":"https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-io-documentation-best-practices-for-optimizing-performance-0.png"}}](https://read.calvincode.net/reader?url=https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-io-documentation-best-practices-for-optimizing-performance-0.png)

#### OrderForm optimization

This action disables the legacy `orderForm` provider.

The `orderForm` is an object that stores and retrieves data from user orders, including each item added to the cart. To give other Store Theme blocks access to the data stored in the `orderForm` and allow them to render it, Store Framework runs the `OrderFormProvider` object on each store page. This object exports all the necessary `orderForm` information to these blocks.

However, all stores using VTEX IO Store Framework currently have two `OrderFormProviders`: a legacy version, still consumed by native blocks such as `minicart` and `buy-button`, and a newer version, better suited for replacement.

We recommend that stores using `minicart.v2` and `add-to-cart-button` blocks (instead of `minicart` and `buy-button`, respectively) disable the legacy provider. Consuming a single provider will improve store performance.

Learn more in the guide [Enabling OrderForm optimization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-order-form-optimization/).

#### Service worker

This action adds the default service worker provided by VTEX.

The VTEX IO platform provides a native service worker to every store using Store Framework. If you need to use a third-party service with its service worker, you may face conflicts. You can deactivate the native VTEX service worker to resolve this.

Learn more in the guide [Deactivating the VTEX IO native service worker](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-deactivating-the-vtex-io-native-service-worker/).

#### Critical CSS optimization

This action enables CSS optimizations on your pages to boost performance and improve Lighthouse scores. It lets the browser identify and load essential CSS needed for critical, above-the-fold content first, while loading the remaining CSS code asynchronously.

![{"base64":"  ","img":{"width":1582,"height":1024,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":395280,"url":"https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-io-documentation-best-practices-for-optimizing-performance-1.png"}}](https://read.calvincode.net/reader?url=https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-io-documentation-best-practices-for-optimizing-performance-1.png)

However, by default, the browser initiates the rendering of a web page after it finishes loading, parsing, and executing all related CSS files. Consequently, the more extensive the CSS code, the longer it takes to render the critical part of the page.

This optimization can be enabled for the following pages:

* Homepage
* Search page
* Custom pages
* Product page

> Enabling these options might cause style inconsistencies in the store layout. Test these changes carefully before enabling them on a production workspace. If you notice any side effects, [open a ticket with VTEX Support](https://read.calvincode.net/reader?url=https://help.vtex.com/en/support).

#### Enable CSS concatenation

This action concatenates a page's CSS in a single file for faster download, reducing the HTTP requests required to load each CSS file separately.

![{"base64":"  ","img":{"width":1498,"height":616,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":25965,"url":"https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-io-documentation-best-practices-for-optimizing-performance-2.png"}}](https://read.calvincode.net/reader?url=https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-io-documentation-best-practices-for-optimizing-performance-2.png)

#### Enable prefetch

This action prefetches pages when a user hovers over a link.

When enabled, the page content is proactively downloaded in the background when you hover over a link. This means that the page is already loaded or partially loaded when you click the link.

#### Enable lazy runtime

This action enables lazy loading of page metadata.

Before displaying a web page, the VTEX IO service app that renders server-side (Render Runtime) interprets the page metadata script. See the example below:

`1

<script>

2

 __RUNTIME__ = {"account":"vtexstore","amp":false,"bindingChanged":false,"binding":{"id":"aacb04t3-a8fa-4bab-b5bd-2d654d20dcd8","canonicalBaseAddress":"vtexstore.vtex.com"},"culture":{"availableLocales":[],"country":"USA","currency":"USD","language":"en","locale":"en-US","customCurrencyDecimalDigits":null,"customCurrencySymbol":"$"},"production":true,"query":{},"settings":{....

`

This script contains significant web page data and can be long, demanding significant browser processing. When you enable lazy runtime, the script is broken into smaller scripts to avoid compromising the total blocking time of the store website. This helps avoid lengthy tasks, leading to a faster store experience.

> Some apps might not work as expected when this option is enabled. Test with caution before enabling it on a production workspace. If you notice any side effects, [open a ticket with VTEX Support](https://read.calvincode.net/reader?url=https://help.vtex.com/en/support).

#### Enable lazy rendering of submenu items

By enabling this action, menus containing submenus automatically apply the `experimentalOptimizeRendering` prop. This configuration prevents the entire set of `submenus` from loading unnecessarily, as `submenus` only load when the user interacts with the parent menu where the prop is set.

> Google won't be able to track the hidden submenu items for SEO, as their content only loads with user interaction. Make sure your SEO strategy is covered by the store sitemap or the first meaningfully painted content.

#### Enable lazy rendering of search results and facets

This action enables lazy rendering for the scrollable facet box and search results pages. Content within the user's viewport loads first, and content outside the viewport loads only as the user scrolls.

> Enabling this option might cause unexpected behaviors, such as gaps while scrolling. If you notice any side effects, [open a ticket with VTEX Support](https://read.calvincode.net/reader?url=https://help.vtex.com/en/support).

#### Enable loading scripts asynchronously

This action allows the browser to load and execute scripts asynchronously. This means the browser doesn't wait for the script to fully download and execute before continuing to parse and render the rest of the page. Instead, it can process other elements of the page concurrently while the script loads in the background.

#### Enable concurrent React mode

This action helps the store stay responsive by adjusting to the capabilities of the user's device and network speed. This means rendering tasks can be prioritized and interrupted based on user interactions or current network conditions.

For example, if a user begins typing in a search bar while other content is still loading, concurrent mode can pause loading to process your input, ensuring the search bar remains responsive. Once the input is handled, rendering can resume without perceived delays.

#### Enable fetching filters partially

When you enable this action, search results pages display a maximum of 10 facets per filter.

The search query won't automatically retrieve any additional facets or show them to the user. Instead, a `Show more` button allows users to load the remaining facets.

> A facet is a filter value. For example, `Color` is a filter, and `Blue` is a facet of that filter.

#### Enable executing all GraphQL queries on the product page

This action allows the product page to fetch additional data necessary to render components positioned above-the-fold. This helps ensure that product details, images, and any other components in the main view display together without delays or missing information.

> Enable this only if your product page truly needs it; otherwise, it may lead to deoptimization.

#### Enable lazy rendering of the page footer

This action renders the page footer and loads its assets lazily, which helps improve performance when first rendering the page.

#### Enable lazy loading of assets below the fold

This action enables lazy loading of the JavaScript files of the components below the `_fold_` block. This keeps the initial load fast and reduces unnecessary bandwidth usage for users who never scroll.

#### Enable page number in meta title

This option adds a `#{Number}` to the HTML title. This helps both users and search engines know exactly which page they're viewing and avoids duplicate titles, which can impact SEO.

> It's best suited for stores using traditional pagination. After enabling, review your page titles to make sure they remain clear and consistent.

#### Canonical URL without URL parameters

This action removes the map parameter from the canonical URL, so search engines focus on a single, clean address for each page.

> This may cause issues when visiting a page with selected facets. Test with caution after turning it on.

#### Remove store name from title

This action removes the store name from the end of page titles on product and category pages, resulting in shorter titles that may highlight product keywords better for SEO.

#### Enable custom currency symbol

This action uses the `Currency Symbol` field defined in the trade policy. This ensures that prices are displayed in the format and symbol your customers expect, which is especially important for international or multi-currency stores.

#### \[BETA\] Show sponsored products on search results

This action enables stores in the Retail Media Network (RMN) pilot to place advertiser-sponsored products alongside organic search results.

> This action is available only for stores that have joined the RMN pilot. For more information, email **[rmn@vtex.com](mailto:rmn@vtex.com)**.

#### Enable default browser navigation

Enabling this action means each store page loads separately with full reloads instead of rendering through the VTEX IO service app on the server (Render Runtime). This default browser navigation can be useful for troubleshooting or when experiencing issues with client-side routing.

> Full-page reloads are generally slower and consume more bandwidth than the standard VTEX navigation. Use this only when necessary for testing or for compatibility, and consider whether the change impacts user experience or conversion rates.

### Manual optimizations

In addition to the features configured in the VTEX Admin, you can apply manual optimizations directly in the project source code to enhance store performance.

#### Improving scrolling performance

Use the `__fold__` block for scrollable pages. This allows you to specify which interface components load initially (above the fold) and which are lazy-loaded as the user scrolls.

You can also use the `__fold__.experimentalLazyAssets` block to define which theme blocks should load statically upon the first user interaction.

Learn more about fold blocks in the guide [Lazy loading components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-using-the-fold-blocks).

> If you notice any side effects, [open a ticket with VTEX Support](https://read.calvincode.net/reader?url=https://help.vtex.com/en/support).

#### Reducing the number of menu blocks

If a menu block doesn't have a submenu, configure it to use `menu-item` blocks as props instead of children.

In the example below, the main `menu items` (Apparel & Accessories, Home & Decor, and More) can't be modified in their implementation. They must remain as children since they have a trigger to open a `submenu`.

![{"base64":"  ","img":{"width":1596,"height":318,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":24848,"url":"https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-io-documentation-best-practices-for-optimizing-performance-3.png"}}](https://read.calvincode.net/reader?url=https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-io-documentation-best-practices-for-optimizing-performance-3.png)

However, the internal `menu-items` (Clothing, Accessories, and Eyeglasses) can be changed from children to props.

Previously, each `menu-item` was set up as an individual child/block. With the change, the `menu-items` group, declared as props, is treated as a single block, represented by a blue square.

This approach reduces the number of blocks from 3 to 1, improving store performance.

Learn more about applying both configurations in the [Menu](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.menu) guide.

#### Adjusting image sizes

The size of images in your store directly impacts performance. To optimize image rendering, follow the practices outlined in the guide [Optimizing image rendering](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-best-practices-for-rendering-images/), focusing on the media types used in your theme.

#### Improving search results

To avoid performance issues on search results pages, use the `skusFilter` and `simulationBehavior` props. These props control the SKUs returned for each product in the search query, determining whether the displayed search data will be current (`skusFilter`) or retrieved from the cache (`simulationBehavior`).

We recommend setting `skusFilter` to `FIRST_AVAILABLE` to return only the first available SKU for each product, and `simulationBehavior` to `skip` to display search data from the cache.

Learn more about prop configuration in the [Search Result](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.search-result) app documentation.

#### Using lazy loading for sliders

Build the shelf and carousel blocks of your theme using the [Slider Layout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-building-a-carousel-using-slider-layout) component.

Slider Layout uses lazy loading to automatically load images and product information only when users interact with shelves or carousels, reducing page load time. However, having more products in these components may negatively impact website performance.

Learn more about using Slider Layout in the guides [Shelf](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-shelf/) and [Building a Carousel using Slider Layout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-building-a-carousel-using-slider-layout/).

Contributors

2

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F112641072%3Fv%3D4%26w=64%26q=75)](https://github.com/barbara-celi)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/vtex-io/Storefront-Guides/boosting-performance/vtex-io-documentation-enabling-performance-settings.md)

[Getting started with Lighthouse performance audit« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings//docs/guides/vtex-io-documentation-getting-started-with-lighthouse)[Tracking changes in Lighthouse performance scoreNext »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings//docs/guides/vtex-io-documentation-tracking-changes-in-lighthouse-performance-score)

Contributors

2

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F112641072%3Fv%3D4%26w=64%26q=75)](https://github.com/barbara-celi)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

ON THIS PAGE

[Instructions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23instructions)

[Step 1 - (Optional) Testing manual optimizations](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23step-1-optional-testing-manual-optimizations)[Step 2 - Applying changes in a production workspace](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23step-2-applying-changes-in-a-production-workspace)[Step 3 - Testing and analyzing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23step-3-testing-and-analyzing-performance)[Step 4 - Making your changes publicly available](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23step-4-making-your-changes-publicly-available)

[Optimization options](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23optimization-options)

[Store settings](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23store-settings)[Manual optimizations](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23manual-optimizations)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/vtex-io/Storefront-Guides/boosting-performance/vtex-io-documentation-enabling-performance-settings.md)

Copy page

On this page

ON THIS PAGE

[Instructions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23instructions)

[Step 1 - (Optional) Testing manual optimizations](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23step-1-optional-testing-manual-optimizations)[Step 2 - Applying changes in a production workspace](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23step-2-applying-changes-in-a-production-workspace)[Step 3 - Testing and analyzing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23step-3-testing-and-analyzing-performance)[Step 4 - Making your changes publicly available](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23step-4-making-your-changes-publicly-available)

[Optimization options](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23optimization-options)

[Store settings](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23store-settings)[Manual optimizations](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-enabling-performance-settings/docs/guides/vtex-io-documentation-enabling-performance-settings%23manual-optimizations)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)