---
title: "SEO for an Experience Cloud site"
url: "https://trailassembly.com/experience-cloud-seo/"
topic: "Admin and Permissions"
published: "2026-09-15T09:07:21+00:00"
updated: "2026-10-06T13:55:48+00:00"
---

# SEO for an Experience Cloud site

**The short answer:** only pages the [guest user](https://trailassembly.com/guest-user-security-model/) can see are indexable, and only pages you have explicitly marked as public and indexable end up in the generated sitemap. An LWR site renders on the server, so a crawler gets real HTML. An Aura site does not, and while search engines can execute JavaScript, they do it slowly and inconsistently, which is why Aura-based community content ranks badly no matter how good it is.

## What is actually indexable

Three conditions have to hold at once. The site must be active and public. The guest user must be able to load the page and read whatever data it displays. The page must be marked as public and indexable in its page properties in Experience Builder.

Miss the second and you get the worst outcome: the crawler indexes a page that renders an empty state, and that empty page is what appears in results. Test every candidate page in a private browser window, logged out, before you worry about anything else on this list.

## The sitemap

Salesforce generates a sitemap and serves it at the site root. You cannot write it by hand or add arbitrary URLs. It regenerates on a schedule rather than on publish, so a page you marked indexable this morning will not appear in it this afternoon.

Submit the sitemap URL in Google Search Console once, then treat Search Console as the source of truth. Experience Builder tells you what you asked for. Search Console tells you what happened.

## Object pages, which are the whole point

A knowledge base or a product catalogue is valuable in search precisely because it has thousands of pages. Those are object pages: one Lightning page template rendering many records.

To get them indexed you tell the site which records exist, by nominating a [list view](https://trailassembly.com/salesforce-list-views-and-filters/) for the object in the SEO settings. The sitemap generator walks that list view and writes a URL per record. Two consequences follow. The list view filter is now an SEO decision, so an “All” list view with a filter someone tightens for an unrelated reason will quietly drop pages out of the index. And records the guest user cannot read produce URLs that crawl to an empty page, so the list view and the guest sharing rule need to agree.

Per-record metadata comes from fields on the record. Bind the page title and meta description to record fields, or every page in the catalogue competes with itself under one static title.

## URLs, redirects and head markup

- **The path prefix.** Sites sit under a prefix by default, and LWR sites add a segment of their own. Map a custom domain and set the prefix deliberately, because changing it later invalidates every indexed URL you have.

- **Redirects.** Experience Builder supports URL redirects with a permanent or temporary type. Use permanent when you move a page. This is the only redirect mechanism you get, so plan migrations around what it can express.

- **Head markup.** Canonical tags, Open Graph tags and structured data go here. It is also where people put tag managers, which is a good way to make a fast page slow.

- **robots.txt.** Editable in the site’s SEO administration. Check what is in it before assuming the problem is elsewhere.

## The limits of a JavaScript-rendered site

Be honest about this when you scope a project. On an Aura template the initial HTML response contains almost no content. Everything the user reads arrives after the framework boots and the components fetch their data. Crawlers that render JavaScript will eventually see it, but rendering is queued and budgeted, and pages compete for that budget against the rest of the web.

If organic search is a business requirement, build on LWR, or serve the content from something that is not a community at all and keep the site for the authenticated experience. Retrofitting SEO onto an Aura site mostly does not work.

## Frequently asked

**Why is my page in the sitemap but not in Google?** A sitemap is a suggestion. Search Console usually reports the page as crawled and not indexed, which means thin content, a near-duplicate, or an empty render for the guest user.

**Can I control the meta description per record?** Yes, by binding the page’s SEO properties to record fields. A field that is blank on most records gives you blank descriptions, so pick one that is reliably populated or build a formula field for it.

**Does a login-required page ever get indexed?** No, and it should not. If content needs to rank, it needs a public version. Gating the whole site and hoping is a common and costly mistake.

**How do I handle multiple languages?** Language variants produce separate URLs. Add hreflang tags through head markup so the variants are treated as alternates rather than duplicates.

---

Source: https://trailassembly.com/experience-cloud-seo/
Trail Assembly — independent Salesforce write-ups.
