---
title: "Best practices"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:best-practices@main"
source: "ApiOverview/ContentElements/BestPractices.rst"
modified: "2026-09-14T11:10:56+00:00"
---

# Best practices

Following are some good practices for creating custom content element types and
plugins and for customizing content elements for usage in the backend.

## Coding / structure

-   Use a sitepackage extension to maintain your site customization (such as
    backend layouts, custom content elements etc.)
-   How you structure your extensions depends a little on the use case and if
    they will be reused in several projects and / or made public. If you create one
    extension for every custom content element, you may want to think about
    whether they might be merged into one extension.
-   Do not use deprecated functionality. Read the [Core Changelog](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Index.html)
    to check for deprecations and breaking changes between TYPO3 versions.
-   Some naming conventions are described in the chapter [Naming conventions](https://docs.typo3.org/permalink/t3coreapi:extension-naming@main).
-   Read (or skim) the [Coding guidelines](https://docs.typo3.org/permalink/t3coreapi:cgl@main).

## Backend usability

-   Make it easier for your editors by hiding the following by
    [configuration](https://docs.typo3.org/permalink/t3coreapi:cepluginscustomize@main)

    -   content elements that should not be used in the "Content Element Wizard"
    -   fields that should not be filled out in the backend forms.
