Classic mode installations: Directory structure
The structure below describes the directory layout of a Classic TYPO3 installation (without Composer), sometimes also called a legacy installation.

If the "Upload Extension" button is visible, TYPO3 is running in Classic mode.
Table of contents
See also
- Composer mode: Directory structure for details on the structure in a Composer-based installation.
Files on the root level of a typical Classic mode project
The project folder, usually at /path/
, must contain
index.
. It may also include server config files like .htaccess
.
Additional files that should be available at the root of you web site like
robots.
can be placed here in single site installations.
In multi-site installations you should use Static routes in the site configuration to provide individualized files for each site.
Directories in a typical Classic mode project
fileadmin/
This is a directory in which editors store files. It is used for the same files like public/fileadmin/ in the Composer-based directory structure.
typo3/
Among others, this directory contains the PHP
file for accessing the install tool (public/
).
Changed in version 14.0
The TYPO3 backend entry point PHP file typo3/
has
been removed. The backend can be accessed via the Backend entry point.
typo3/sysext/
All system extensions, supplied by the TYPO3 Core, are stored here.
typo3_src/
It is a common practice in Classic mode installations to use symlinks to quickly
change between TYPO3 Core versions. In many installations you will find a symlink or folder
called typo3_
that contains the folders typo3/,
and vendor/ and the file index.
. In this case,
those directories and files only symlink to typo3_
. This way
the Core can be updated quickly by changing the symlink.
Assuming your webroot is a directory called public
you could have
the following symlink structure:
-
typo3_src-12.0.0
- typo3
- vendor
- index.php
-
public
- fileadmin
- typo3 -> typo3_src/typo3
- typo3_src -> ../typo3_src-12.0.0
- typo3conf
- typo3temp
- vendor -> typo3_src/vendor
- index.php -> typo3_src/index.php
typo3conf/
This path can be retrieved from the Environment API, see getConfigPath().
typo3conf/autoload/
Contains autoloading information. The files are updated each time an extension is installed via the Extension Manager.
typo3conf/ext/
Directory for third-party and custom TYPO3 extensions. Each subdirectory contains one extension. The name of each directory must be the extension key or the extension will not be loaded directly. You can put or symlink custom extensions and sitepackages here.
See extension files locations for more information on how the extensions are structured.
typo3conf/l10n/
Directory for extension localizations. Contains all downloaded translation files.
This path can be retrieved from the Environment API, see getLabelsPath().
typo3conf/sites/
The folder typo3conf/
contains subfolders, one for each site
in the installation. See chapter The site folder config/sites/ / typo3conf/sites/.
typo3conf/system/
The folder typo3conf/
contains the installation-wide
configuration files:
settings.php
: Configuration written by the Admin Tools > Settings backend moduleadditional.php
: Manually created file which can override settings fromsettings.php
file
These files define a set of global settings stored in a global array called $GLOBALS['TYPO3_CONF_VARS'].
This path can be retrieved from the Environment API, see getConfigPath().
typo3temp/
Directory for temporary files. It contains subdirectories (see below) for temporary files of extensions and TYPO3 components.
Attention
Although it is a most common understanding in the TYPO3 world that
typo3temp/
can be removed at any time, it is considered
bad practice to remove the whole folder. Developers should selectively
remove folders relevant to the changes made.
typo3temp/assets/
Directory for temporary files that should be publicly available (e.g. generated images).
typo3temp/var/
Directory for temporary files that should not be accessed through the web (cache, log, etc).
vendor/
This directory contains third-party packages that are required by the TYPO3 Core.