TYPO3 v10 has reached end-of-life as of April 30th 2023 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v10 here: TYPO3 ELTS.
Following are some good practices for creating custom content element types and plugins and for customizing content elements for usage in the backend.
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 resused 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 or more extensions.
Do not use deprecated functionality. Read the Core Changelog to check for deprecations and breaking changes between TYPO3 versions.
Some naming conventions are described in the chapter Naming Conventions.
Read (or skim) the Coding Guidelines.
Make it easier for your editors by hiding the following by configuration
content elements that should not be used in the "Content Element Wizard"
fields that should not be filled out in the backend forms.