> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

## Resource: Properties

## Article: Properties

## Article Link: https://dev.wix.com/docs/sdk/site-sdk/pages-and-navigation/pages/properties.md

## Article Content:

import { Property, PropertyList, ExpandableSection, RequestResponseExamples } from "@wix/docs-ui/content";

{/* Generated by @wix/tw-typedoc-to-wix-docs from packages/site-service-pages/src/definition/index.ts. Do not edit this file directly — edit the TSDoc in the source package. */}

# Pages Properties

## currentPage

**Type:** `Page` (read-only)

Page that's currently displayed.

Don't change its fields. Every component on the page reads the same object, so a change shows in all of
them, and the site doesn't save it.

<ExpandableSection name="Child Properties">
  <PropertyList>
    <Property name="appDefinitionId" type="string">
      ID of the app that this page belongs to. This is the app's `appDefinitionId`.

      Available only for a page that belongs to an installed app.
    </Property>
    <Property name="appPageId" type="string">
      App page ID of this page.

      The ID stays the same across sites, even though a Wix user can change the page's path. It's unique
      only within its app, so another installed app can use the same ID. To identify an app's page, check
      `appDefinitionId` too.

      Available only for a page that belongs to an installed app.
    </Property>
    <Property name="id" type="string" required>
      Page ID.
    </Property>
    <Property name="parentPageId" type="string">
      ID of this page's parent page in the site's page structure.

      Undefined if the page doesn't have a parent page.
    </Property>
    <Property name="parentSlug" type="string">
      Slug of this page's parent page in the site's page structure.

      Undefined if the page doesn't have a parent page.
    </Property>
    <Property name="path" type="string" required>
      Page path, relative to the site root URL.

      For a nested page, the path usually starts with its parent page's path, such as `collections/spring`.
      When a Wix user turns off URL hierarchy in the site's SEO settings, the path is just the page's own
      slug, such as `spring`. To find a page's parent, use `parentSlug`, not the path.

      To build the page's URL, join the site root URL and the path with a single `/`.
    </Property>
    <Property name="popup" type="boolean" required>
      Whether the page is a popup.

      The `pages` map includes popups, so filter on this value before building links or navigation.
    </Property>
    <Property name="slug" type="string" required>
      Page slug, the page's own segment of its URL, as a Wix user set it in the page's SEO settings.

      The slug is unique across the site, including popups, so use it to find a page in the `pages` map or
      to compare two pages. A Wix user can change it, and a multilingual site can translate it, so don't
      store it. To identify an app's page across sites, use `appPageId` and `appDefinitionId`.
    </Property>
    <Property name="title" type="string" required>
      Page title, as a Wix user named the page in the editor.
    </Property>
  </PropertyList>
</ExpandableSection>

### Example

```json
{
  "id": "c1dmp",
  "title": "Shop",
  "slug": "shop",
  "path": "shop",
  "popup": false
}
```

---

## mainPage

**Type:** `Page` (read-only)

Main page, the page a site visitor reaches at the site root URL.

A Wix user chooses which page this is. To check whether the page that's currently displayed is the
main page, compare `currentPage.slug` with `mainPage.slug`.

Don't change its fields. Every component on the page reads the same object, so a change shows in all of
them, and the site doesn't save it.

<ExpandableSection name="Child Properties">
  <PropertyList>
    <Property name="appDefinitionId" type="string">
      ID of the app that this page belongs to. This is the app's `appDefinitionId`.

      Available only for a page that belongs to an installed app.
    </Property>
    <Property name="appPageId" type="string">
      App page ID of this page.

      The ID stays the same across sites, even though a Wix user can change the page's path. It's unique
      only within its app, so another installed app can use the same ID. To identify an app's page, check
      `appDefinitionId` too.

      Available only for a page that belongs to an installed app.
    </Property>
    <Property name="id" type="string" required>
      Page ID.
    </Property>
    <Property name="parentPageId" type="string">
      ID of this page's parent page in the site's page structure.

      Undefined if the page doesn't have a parent page.
    </Property>
    <Property name="parentSlug" type="string">
      Slug of this page's parent page in the site's page structure.

      Undefined if the page doesn't have a parent page.
    </Property>
    <Property name="path" type="string" required>
      Page path, relative to the site root URL.

      For a nested page, the path usually starts with its parent page's path, such as `collections/spring`.
      When a Wix user turns off URL hierarchy in the site's SEO settings, the path is just the page's own
      slug, such as `spring`. To find a page's parent, use `parentSlug`, not the path.

      To build the page's URL, join the site root URL and the path with a single `/`.
    </Property>
    <Property name="popup" type="boolean" required>
      Whether the page is a popup.

      The `pages` map includes popups, so filter on this value before building links or navigation.
    </Property>
    <Property name="slug" type="string" required>
      Page slug, the page's own segment of its URL, as a Wix user set it in the page's SEO settings.

      The slug is unique across the site, including popups, so use it to find a page in the `pages` map or
      to compare two pages. A Wix user can change it, and a multilingual site can translate it, so don't
      store it. To identify an app's page across sites, use `appPageId` and `appDefinitionId`.
    </Property>
    <Property name="title" type="string" required>
      Page title, as a Wix user named the page in the editor.
    </Property>
  </PropertyList>
</ExpandableSection>

### Example

```json
{
  "id": "m4rw8",
  "title": "Home",
  "slug": "home",
  "path": "home",
  "popup": false
}
```

---

## pages

**Type:** `{ [pageId: string]: PageConfig }` (read-only)

Every page on the site, keyed by page ID.

The values don't include an `id`. Use the key as the page's ID. To find a page by its slug, search the
values: `Object.values(pages).find((page) => page.slug === slug)`.

Don't change the map or its pages. Every component on the page reads the same map, so a change shows in
all of them, and the site doesn't save it.

<ExpandableSection name="Child Properties">
  <PropertyList>
    <Property name="appDefinitionId" type="string">
      ID of the app that this page belongs to. This is the app's `appDefinitionId`.

      Available only for a page that belongs to an installed app.
    </Property>
    <Property name="appPageId" type="string">
      App page ID of this page.

      The ID stays the same across sites, even though a Wix user can change the page's path. It's unique
      only within its app, so another installed app can use the same ID. To identify an app's page, check
      `appDefinitionId` too.

      Available only for a page that belongs to an installed app.
    </Property>
    <Property name="parentPageId" type="string">
      ID of this page's parent page in the site's page structure.

      Undefined if the page doesn't have a parent page.
    </Property>
    <Property name="parentSlug" type="string">
      Slug of this page's parent page in the site's page structure.

      Undefined if the page doesn't have a parent page.
    </Property>
    <Property name="path" type="string" required>
      Page path, relative to the site root URL.

      For a nested page, the path usually starts with its parent page's path, such as `collections/spring`.
      When a Wix user turns off URL hierarchy in the site's SEO settings, the path is just the page's own
      slug, such as `spring`. To find a page's parent, use `parentSlug`, not the path.

      To build the page's URL, join the site root URL and the path with a single `/`.
    </Property>
    <Property name="popup" type="boolean" required>
      Whether the page is a popup.

      The `pages` map includes popups, so filter on this value before building links or navigation.
    </Property>
    <Property name="slug" type="string" required>
      Page slug, the page's own segment of its URL, as a Wix user set it in the page's SEO settings.

      The slug is unique across the site, including popups, so use it to find a page in the `pages` map or
      to compare two pages. A Wix user can change it, and a multilingual site can translate it, so don't
      store it. To identify an app's page across sites, use `appPageId` and `appDefinitionId`.
    </Property>
    <Property name="title" type="string" required>
      Page title, as a Wix user named the page in the editor.
    </Property>
  </PropertyList>
</ExpandableSection>

### Example

```json
{
  "m4rw8": {
    "title": "Home",
    "slug": "home",
    "path": "home",
    "popup": false
  },
  "c1dmp": {
    "title": "Shop",
    "slug": "shop",
    "path": "shop",
    "popup": false
  },
  "i9xk2": {
    "title": "Collections",
    "slug": "collections",
    "path": "collections",
    "popup": false
  },
  "t5nb6": {
    "title": "Spring Collection",
    "slug": "spring",
    "path": "collections/spring",
    "parentSlug": "collections",
    "parentPageId": "i9xk2",
    "popup": false
  },
  "q7hz3": {
    "title": "Side Cart",
    "slug": "side-cart",
    "path": "side-cart",
    "popup": true,
    "appPageId": "ecom_side_cart",
    "appDefinitionId": "1380b703-ce81-ff05-f115-39571d94dfcd"
  }
}
```