Site Structure | MuleSoft Documentation
# Site Structure
The structure of your Salesforce Experience Cloud site is defined by your site pages, the Lightning components contained in each, and the links between them. You can define your own site structure and user journeys throughout your site with these elements, tailored to your specific needs and desires.
## Typical Site Structure
To configure your site according to the typical site structure, organize it into these pages:
  * Home page
Contains welcome information (**Rich Text** component or **HTML** component), selected APIs and API groups (**API Carousel** component), news and announcements (**CMS Collection** component), and the main search bar (**ACM Search Box** component).
  * Login page
Allows a member to log in to your community, or go to the registration page if they are not already a member (**Login Form** component).
  * Registration page
Allows a guest user to register as a member in your community (**Self Register** component).
  * Search results page
Shows results of searches in the community (**ACM Search Results** component). Each search result links to the appropriate page based on the type of the element, such as a content article page, an API details page, or others.
  * News list page
Contains a list of the different content articles, such as news or announcements (**CMS Collection** component).
  * News detail page
Displays the full content of a specific content article (**CMS Single Item** component).
  * APIs and API groups catalog page
Contains the full catalog of APIs and API groups available in your site, for consumers to explore and discover (**API Catalog** component).
  * API and API groups details page
Displays the documentation and technical content of an API or API group, including the API console and a way to request access to the API. The content of this page is tailored to the type of object being accessed by using _page variations_. You can find more information about page variations in the Salesforce Experience Cloud documentation page Manage Your Site’s Pages and Their Properties in Experience Builder.
    * Individual API page variation
This default page variation is used when an API object is opened from the **API Card** , **API Carousel** , or **API Catalog** components.
The API page variation includes:
      * The API name, icon, and description (**API Header** component)
      * The API’s markdown documentation from Exchange (**API Documentation Viewer** component)
      * The API spec (**API Console** component)
      * The API’s custom fields and their values (**API Custom Field Table** or **API Custom Field Pills** component)
      * Links to download the API spec (**Spec Downloader** component)
      * The button to request access (**API Access Requester** component)
      * The number of likes and subscriptions for an API and enables users to like and subscribe to the API (**API Engagement** component)
    * API group page variation
This page variation displays an API group when an API group object is opened from the **API Card** , **API Carousel** , or **API Catalog** components.
The API group page variation includes:
      * The API group name, icon, and description (**API Header** component)
      * The API group’s markdown documentation from Exchange (**API Documentation Viewer** component)
      * An API carousel displaying the APIs that are part of this API group (**API Carousel** component, with the **Show** setting configured for **Children**)
      * The button to request access to the API group (**API Access Requester** component)
      * The number of likes and subscriptions for an API and enables users to like and subscribe to the API (**API Engagement** component)
To configure this variation, see the section Configure the API Group Page Variation
  * API marketing pages
These pages are optional. Each page displays content specific to an individual API or API group (**Rich Text** component or **HTML** component). Use one page for each API or API group as required. Each page is explicitly configured on the API or API group details in the community control panel as described in the **Publish APIs** page of the API Community Manager documentation.
  * My applications page
Displays the member’s client applications (**Application Listing** component).
  * Applications detail page
Displays details about one client application (**Application Details** component).
  * Forums page
Displays components for discussion forums (**Feed** component).
  * Member profile page
Displays member profile information and allows the member to update their details (**User Profile** component). The page also shows users their API subscriptions and provides the option to unsubscribe from each API (**User Settings and User Subscriptions** component).


## Configure the API Group Page Variation
To configure this variation, assign a new audience to this page variation for the API group record type:
  1. In Experience Builder, use the page selector at the top left to open the **Community API Details** page.
  2. Click the gear icon next to the page name to open the page properties.
  3. Click the **Page variations** tab.
  4. Click **New page variation**.
  5. Select your preferred layout.
  6. Click **Next**.
  7. Enter a name for the new variation, such as **API Group**.
  8. In the new page variation that displays, click the gear icon next to the page name to open the page properties.
  9. Click the **Page variations** tab.
  10. On the line item for your new page variation, click the context menu.
  11. Under the **Audience** section, click **Assign**.
  12. Select **New audience**.
  13. Enter an audience name such as **API Group record type**.
  14. Complete the **Audience Criteria** section with these values:
     * **Criteria type** : **Record > CommunityApi > Record Type > Name**
     * **Operator** : **equals**
     * **Value** : **ApiGroup**
  15. Click **Save** and **Assign**.
  16. After the new audience is assigned, use the components palette to add the desired components to your page variation.


In the builder, the API Details button always shows the default variation, but when previewing as a guest, when previewing as an authenticated user, and in the published community, the button shows the correct variation.
## See Also
  * Description of API Community Manager Lightning Components
  * Site Look-and-Feel Customization
  *