> 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: Site Extensions Reference

## Article: Site Extensions Reference

## Article Link: https://dev.wix.com/docs/site-extensions/overview/site-extensions-reference.md

## Article Content:

# Site Extensions Reference

Site extensions let you add your own UI and behavior to the live pages of a Wix site. They render alongside a site's own pages and widgets, so they become part of what visitors experience.

[<button class="wix-button">Learn more
</button>](https://dev.wix.com/docs/overview/extensions-framework/site-extensions/about-site-extensions.md)

Use site extensions to do the following:

- Add pages and components to a site: Use [site pages](https://dev.wix.com/docs/overview/extensions-framework/site-extensions/site-pages.md) for full pages, [site widgets](https://dev.wix.com/docs/overview/extensions-framework/site-extensions/site-widgets.md) for components Wix users place anywhere, and [Editor React components](https://dev.wix.com/docs/site-extensions/editor-react-components/about-editor-react-components.md) for widgets with the editor's own controls on [Studio Two](https://dev.wix.com/docs/studio-two/.md) and Wix Harmony sites.
- Extend Wix business solution pages: Use [site plugins](https://dev.wix.com/docs/overview/extensions-framework/site-extensions/site-plugins.md) to embed components in slots, which are placeholders Wix exposes on its business solution pages.
- Run scripts on a site: Use [embedded scripts](https://dev.wix.com/docs/site-extensions/embedded-scripts/about-embedded-scripts.md) to inject HTML or JavaScript into a site's pages.
- Share logic and data with components: Use [context providers](https://dev.wix.com/docs/site-extensions/context-providers/about-context-provider-extensions.md) and [function libraries](https://dev.wix.com/docs/site-extensions/function-libraries/about-function-libraries.md) to share data and reusable calculations for Studio Two sites.

## Before you begin

Before you begin, consider the following:

- The implementation and support for site extensions differ across Wix [development paths](https://dev.wix.com/docs/overview/platform-overview/development-paths.md), such as extending websites or building apps. Before you start, check your development path and project type to understand which functionality is available to you.
- Wix provides several extensions. Learn how to [choose an extension type](https://dev.wix.com/docs/overview/extensions-framework/choose-an-extension-type.md) for the functionality you intend to build.

## What's in this reference

This reference documents the files, code, and configuration needed to add a site extension to a [Wix CLI](https://dev.wix.com/docs/wix-cli/guides/about-the-wix-cli.md) project or a Studio Two site. Depending on the extension type, you may need to set up one or more of the following:

### Extension files

This reference documents the files your project generates when you add a site extension. The files and where they go depend on the extension type. For example, an embedded script has a configuration file and an HTML fragment that Wix injects into the page.

### Code

This reference documents the code you implement in the extension files. Depending on your project type and extension, you may need to implement the following:

- UI: What visitors see and interact with, such as pages and widgets.
- Functionality: What the extension does on a site. Use the [Site API](https://dev.wix.com/docs/sdk/host-modules/site/introduction.md) to access features of a live site, such as visitor consent, and [Wix APIs](https://dev.wix.com/docs/api-reference.md) to read and write data from Wix business solutions. Use the [Editor API](https://dev.wix.com/docs/sdk/host-modules/editor/introduction.md) in the settings panel of a site widget.
- [Manifest](https://dev.wix.com/docs/site-extensions/editor-react-components/manifest-reference/about-the-manifest.md): A configuration object that declares to the editor what Wix users can customize or connect to. For example, an Editor React component has a React component that renders the UI, and a manifest that lists which props Wix users can customize and which elements they can style.

### Authentication and permissions

This reference documents the identity your code runs as and the permissions it needs. Depending on your project and extension, you may need to consider the following:

- [Identity](https://dev.wix.com/docs/overview/auth-permissions/identities.md): Your code runs as the visitor or member viewing the page.
- Permissions: A call works only if that identity's permissions allow it and, for apps, the [permission scopes](https://dev.wix.com/docs/overview/auth-permissions/permissions.md) the app declares also allow it.
- Elevation: For some restricted methods, you must [elevate](https://dev.wix.com/docs/overview/auth-permissions/elevation.md) the call from backend code. Elevation runs the call with higher authorization than the visitor has.