---
title: Creating page types
related:
  - https://docs.kentico.com/k10/developing-websites/defining-website-content-structure/page-types/creating-content-only-page-types.md
  - https://docs.kentico.com/k10/developing-websites/defining-website-content-structure/page-types/creating-container-page-types.md
  - https://docs.kentico.com/k10/developing-websites/defining-website-content-structure/page-types/configuring-page-types/limiting-the-pages-users-can-create.md
  - https://docs.kentico.com/k10/developing-websites/defining-website-content-structure/page-types/configuring-page-types/extending-the-page-type-listing-filter.md
  - https://docs.kentico.com/k10/developing-websites/loading-and-displaying-data-on-websites/writing-transformations/creating-transformations-for-pages.md
  - https://docs.kentico.com/k10/custom-development/best-practices-for-customization.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).

This page describes how you can create page types. You can create new page types in the **Page types** application.

There are three 'types' of page types that you can create in Kentico:

- **[Standard page types](#creating-standard-page-types)** - use these to create template-based pages that form the structure of the site. Standard page types hold data in fields that you can fully customize.
- **[Content only page types](https://docs.kentico.com/k10/developing-websites/defining-website-content-structure/page-types/creating-content-only-page-types.md)** - suitable for pages [on MVC sites](https://docs.kentico.com/k10/developing-websites/developing-sites-using-asp-net-mvc.md) whose only task is to hold content, such as individual news articles. Content only pages aren't based on [page templates](https://docs.kentico.com/k10/developing-websites/managing-page-templates.md) and don’t contain presentation properties and tabs. This allows content editors to use the pages without unnecessary distractions.
- **[Container page types](https://docs.kentico.com/k10/developing-websites/defining-website-content-structure/page-types/creating-container-page-types.md)** - suitable for storing queries and transformations. Container page types don't contain any custom fields as they are created without a [coupled data table](https://docs.kentico.com/k10/custom-development/working-with-pages-in-the-api/page-database-structure.md).

## Creating standard page types

1. Open the **Page types** application.
2. Click **New page type**. A **New page type** wizard opens.

### Step 1

1. Fill in the values:
   - **Page type display name**: the system displays this name to users in the administration interface
   - **Namespace**: namespace distinguishes your page types from the default system types that use the _cms_ namespace.
   - **Name**: page type identifier appended to its namespace

     ![Filling the page type display name](https://docs.kentico.com/docsassets/k10/creating-page-types/step1_display_name.png "Filling the page type display name")

     > **Note:** **Important**
     >
     > When creating page types, always use a _**unique prefix (namespace)**_ and name.
     >
     > Never use the **cms**, **com**, **om** or **content** prefixes. The best option is to use your company name or an abbreviation as the prefix, for example: _ACME\_MyPageType_.
2. Click **Next**.

### Step 2

1. Enter a **Table name** for the database table that stores the page type data.
2. Enter a **Primary key name** for the table.
3. (Optional) Select if you want the page to **Inherit fields from** **page type**.
4. (Optional) Enable **Content only page type**.

   1. - Suitable for pages **on MVC sites** whose only task is to hold content, such as individual news articles. The pages don’t contain presentation properties and tabs. This allows content editors to use the pages without unnecessary distractions.\
        Note that you cannot convert 'Content only' page type to a standard page type later.![Specifying the page table name](https://docs.kentico.com/docsassets/k10/creating-page-types/step2_data_type.png "Specifying the page table name")

> **Info:** **The page is only a container without custom fields**
>
> Use the second option 'The page is only a container without custom fields' if you want to create a page type that doesn't contain any custom fields (Container page type). That is, a page page without a [coupled data table](https://docs.kentico.com/k10/custom-development/working-with-pages-in-the-api/page-database-structure.md). Container page types are suitable for storing queries and [transformations](https://docs.kentico.com/k10/developing-websites/loading-and-displaying-data-on-websites/writing-transformations/creating-transformations-for-pages.md) that are shared by multiple page types.

5. Click **Next**.

The wizard creates the database table.

### Step 3

Now, you need to define [fields](https://docs.kentico.com/k10/custom-development/developing-form-controls/reference-field-editor.md) of the page type (columns of the table). To define a page type field:

1. Click **New field**.
2. For each field, enter the values, click **Save** and repeat the procedure until you have defined all the listed fields.

   - **Field name**: ComputerName
   - **Data type**: Text
   - **Size**: 200
   - **Required:** yes (checked)
   - **Field caption**: Computer name
   - **Form control**: Text box

    

   - **Field name**: ComputerProcessorType
   - **Data type**: Text
   - **Size**: 200
   - **Field caption**: Processor type
   - **Form control**: Drop-down list
   - **Editing control settings -> Data source**: select **List of options** and enter the following items into the text area, one per line:

     ```text

     Athlon;Athlon
     Pentium XEON;Pentium XEON
     Pentium Core 2 Duo;Pentium Core 2 Duo
     ```
   - **Field name**: ComputerRamSize
   - **Data type**: Integer number
   - **Field caption**: RAM (MB)
   - **Form control**: Text box

    

   - **Field name**: ComputerHDDSize
   - **Data type**: Integer number
   - **Field caption**: HDD (GB)
   - **Form control**: Text box

    

   - **Field name**: ComputerImage
   - **Data type**: File
   - **Field caption**: Image
   - **Form control**: Direct uploader

     ![Creating fields for the page type](https://docs.kentico.com/docsassets/k10/creating-page-types/step3_fields.png "Creating fields for the page type")
3. Click **Next**.

> **Note:** You can also define system fields that will be displayed when editing pages of this type on the **Form** tab. You can do this using the **Field type** drop-down list when creating a new field. Select **Page field** and you can then choose from the following two groups of system fields:
>
> - **Page fields** - offers system fields of pages.
> - **Node fields** - offers system fields of content tree nodes.
>
> Page or node system fields will then be offered in the **Field name** drop-down list. If you leave the **Display field in the editing form** check-box turned on, the field will be visible on the page's **Form** tab.

### Step 4

1. Choose the field that will be used as the name for pages of this type. Pages of this type will use the value of the field in site navigation and in the **Page** application's content tree. Only **Required** 'text' fields are available in the drop-down list.

   ![Specifying page name source](https://docs.kentico.com/docsassets/k10/creating-page-types/step4_page_name_source.png "Specifying page name source")
2. Click **Next**.

### Step 5

Select the page types that will be supported as parents for pages of this type in the **Page** application's content tree.

1. Click **Add page types** and select a specific page type.
2. Click **OK**.

   ![Adding parent page types](https://docs.kentico.com/docsassets/k10/creating-page-types/step5_adding_page_types.png "Adding parent page types")
3. Click **Next**.

### Step 6

Assign the page type to all websites on which you want to use it.

1. Click **Add sites**.
2. Check the appropriate websites in the selection dialog.
3. Click **OK**.

   ![Adding sites where the page type can be used](https://docs.kentico.com/docsassets/k10/creating-page-types/step6_adding_sites.png "Adding sites where the page type can be used")
4. Click **Next**.

### Step 7

The wizard has finished the configuration of the new page type.

Click **Finish**. You have created a new page type. 

> **Tip:** Now, you may want to:
>
> - [Create transformations for the page type](https://docs.kentico.com/k10/developing-websites/loading-and-displaying-data-on-websites/writing-transformations/creating-transformations-for-pages.md) - to define how the page type's content is rendered on your pages.
> - [Create alternative forms for the page type](https://docs.kentico.com/k10/developing-websites/defining-website-content-structure/page-types/configuring-page-types/creating-alternative-forms-for-page-types.md) - to create alternative editing forms for the page type.
> - [Extend the page type's listing filter](https://docs.kentico.com/k10/developing-websites/defining-website-content-structure/page-types/configuring-page-types/extending-the-page-type-listing-filter.md) – editors use page listing to [perform multiple page (batch) operations](https://docs.kentico.com/k10/managing-website-content/working-with-pages/multiple-page-operations.md) in the **Pages** application.
> - [Limit the pages users can create](https://docs.kentico.com/k10/developing-websites/defining-website-content-structure/page-types/configuring-page-types/limiting-the-pages-users-can-create.md) – this way you can control where on the site users create new pages.

> **Info:** **How content in page types is stored**
>
> The new page type has its own database table for its specific fields. Each page is stored in three tables: _CMS\_Tree_ (tree structure), _CMS\_Document_ (page properties, metadata and content defined on the Page tab) and the custom table - for example, _custom\_Computer._
>
> The system automatically ensures all operations are performed correctly on these tables. The advantage of this storage is that it is very fast and you can easily write standard SQL SELECT queries to retrieve data from the Microsoft SQL Server database.
