experience-cloud-site-setup
Use when creating a new Experience Cloud site: selecting LWR vs Aura template, configuring branding and navigation, setting up a custom domain, and using Experience Builder. Trigger keywords: create new Experience Cloud site, LWR vs Aura template, set up community portal domain, Experience Builder page builder, branding sets, navigation menu configuration, Microsite LWR, Build Your Own LWR. NOT for internal Lightning apps, Lightning App Builder configuration, or Flow orchestration inside an existing site.
Best use case
experience-cloud-site-setup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when creating a new Experience Cloud site: selecting LWR vs Aura template, configuring branding and navigation, setting up a custom domain, and using Experience Builder. Trigger keywords: create new Experience Cloud site, LWR vs Aura template, set up community portal domain, Experience Builder page builder, branding sets, navigation menu configuration, Microsite LWR, Build Your Own LWR. NOT for internal Lightning apps, Lightning App Builder configuration, or Flow orchestration inside an existing site.
Teams using experience-cloud-site-setup should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/experience-cloud-site-setup/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How experience-cloud-site-setup Compares
| Feature / Agent | experience-cloud-site-setup | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when creating a new Experience Cloud site: selecting LWR vs Aura template, configuring branding and navigation, setting up a custom domain, and using Experience Builder. Trigger keywords: create new Experience Cloud site, LWR vs Aura template, set up community portal domain, Experience Builder page builder, branding sets, navigation menu configuration, Microsite LWR, Build Your Own LWR. NOT for internal Lightning apps, Lightning App Builder configuration, or Flow orchestration inside an existing site.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Experience Cloud Site Setup Use this skill when a practitioner needs to create a new Experience Cloud site from scratch: selecting the right template (LWR vs Aura), configuring branding and navigation menus, setting up a custom domain, and using Experience Builder to manage the page structure. This skill covers the site creation and initial configuration lifecycle — not ongoing content authoring or Flow orchestration inside an established site. --- ## Before Starting Gather this context before working on anything in this domain: - **Edition requirement:** Experience Cloud site creation requires Enterprise, Performance, Unlimited, or Developer edition. Confirm the org edition before proceeding. - **Template choice is permanent:** Once a site is created with a specific template, the template cannot be changed. Changing the template requires recreating the site from scratch. This is the most consequential pre-creation decision. - **Component library constraint:** LWR-based templates (Build Your Own LWR, Microsite LWR) support Lightning Web Components only. The legacy Aura-based Build Your Own template supports both Aura and LWC but lacks the performance optimizations LWR provides. Confirm which components are already built or planned before choosing a template. - **My Domain requirement:** A custom branded domain on the pattern `MyDomainName.my.site.com` requires My Domain to be configured and deployed in the org. Verify this is in place before custom domain setup. - **LWR publish model:** LWR sites freeze component trees at publish time, enabling HTTP caching. Edits require an explicit republish to go live. Practitioners accustomed to Aura sites often miss this. --- ## Core Concepts ### LWR vs Aura Template Selection Experience Cloud offers two primary template families. The choice is permanent post-creation. **LWR templates (Build Your Own LWR, Microsite LWR):** - Built on Lightning Web Runtime. Support LWC components exclusively — Aura components cannot be added. - Pages are frozen at publish time. This enables HTTP caching of the full rendered page, giving superior performance at scale. - Support clean URL paths (e.g., `/products`, `/account`) without the `/s` prefix that Aura sites require. - Branding is controlled through `--dxp-*` CSS custom properties (styling hooks) and branding sets. - Microsite LWR is optimized for small, focused public-facing sites (marketing landing pages, microsites). Build Your Own LWR is the general-purpose LWR template. **Legacy Aura template (Build Your Own):** - Supports both Aura and LWC components in the same site. - Does not use publish-time freezing; changes become visible more dynamically. - URL paths require the `/s` prefix (e.g., `/s/products`). - Branding through Experience Builder theme panel rather than CSS custom properties. - Use this template only when Aura components that cannot be migrated are required. **Partner Central and Customer Account Portal templates:** - Pre-configured Aura-based templates for specific use cases. Include standard navigation, record detail pages, and case deflection patterns out of the box. - Faster to stand up for standard partner/customer workflows but less flexible for custom branding. ### Custom Domain Configuration Experience Cloud sites are accessed via a URL on the pattern `MyDomainName.my.site.com/site-path`. The subdomain is set by My Domain in org settings. The site path is set per-site during creation and cannot be changed after the site goes active. For LWR sites, clean URL paths work without the `/s` prefix. Aura sites append `/s` to all page paths automatically. This distinction matters when sharing deep links or setting up redirects. ### Experience Builder and Branding Experience Builder is the drag-and-drop page editor for Experience Cloud. It manages pages, navigation menus, site settings, and branding. For LWR sites: - **Branding sets** define tokens (colors, typography, spacing) applied site-wide. - **`--dxp-*` CSS custom properties** are the styling hooks used in LWR themes. Component CSS should consume these tokens rather than hardcoded values, so branding changes propagate across the entire site. - Navigation menus are configured in Experience Builder under the Navigation section and support nested items, labels, and access-controlled items (visible only to logged-in users or specific profiles). ### Publish Model and Cache Implications LWR sites use a publish-time freeze model. When you publish: 1. Component trees are resolved and frozen. 2. Pages are cached via HTTP caching at the CDN layer. 3. Visitors receive the cached version until the next publish. Any change to a page, component, or branding requires an explicit republish. Forgetting to republish is the most common reason practitioners report that changes "did not go live." --- ## Common Patterns ### Pattern: New Customer Portal with LWR Template **When to use:** Building a net-new self-service customer portal where all components are LWC-based or will be built as LWC. Performance at scale is a priority. **How it works:** 1. In Setup, navigate to Digital Experiences > All Sites > New. 2. Select Build Your Own (LWR) template. 3. Name the site and set the URL path (e.g., `portal`). The full URL becomes `MyDomainName.my.site.com/portal`. 4. Once the site is created, open Experience Builder. 5. Define branding tokens in the Branding Set editor. Set `--dxp-color-brand`, `--dxp-color-background`, and font tokens. 6. Configure navigation menus: add top-level items, set visibility rules (public vs authenticated). 7. Build or assign custom LWC pages using the Page Manager. 8. Publish the site. Verify the published URL resolves correctly. **Why not Aura:** Aura templates lack publish-time HTTP caching. For high-traffic portals, the LWR CDN caching model significantly reduces server load and page load times. ### Pattern: Partner Community with Pre-Built Template **When to use:** Standing up a partner portal quickly using standard partner workflows (deal registration, lead sharing, channel dashboards) without heavy custom branding. **How it works:** 1. Select the Partner Central template during site creation. 2. Enable the Partner Community license on the relevant profiles. 3. Configure sharing settings for Opportunities, Leads, and Accounts as needed. 4. Use Experience Builder to adjust navigation and page layout without full custom builds. 5. Customize branding through the Experience Builder theme panel. **Why not Build Your Own:** Partner Central ships with pre-wired pages for partner-specific objects. Starting from scratch duplicates work that the template handles automatically. --- ## Decision Guidance | Situation | Recommended Approach | Reason | |---|---|---| | All components are LWC, performance matters | Build Your Own (LWR) | Publish-time freeze enables HTTP caching; clean URL paths | | Must include existing Aura components that cannot be migrated | Build Your Own (Aura) | Only template supporting Aura components | | Small marketing landing page or microsite | Microsite (LWR) | Lightweight LWR template optimized for minimal, focused public sites | | Standard partner portal with deal registration | Partner Central | Pre-built pages for partner workflows; faster time to value | | Standard customer self-service portal | Customer Account Portal | Pre-built case and account pages; appropriate for straightforward use cases | | Unsure — new build, greenfield | Build Your Own (LWR) | LWR is the strategic direction; Aura templates are not receiving new investment | --- ## Recommended Workflow Step-by-step instructions for an AI agent or practitioner working on this task: 1. **Confirm prerequisites:** Verify org edition (Enterprise, Performance, Unlimited, or Developer), confirm My Domain is deployed, and inventory all components the site will use (LWC only vs any Aura components). Template selection depends on this inventory. 2. **Select and create the site:** In Setup > Digital Experiences > All Sites > New, choose the appropriate template based on the decision table above. Set the site name and URL path — the path cannot be changed after the site is activated. 3. **Configure branding in Experience Builder:** For LWR sites, open the Branding Set editor and define `--dxp-*` CSS custom property tokens (brand color, background, typography). For Aura sites, use the theme panel. Apply a logo via Site Settings. 4. **Build navigation menus:** In Experience Builder, open the Navigation section. Create the primary navigation menu. Set item visibility (public, authenticated, profile-specific) for each item. Add secondary or footer menus as required. 5. **Assign and configure pages:** Use Page Manager to create or assign custom pages. For LWR sites, add LWC components to page regions via the component panel. Configure component properties and verify mobile responsiveness. 6. **Publish and validate:** Click Publish in Experience Builder. Verify the site resolves at the expected URL (`MyDomainName.my.site.com/path`). Confirm branding, navigation, and page content render correctly. Test with both guest and authenticated user sessions. --- ## Review Checklist Run through these before marking work in this area complete: - [ ] Template selection documented and confirmed as appropriate for component inventory - [ ] Site URL path set correctly — confirm it cannot be changed and matches requirements - [ ] My Domain is deployed; custom domain pattern (`MyDomainName.my.site.com`) resolves - [ ] Branding tokens (`--dxp-*` for LWR, theme panel for Aura) applied and consistent with brand guidelines - [ ] Navigation menus configured with correct visibility rules (public vs authenticated items) - [ ] Site published after all changes — not just saved - [ ] Guest user profile permissions set correctly for public pages - [ ] Site tested with both unauthenticated (guest) and authenticated user sessions --- ## Salesforce-Specific Gotchas Non-obvious platform behaviors that cause real production problems: 1. **Template is permanent post-creation** — Once a site is created with a given template, there is no "change template" option. To switch from Aura to LWR (or vice versa), the site must be deleted and recreated. Any customizations, pages, and navigation configuration must be rebuilt from scratch. Always confirm the template before creation. 2. **LWR requires explicit republish** — Changes made in Experience Builder on an LWR site (including branding and component edits) do not go live until the site is republished. The site serves the last published version from cache. Practitioners coming from Aura expect changes to appear immediately; on LWR they do not. 3. **Aura components cannot be used in LWR sites** — The LWR template component panel only exposes LWC-compatible components. Attempting to use an Aura component in an LWR site will fail silently (the component simply will not appear in the picker). The fix is to migrate the component to LWC or switch to an Aura-based template. --- ## Output Artifacts | Artifact | Description | |---|---| | Published Experience Cloud site | Live site accessible at `MyDomainName.my.site.com/path` with correct template, branding, and navigation | | Branding set configuration | LWR branding tokens (`--dxp-*` CSS custom properties) or Aura theme panel settings defining the site's visual identity | | Navigation menu structure | Primary (and optional secondary/footer) menus with visibility rules configured in Experience Builder | | Site setup checklist | Completed template from `templates/experience-cloud-site-setup-template.md` documenting decisions and configuration | --- ## Related Skills - flow-for-experience-cloud — Use when adding Flow screens or automation to pages within an already-created Experience Cloud site - lwc-for-experience-cloud — Use when building custom LWC components intended for placement in an LWR site
Related Skills
shield-kms-byok-setup
Configure Shield Platform Encryption with customer-supplied (BYOK) or customer-held (Cache-Only Key Service) tenant secrets, rotate them, and recover. NOT for Classic Encryption or field masking.
experience-cloud-security
Use when configuring access controls, sharing, or site security for authenticated or guest Experience Cloud (community) users: external OWD, Sharing Sets, Share Groups, CSP, clickjack protection, guest user record access. NOT for internal sharing model configuration (use sharing-and-visibility).
lwr-site-development
Use this skill when building or customizing sites on the Lightning Web Runtime (LWR) in Experience Cloud — including component authoring, custom theming with --dxp hooks, layout components, and publish lifecycle management. Trigger keywords: build LWR site Experience Cloud, Lightning Web Runtime custom theme, LWR component development community, Build Your Own LWR template, Microsite LWR, lightningCommunity__Theme_Layout, --dxp styling hooks. NOT for Aura-based communities (Build Your Own Aura template). NOT for standard Experience Builder drag-and-drop configuration without code.
headless-experience-cloud
Use when building custom frontends (React, Vue, mobile, static sites) that consume Salesforce CMS content via the Connect REST API headless delivery endpoint. Triggers: 'headless Salesforce CMS', 'deliver CMS content to external frontend', 'React app Salesforce content API', 'custom frontend Experience Cloud data', 'CMS delivery channel API'. NOT for standard Experience Builder site development. NOT for CMS Connect (3rd-party CMS federation into Experience Builder). NOT for Experience Cloud LWC components rendered inside a site.
experience-cloud-search-customization
Use this skill when configuring or extending search on an Experience Cloud site — covering Search Manager scope configuration, LWR vs Aura search component selection, federated search setup, guest user search access, and custom search result components. NOT for SOSL/SOQL query development. NOT for internal Salesforce global search or Einstein Search for agents.
experience-cloud-multi-idp-sso
Use this skill when configuring multiple identity providers (OIDC and/or SAML) on a single Experience Cloud site or across tenant-specific portals in the same org — covering auth provider registration, Start SSO URL routing, Federation ID mapping, RegistrationHandler implementation, and simultaneous SP+IdP topology. Trigger keywords: multiple identity providers Experience Cloud, multi-tenant SSO community portal, vendor and citizen portal same site, OIDC SAML both on login page, tenant-specific login routing community. NOT for internal Salesforce employee SSO configuration. NOT for single auth provider setups — see experience-cloud-authentication for basic SSO.
experience-cloud-lwc-components
Use when building custom LWC components for Experience Cloud (Experience Builder sites, LWR portals, Aura-based communities). Covers community context imports, guest user Apex access patterns, navigation API differences between LWR and Aura, and JS-meta.xml target configuration for Experience Builder exposure. NOT for internal LWC components deployed to Lightning App Builder or standard record pages (see lwc/lwc-development). NOT for Aura community components. Trigger keywords: build LWC for Experience Cloud, custom component community portal LWC, guest user LWC component, community context import salesforce, lightningCommunity target, @salesforce/community, guest Apex.
experience-cloud-authentication
Use when building custom login pages, social SSO flows, self-registration flows, or passwordless OTP login for Experience Cloud (community) sites. Trigger keywords: custom login page Experience Cloud, social SSO community portal, passwordless login Experience Cloud, self-registration custom flow, headless authentication community, auth provider OIDC SAML site. NOT for internal SSO configuration (use identity/sso skills). NOT for standard username/password authentication with no customization.
experience-cloud-api-access
Use this skill when configuring or troubleshooting API access for Experience Cloud external users and guest users: guest user Apex data access, Customer Community Plus or Partner Community REST/SOAP API access, external user OAuth scopes, and sharing enforcement on API responses. Trigger keywords: Experience Cloud API access external user, community user REST API, guest user API limits, Customer Community API permissions, external user OAuth. NOT for internal Salesforce API authentication, non-community OAuth flows, or internal user API security.
slack-salesforce-integration-setup
Use this skill when setting up or troubleshooting the Salesforce for Slack managed app — including connecting a Salesforce org to a Slack workspace, configuring the three-party admin handshake, linking Slack channels to Salesforce records, enabling record preview sharing, and managing org-level limits. Triggers on: Salesforce for Slack app not connecting, Slack org connection setup, Salesforce record sharing in Slack, Slack workspace admin approval, connecting Salesforce to Slack. NOT for building custom Slack apps or Slack bots (separate development platform), not for Slack Workflow Builder Salesforce connector (use slack-workflow-builder skill), not for Flow-based Slack messaging (use flow-for-slack skill).
salesforce-maps-setup
Use when configuring Salesforce Maps (formerly MapAnything) — territory planning, route optimization, live tracking, geo-grid visualizations, and check-in/check-out workflows for Sales or Service field reps not on Field Service. Covers package installation order (Maps + Maps Advanced + Maps Routing/Live Tracking add-ons), the MapsTerritoryPlan / MapsAdvancedRoute / MapsLayer object family, base-data syncs (Geocoding and Routing services), and integration with Sales and Service Cloud records. Triggers: 'Salesforce Maps setup', 'MapAnything migration', 'territory planning by polygon', 'route optimization for sales reps', 'live tracking field reps', 'plot accounts on a map', 'check-in to the closest account'. NOT for Field Service Lightning territory and scheduling (use admin/fsl-scheduling-optimization-design and data/fsl-territory-data-setup) — Maps and FSL are different products. NOT for Consumer Goods Cloud retail visit planning (use admin/consumer-goods-cloud-setup) — RoutePlan/Visit objects are CG-specific. NOT for Tableau / CRM Analytics geo charts.
private-connect-setup
Configure Private Connect between Salesforce and AWS/Azure for traffic to stay on private networks. NOT for standard internet callouts.