---
title: "Site settings editor"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:site-settings-editor@main"
source: "ApiOverview/SiteHandling/SiteSettingsEditor.rst"
rendered: "2026-09-17T14:31:42+00:00"
---

# Site settings editor {#site-settings-editor-1}

Use the editor to review and override defined settings for each site.

The editor changes only the site's override layer in
`config/sites/<my_site>/settings.yaml`. It does not modify the definition,
the reusable defaults or `settings.yaml` files provided by sets. This
allows an extension to update its defaults while each site retains only the
values that were intentionally customized.

**On this page**

-   [Edit site settings](https://docs.typo3.org/permalink/t3coreapi:edit-site-settings@main)
-   [Configuring the site settings editor](https://docs.typo3.org/permalink/t3coreapi:configuring-the-site-settings-editor@main)

## Edit site settings {#edit-site-settings}

Open **Sites > Setup > Settings** to see all sites with editable
[site settings](https://docs.typo3.org/permalink/t3coreapi:sitehandling-settings@main):

![Screenshot of the Site Setup module in overview, button "Edit site settings" is highlighted](../../Images/ManualScreenshots/SiteHandling/SiteSettingsOverview.png)

The settings editor displays the settings of all site sets included in the
current site, including their dependencies. The site sets can define categories
and subcategories to order the settings.

![Screenshot of the settings of an example site](../../Images/ManualScreenshots/SiteHandling/SiteSettings.png)

The editor displays only settings defined by an active set, for example in
[`EXT:my_sitepackage/Configuration/Sets/MySitepackage/settings.definitions.yaml`](../../ExtensionArchitecture/FileStructure/Configuration/Sets/Index.md#file-set-settings-definitions-yaml).
See [Site settings definitions](https://docs.typo3.org/permalink/t3coreapi:site-settings-definition@main).

Settings that have been made directly in the `settings.yaml` file without a
corresponding entry in a `settings.definitions.yaml` are not displayed in
the editor as they have neither a type nor a label. These values are, however,
retained for backward compatibility when the editor writes to the
`settings.yaml` file. They are not part of the supported configuration
contract described in [Site settings](https://docs.typo3.org/permalink/t3coreapi:sitehandling-settings@main).

## Configuring the site settings editor {#configuring-the-site-settings-editor}

The editor has no separate field configuration. TYPO3 generates it entirely
from [site setting definitions](https://docs.typo3.org/permalink/t3coreapi:site-settings-definition@main): categories
and labels organize the form, the type selects the field and validates the
submitted value, and the default supplies the value when no override exists.

The following annotated editor view shows how each part of a definition
appears:

![Annotated screenshot of categories and fields in the site settings editor](../../Images/ManualScreenshots/SiteHandling/SiteSettingsDefinition.png)

1.  **Main category:** The `label` of a top-level category becomes a heading
    in the editor and an entry in its navigation.
1.  **Subcategory:** The `parent` property places one category below another.
    A setting's `category` property assigns the field to that category.
1.  **Label:** The setting's `label` becomes the field label. It can be written
    directly in the definition or loaded from a `labels.xlf` file.
1.  **Description:** The optional `description` is displayed below the label.
    It can also be translated through `labels.xlf`.
1.  **Setting identifier:** The key below `settings` is the exact identifier
    used in `settings.yaml` and when the setting is read. The editor
    displays it in advanced mode.
1.  **Type:** The `type` selects the form control and validates and converts
    the submitted value. See [definition types](https://docs.typo3.org/permalink/t3coreapi:definition-types@main).
1.  **Displayed value:** The field contains the effective value. In this
    example no set or site overrides `blogExample.partialRootPath`, so TYPO3
    displays the definition's `default` value.
1.  **Reset value:** Resetting a field discards its site-specific override and
    restores the inherited value. This is the value supplied by an active set,
    or the definition's `default` when no set overrides it. See
    [How a setting value is resolved](https://docs.typo3.org/permalink/t3coreapi:sitehandling-settings-resolution@main) for the complete resolution order.

    ![Screenshot showing the "Reset settings" button in the settings popup menu](../../Images/ManualScreenshots/SiteHandling/SiteSettingsReset.png)

The corresponding definition is:

**EXT:blog_example/Configuration/Sets/BlogExample/settings.definitions.yaml (excerpt)**

```yaml
categories:
  BlogExample:
    label: 'Blog Example' # (1)
  BlogExample.templates:
    label: 'Templates' # (2)
    parent: BlogExample
  BlogExample.pages:
    label: 'Pages'
    parent: BlogExample

settings:
  blogExample.templateRootPath:  # (5)
    label: 'Templates' # (3)
    category: BlogExample.templates # (2)
    description: 'Path to template root'  # (4)
    type: string  # (6)
    default: 'EXT:blog_example/Resources/Private/Templates/'  # (8), unless overridden by a set
  blogExample.partialRootPath:
    label: 'Partials'
    category: BlogExample.templates
    description: 'Path to partial root'
    type: string
    default: 'EXT:blog_example/Resources/Private/Partials/'  # (7)

```

See the complete example at
[settings.definitions.yaml (GitHub)](https://github.com/TYPO3-Documentation/blog_example/blob/main/Configuration/Sets/BlogExample/settings.definitions.yaml).
