---
schema_version: "1"
id: 40311351d88a56949b5ef4f079d925f11bf128899cbcc930466b89c24d516df0
title: SEO for Experience Builder Sites FAQ
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/experience/264-0-0/networks_seo_faq.md
canonical_url: https://help.salesforce.com/s/articleView?id=experience.networks_seo_faq.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: b647f611bb123147f38e5b37a14ad560dbae8dc5cc95fde9c493b673e2946500
description: Answers to common questions about using SEO in your Experience Builder site.
products:
  - Experiences
release: "264"
---
# SEO for Experience Builder Sites FAQ

Answers to common questions about using SEO in your Experience Builder site.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Salesforce Classic and Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Performance</strong>, and <strong>Unlimited</strong> Editions</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Applies to: <a href="https://help.salesforce.com/s/articleView?id=experience.exp_cloud_basics_glossary.htm&amp;release=264.0.0&amp;type=5">LWR and Aura sites</a></td></tr></tbody></table>

Can I use SEO features on a sandbox org?

No, SEO features are supported on production orgs only.

Can I create a custom sitemap?

Don’t create custom sitemaps for Aura or LWR sites, as they’re difficult to maintain and scale. Instead, use the automatically generated sitemap.xml file.

How often is the sitemap generated?

If a site has been published, is active, and is public, the full sitemap is automatically generated one time a week, on Sunday. A partial sitemap refresh occurs every 24 hours and captures any changes made in the last day. You can [manually regenerate a sitemap one time every 24 hours](https://help.salesforce.com/s/articleView?id=experience.networks_manual_SEO_sitemap.htm&release=264.0.0&type=5 "When you go live with a new Experience Builder site or make significant updates to an existing one, you can generate a manual sitemap one time every 24 hours outside of the weekly automatic sitemap refresh.").

Can I manually generate a sitemap for my site?

If you go live with a new site or make significant changes to an existing site, you can [manually generate a sitemap](https://help.salesforce.com/s/articleView?id=experience.networks_manual_SEO_sitemap.htm&release=264.0.0&type=5 "When you go live with a new Experience Builder site or make significant updates to an existing one, you can generate a manual sitemap one time every 24 hours outside of the weekly automatic sitemap refresh.").

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-experience-communities-264-0-0-production-enus/bf7df212-91a1-4fa3-a007-4d6f3e3b470b/images/icon_tip.png)

Tip For the best experience, generate a manual sitemap during off-peak hours.

Why does the sitemap have references to other sitemaps?

The sitemap.xml file can contain only a limited number of URLs. For large sites, the sitemap is partitioned into multiple smaller sitemaps. These partitions organize the different public pages and objects in your site. Each partition is of the form sitemap-object-#.xml. The sitemap file also contains a partition called sitemap-object-weekly.xml. This partition contains new and updated pages from the current week, and is used for the daily partial sitemap refresh and the weekly sitemap generation. The sitemap-object-weekly.xml partition resets after that week’s sitemap generation.

Does the sitemap include URLs for object pages?

If an object’s detail page is public and you [enable read access for the object](https://help.salesforce.com/s/articleView?id=experience.networks_seo_object_access.htm&release=264.0.0&type=5 "When you make your site public, search engines can index the pages of your Experience Builder site. However, to ensure that you don't expose sensitive data, the data displayed by objects on those pages aren’t public. Instead, you must specifically make those objects and their associated fields publicly available for indexing by search engines."), the URL for the detail page is included in the sitemap. You can make an object's list page public separately and include it in the sitemap by [adding the page to the Navigation menu](https://help.salesforce.com/s/articleView?id=experience.rss_setup_nav_menu.htm&release=264.0.0&type=5 "The Navigation Menu component extends your site’s navigation beyond navigational topics. Navigation menu items can include Salesforce objects, topics, pages in your site, URLs to external sites, and menu labels. Menu labels are parent headings under which you can nest other menu items. You can also enable the App Launcher to make it easy for members to switch between their sites and their Salesforce org.") and then republishing your site. Related list pages are never included in the sitemap.

Why don’t I see the automatically generated robots.txt file when I navigate to https://<site\_URL>/robots.txt?

Your site must be at the root level of your custom domain for the robots.txt file to appear. If you don’t have a custom domain set up and you’re using the \*.force.com or \*.my.site.com domain, then a site without the path prefix must exist.

How do I change the indexing directives of the default robots.txt file?

You can [create a custom robots.txt file](https://help.salesforce.com/s/articleView?id=experience.networks_seo_configure.htm&release=264.0.0&type=5 "The robots.txt file for your site is automatically generated. It allows search engines to crawl your entire site. However, if you want to tell search engines not to crawl certain pages of your public site, you can create a custom robots.txt file.") to implement a rules-based method to control the visibility of specific areas of your site to search engines. Pages whose URLs you add to the Disallow section of a custom robots.txt file can still appear in search results. To hide a public site page from search results [use the noindex meta tag](https://help.salesforce.com/s/articleView?id=experience.networks_seo_tags.htm&release=264.0.0&type=5 "Set the title, description, and head properties for your Experience Builder site pages to improve search results.").

How is SEO supported for sites with multiple languages?

When multiple languages are added to a site, translation links are automatically added to each site page's head markup with <hreflang> link tags, according to Google's guidelines. The sitemap isn’t updated with additional translation links. You can't remove or disable the link tags, but you can configure unique SEO tags for each language.

Can I remove the /s/ from the default site URL in Aura sites?

No, the /s/ is required in the default URL for Aura sites. It’s not required for LWR sites.

Does each article have its own URL?

Yes, each article that appears in the Article Detail page has its own URL, which is retrieved from the Knowledge article’s URL Name field.

Article URLs use the format /article/:urlName. However, the article's recordId is available for use with components on the Article Detail page, like the Article Content component. The recordId on the page is set to the most recent Knowledge Article Version ID for a published article, uniquely defined by the URL Name and, if present, the translation language.

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-experience-communities-264-0-0-production-enus/bf7df212-91a1-4fa3-a007-4d6f3e3b470b/images/icon_tip.png)

Tip

- If your org has custom components that rely on the article's `urlName`, update the components to use `recordId` instead.
- If your org supports multilingual Knowledge articles, keep the same URL as the base language article. We don’t recommend replacing the URLs of translated articles with language-specific URLs.

Which bots are allowed to crawl Experience Builder sites, or get served their content snapshot?

- adsbot-google
- ask
- baidu
- bing
- chrome-lighthouse
- dotbot
- facebook
- facebot
- googlebot
- gsa-crawler
- linkedinbot
- rogerbot
- screaming frog
- slackbot
- slurp
- swiftbot
- twitterbot

Additionally, when you [enable generative engine optimization (GEO)](https://help.salesforce.com/s/articleView?id=experience.networks_seo_geo.htm&release=264.0.0&type=5 "To make public site pages more discoverable by AI-powered search engines and enhance the precision of generated answers, enable generative engine optimization (GEO) in Experience Builder. When you enable GEO, AI bots can request content snapshots of your site’s pages to generate answers more effectively."), these AI bots can receive static HTML snapshots of your site:

- GPTBot
- OAI-SearchBot
- ChatGPT-User
- ChatGPT-User/2.0
- Anthropic-AI
- ClaudeBot
- Claude-User
- Claude-SearchBot
- Google-NotebookLM
- PerplexityBot
- CCBot
- MistralAI-User

Why aren’t bots receiving the correct content when I use a CDN?

If you serve your Experience Builder site through a third-party CDN and bots aren’t receiving the expected content, check your CDN configuration.

- Forward the original `User-Agent` HTTP header to Salesforce. If the CDN removes or replaces this header, Salesforce can’t identify the request as a bot and serves the JavaScript version of the page instead of a content snapshot.
- Cache bot responses separately from site visitor responses, or don’t cache responses for bot traffic. If the CDN serves the same cached response to bots and visitors, bots can receive the JavaScript version of the page instead of a content snapshot.

For help with these settings, refer to your CDN provider documentation.

How do I verify that a bot is receiving a content snapshot?

When a page is available to bots, Salesforce serves a static HTML content snapshot instead of the JavaScript version of the page that site visitors see. Search engines and AI bots read this snapshot. Content snapshots are available on production orgs only.

To check whether a bot receives the snapshot:

- In Google Chrome, open Developer Tools. From Developer Tools, select **More tools** | **Network conditions**.
- Deselect **Use browser default**, and then enter a user-agent string for an allowed bot. To test an AI bot, first [Enable GEO to Make Site Pages More Discoverable by AI](https://help.salesforce.com/s/articleView?id=experience.networks_seo_geo.htm&release=264.0.0&type=5 "To make public site pages more discoverable by AI-powered search engines and enhance the precision of generated answers, enable generative engine optimization (GEO) in Experience Builder. When you enable GEO, AI bots can request content snapshots of your site’s pages to generate answers more effectively.").
- Reload the page. Right-click the page, and then select **View page source**. View page source shows the HTML that a bot receives. **Inspect** and the Elements panel show the live page after JavaScript runs.
- In the `&lt;head&gt;` of the page source, look for `&lt;meta name="x-sfdc-rendered-at" content="<varname>timestamp</varname>"&gt;`. If this tag is present, the bot is receiving the content snapshot. The timestamp shows the generation time of the snapshot.

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-experience-communities-264-0-0-production-enus/bf7df212-91a1-4fa3-a007-4d6f3e3b470b/images/icon_tip.png)

Tip Keep the following in mind when verifying whether or not a bot is receiving content.

- A `x-sfdc-rendered-at` tag confirms Salesforce is serving the snapshot, but it doesn't mean a search engine or AI bot has crawled or indexed the page. Pages are indexed on the provider's side. If the tag is present but the page still isn't appearing, reach out to your search/AI provider rather than Salesforce.
- Results can vary by CDN configuration, so a failing test doesn't necessarily mean snapshots are broken. For security reasons, some user agents are intentionally blocked by Salesforce CDN for testing. If a bot doesn't return the snapshot, try another allowed bot string. If you have a consistent failure, make sure the the CDN settings are set up correctly. look at the CDN settings in the previous question.

Can I update the title and add a description to articles to improve search engine results?

Each Knowledge article has a URL Name, a Title, and a Summary field. When the article’s displayed in the Article Detail page in Experience Builder, these fields are used for the page URL, the `title`, and `description` tags on the page `<head>`.

Are pages with non-standard URLs, such as custom vanity URLs or URLs that include query string parameters, supported for SEO?

No, pages with non-standard URLs aren’t included in the sitemap or content snapshots. Therefore, search engines can’t crawl or index those pages.

For example, instead of using standard pages to deliver dynamic data via URL parameters (/s/product?productId=12345), use object pages for the record pages to be crawled (s/product/12345).

How do I indicate that a version of a page is non-canonical?

When different versions of a page exist, search engines crawl only the canonical version of a page. To stop the search engine from arbitrarily choosing a URL as the canonical version of multiple pages, indicate that a page is a duplicate of another page (that is, non-canonical). To do so, [add a <link> element](https://help.salesforce.com/s/articleView?id=experience.networks_seo_tags.htm&release=264.0.0&type=5 "Set the title, description, and head properties for your Experience Builder site pages to improve search results."), with the attribute rel=canonical and point to the canonical page. For example, `<link rel="canonical" href="https://example.com/home" />`.

How are non-canonical URLs for object pages handled?

To improve your site’s SEO ranking, we redirect non-canonical URLs to canonical URLs using 301 redirects. A canonical URL lets you tell search engines that slightly different URLs, which all point to the same content, are actually the same thing. A 301 redirect indicates that a URL has been permanently moved, which is optimal for SEO.

For example, let’s say you add object pages for the Account object. In this case, the detail page has an object-specific Account Detail page and a generic Record Detail page. When site members access the generic Record Detail page (/s/detail/recordId), they’re permanently redirected to the canonical URL of the object-specific Account Detail page instead (/s/account/recordId). Similarly, 301 redirects are used for list and related list pages.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-experience-communities-264-0-0-production-enus/bf7df212-91a1-4fa3-a007-4d6f3e3b470b/images/icon_note.png)

Note URL redirects occur only when a URL is accessed directly from the browser URL bar or from a link that’s external to your site.

How are SEO-friendly URLs created for object detail pages?

To create a user-readable URL for the detail page of a standard or custom object, we append the value of the object’s Name field to the URL. For example, for AW Computing’s Account Detail page, we redirect https://mysite.com/s/account/001R0000002NzuaIAC to https://mysite.com/s/account/001R0000002NzuaIAC/aw-computing.

Where the Name field isn’t available, we use the Subject or Title fields. Otherwise, we append “detail” to the URL.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-experience-communities-264-0-0-production-enus/bf7df212-91a1-4fa3-a007-4d6f3e3b470b/images/icon_note.png)

Note The Case, Dashboard, Group, Report, and User Profile objects aren’t supported.

Can I use record names that contain special characters or spaces in my URLs?

Yes, but the system automatically replaces all characters that aren't unicode letters or numbers. Spaces are replaced with a single dash and the final URL is truncated to a max length.

How do I get analytics for material brought in using CMS Connect?

Remember, the content you display in your site when using CMS Connect (JSON) doesn’t live in your site. Getting usage data requires a few extra steps.

To configure External Objects for the data that you want to track, use [Reports](https://help.salesforce.com/s/articleView?id=platform.platform_connect_considerations_reports.htm&type=5&language=en_US) or [OData, Salesforce Reporting](http://www.salesforceben.com/salesforce-external-object-reports-using-odata/).

#### See Also

- [SEO for Experience Builder Sites](https://help.salesforce.com/s/articleView?id=experience.networks_seo.htm&release=264.0.0&type=5 "Search engine optimization (SEO) ensures that your public Experience Builder site is visible to search engines. SEO helps customers, partners, and visitors find your content via online search.")
- [Best Practices and Tips for Using SEO in Experience Builder Sites](https://help.salesforce.com/s/articleView?id=experience.networks_seo_best_practices.htm&release=264.0.0&type=5 "Follow these guidelines and best practices when optimizing SEO in your site.")
- [Best Practices and Considerations for Page-Level Access in Experience Builder](https://help.salesforce.com/s/articleView?id=platform.networks_page_level_best_practices.htm&type=5&language=en_US)