---
title: Developing web parts
related:
  - https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-the-administration-using-portal-engine/using-and-configuring-web-parts.md
  - https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-the-administration-using-portal-engine.md
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

Web parts are components that provide a combination of content and functionality. They are the basic building blocks of [Portal Engine](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-the-administration-using-portal-engine.md) page templates used for the Xperience administration interface. You can [use web parts](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-the-administration-using-portal-engine/using-and-configuring-web-parts.md) to create the content of page templates in the **Administration interface** application, using the **Page templates -> Edit -> Design** interface.The term "web part" covers items on three levels:

| Code files          | On a technical level, web parts are [user controls](https://docs.microsoft.com/en-us/previous-versions/aspnet/y6wb1a0e\(v=vs.100\)) (_.ascx_ files) that inherit from an appropriate base class.                                                                                                                                                                                                            |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| System objects      | Web parts must be registered as objects in the system. The purpose of the objects is to:<br>Specify the path to the user control source file<br>Define the web part's [properties](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-web-parts/working-with-web-part-properties.md) and store other configuration options                                    |
| Template components | Web parts placed onto templates are called _web part instances_. You can create any number of instances of a single web part.<br>Instances must be inserted into web part zones, which are defined within the [layouts](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-the-administration-using-portal-engine/editing-page-layouts.md) of page templates. |

Xperience contains a number of web parts by default. You can [develop](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-web-parts/creating-new-web-parts.md) your own web parts or [modify](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-web-parts/customizing-web-parts.md) existing ones.
