{"id":52014,"date":"2025-09-29T12:55:06","date_gmt":"2025-09-29T09:55:06","guid":{"rendered":"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/"},"modified":"2025-09-29T12:55:06","modified_gmt":"2025-09-29T09:55:06","slug":"how-to-configure-typo3-step-by-step","status":"publish","type":"post","link":"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/","title":{"rendered":"How to Configure Typo3 Step by Step"},"content":{"rendered":"<p><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#Getting_ready_environment_and_prerequisites\" >Getting ready: environment and prerequisites<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#Install_TYPO3\" >Install TYPO3<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#First_run_the_Install_Tool_and_initial_configuration\" >First run: the Install Tool and initial configuration<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#Important_Install_Tool_steps\" >Important Install Tool steps<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#Configure_the_site_Sites_module_and_routing\" >Configure the site: Sites module and routing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#TypoScript_and_templates_make_the_frontend_work\" >TypoScript and templates: make the frontend work<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#Page_tree_backend_layouts_and_content_elements\" >Page tree, backend layouts and content elements<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#Install_and_configure_extensions\" >Install and configure extensions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#Security_and_performance_hardening\" >Security and performance hardening<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#Deploying_and_maintaining_a_live_site\" >Deploying and maintaining a live site<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#Tips_that_save_time\" >Tips that save time<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#Concise_summary\" >Concise summary<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#FAQs\" >FAQs<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#How_do_I_create_a_backend_admin_user_if_I_lost_access\" >How do I create a backend admin user if I lost access?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#How_do_I_configure_pretty_URLs_no_indexphp\" >How do I configure pretty URLs (no index.php)?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#How_can_I_add_a_second_language_to_the_site\" >How can I add a second language to the site?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#What_is_the_recommended_way_to_install_extensions\" >What is the recommended way to install extensions?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-typo3-step-by-step\/#How_do_I_update_TYPO3_safely\" >How do I update TYPO3 safely?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Getting_ready_environment_and_prerequisites\"><\/span>Getting ready: environment and prerequisites<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    Before you start configuring TYPO3, make sure your server environment meets the requirements. TYPO3 runs best on <a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-php\/\" target=\"_blank\" rel=\"noopener\">php<\/a> supported versions (check the release documentation for the exact version you need), and requires common PHP extensions like pdo_mysql (or pdo_pgsql), fileinfo, intl, mbstring, xml, openssl and gd or imagick. You will also need <a href=\"https:\/\/www.hostinger.com\/tutorials\/how-to-install-composer\" target=\"_blank\" rel=\"noopener\">composer<\/a> for <a href=\"https:\/\/infinitydomainhosting.com\/kb\/how-to-configure-2fa-step-by-step\/\">a<\/a> modern installation workflow, a supported database (<a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-mysql\" target=\"_blank\" rel=\"noopener\">mysql<\/a>\/MariaDB or PostgreSQL), and a web server such as <a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-apache\" target=\"_blank\" rel=\"noopener\">apache<\/a> or <a href=\"https:\/\/www.a2hosting.com\/kb\/developer-corner\/nginx-web-server\/installing-the-nginx-web-server\/\" target=\"_blank\" rel=\"noopener\">nginx<\/a>. Decide whether the project will use the public\/ document root (recommended for composer installs). Prepare file system access (fileadmin\/, typo3conf\/, var\/, public\/ or web\/) and ensure proper ownership and permissions are set so TYPO3 can write caches and upload files.\n  <\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Install_TYPO3\"><\/span>Install TYPO3<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    Composer-based installation is the recommended approach because it makes updates and dependency management more predictable. From your project folder you can run a command like the example below (replace the version constraint as needed). If you prefer a non-composer package, download the official distribution ZIP or tarball and extract <a href=\"https:\/\/support.hostinger.com\/en\/articles\/1863967-how-to-point-a-domain-to-hostinger\" target=\"_blank\" rel=\"noopener\">it to<\/a> your webroot.\n  <\/p>\n<p><\/p>\n<pre><code>composer create-project typo3\/cms-base-distribution:^12 my-typo3-site<br \/>\ncd my-typo3-site<br \/>\n<a href=\"https:\/\/www.a2hosting.com\/kb\/developer-corner\/php\/installing-composer\/\" target=\"_blank\" rel=\"noopener\">composer install<\/a><\/code><\/pre>\n<p><\/p>\n<p>\n    After files are in place, configure your web server so the document root points to public\/ (or web\/ in some setups). For Apache, check that .<a href=\"https:\/\/www.a2hosting.com\/kb\/developer-corner\/apache-web-server\/using-htaccess-files\/\" target=\"_blank\" rel=\"noopener\">htaccess<\/a> is enabled and RewriteEngine is on; for <a href=\"https:\/\/www.a2hosting.com\/kb\/developer-corner\/nginx-web-server\/installing-the-nginx-web-server\/\" target=\"_blank\" rel=\"noopener\">nginx<\/a> use the official server configuration examples. Create an empty database for TYPO3, and make sure the database user has permissions to create and alter tables.\n  <\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"First_run_the_Install_Tool_and_initial_configuration\"><\/span>First run: the Install Tool and initial configuration<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    Open the backend installer in your browser: \/typo3\/install.php. The Install Tool walks you through environment checks, database setup, encryption keys and creating an admin user. In the database section, supply <a href=\"https:\/\/www.a2hosting.com\/\" target=\"_blank\" rel=\"noopener\">host<\/a>, database, user and password. After saving, the system will run database schema updates if required. Create a strong admin username and password,keep this credential safe and restrict access to the Install Tool once setup is complete.\n  <\/p>\n<p><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Important_Install_Tool_steps\"><\/span>Important Install Tool steps<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><\/p>\n<ul><\/p>\n<li>Check system environment and required PHP extensions.<\/li>\n<p><\/p>\n<li>Configure database connection and run the database compare tool if prompted.<\/li>\n<p><\/p>\n<li>Create the initial backend admin user (or use <a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-cli\" target=\"_blank\" rel=\"noopener\">cli<\/a> to create one).<\/li>\n<p><\/p>\n<li>Save the LocalConfiguration.php and lock the Install Tool if your site is in production.<\/li>\n<p>\n  <\/ul>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Configure_the_site_Sites_module_and_routing\"><\/span>Configure the site: Sites module and routing<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    From TYPO3 v9 onward, the Sites module centralizes <a href=\"https:\/\/www.a2hosting.com\/domains\/\" target=\"_blank\" rel=\"noopener\">domain<\/a>, base <a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-a-url\" target=\"_blank\" rel=\"noopener\">url<\/a>, language and routing configuration. <a href=\"https:\/\/www.hostinger.com\/website-builder\" target=\"_blank\" rel=\"noopener\">create a site<\/a> configuration for each <a href=\"https:\/\/www.a2hosting.com\/domains\/\" target=\"_blank\" rel=\"noopener\">domain<\/a> you serve. Define the base URL, the root page ID, and the languages you will publish. Route enhancers are a powerful YAML-based mechanism to map URL patterns to parameters for plugins and content elements; they replace older URL extensions. A minimal site configuration ensures correct link generation, language handling and canonical <a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-a-url\" target=\"_blank\" rel=\"noopener\">urls<\/a>.\n  <\/p>\n<p><\/p>\n<pre><code># Example: config\/sites\/example.com\/config.yaml<br \/>\nrootPageId: 1<br \/>\nbase: '<br \/>\nlanguages:<br \/>\n  - title: English<br \/>\n    enabled: true<br \/>\n    languageId: 0<br \/>\n    base: \/<br \/>\nerrorHandling: { 404: '\/404' }<\/code><\/pre>\n<p><\/p>\n<p>\n    Add route enhancers under the site configuration when you use plugins (for instance news listing\/detail). Clear caches after changing site config so routing updates take effect.\n  <\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"TypoScript_and_templates_make_the_frontend_work\"><\/span>TypoScript and templates: make the frontend work<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    TypoScript is the configuration language that tells TYPO3 how to <a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-rendering\" target=\"_blank\" rel=\"noopener\">render<\/a> pages. Start by creating a root page (site root) in the page tree, then create a Template record on that page. Include static templates such as &#8220;Fluid Styled Content&#8221; and any extension static templates you need. Use the TypoScript Constants and Setup fields to define your main page object, include <a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-css\" target=\"_blank\" rel=\"noopener\">css<\/a>\/<a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-javascript\" target=\"_blank\" rel=\"noopener\">js<\/a> through page.includeCSS or asset management, and configure meta tags for SEO.\n  <\/p>\n<p><\/p>\n<pre><code># Minimal TypoScript Setup (Template -> Setup)<br \/>\npage = PAGE<br \/>\npage {<br \/>\n  typeNum = 0<br \/>\n  10 = FLUIDTEMPLATE<br \/>\n  10.templateName = Default<br \/>\n  10.templateRootPaths.0 = EXT:sitepackage\/Resources\/Private\/Templates\/<br \/>\n  includeJSFooterlibs {<br \/>\n    jquery = <br \/>\n  }<br \/>\n}<\/code><\/pre>\n<p><\/p>\n<p>\n    If you use a site package extension (recommended for custom themes), <a href=\"https:\/\/infinitydomainhosting.com\/register.php\">register<\/a> your templates, partials and layouts in its ext_localconf and TypoScript setup. Keep TypoScript organized: constants for values editors can change, and setup for <a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-rendering\" target=\"_blank\" rel=\"noopener\">rendering<\/a> rules.\n  <\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Page_tree_backend_layouts_and_content_elements\"><\/span>Page tree, backend layouts and content elements<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    Build a clear page tree that reflects the site structure. For each page, set the correct page type and language. Backend layouts let editors choose a grid structure when creating content. Configure these layouts using backend layout records or via TypoScript; then assign them to pages. Teach editors to create content elements using the standard content types or custom plugins from installed extensions. Use filemounts to control where editors can upload assets (fileadmin\/ or storage records), and configure storage drivers if you use external storage like S3.\n  <\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Install_and_configure_extensions\"><\/span>Install and configure extensions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    Extend functionality with extensions installed through Composer (preferred) or the Extension Manager. For example, add a news system, SEO meta management, or a site package. A Composer installation example:\n  <\/p>\n<p><\/p>\n<pre><code>composer require friendsoftypo3\/news<br \/>\ncomposer require sitepackage\/vendor-sitepackage<\/code><\/pre>\n<p><\/p>\n<p>\n    After installing, activate and configure the extension in the Extension Manager and include any required static TypoScript templates. For modern extensions, follow their README for required site config or route enhancers. Remember to clear caches and, if the extension needs database tables, to run the Database Compare tool in the Install Tool to apply schema changes.\n  <\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Security_and_performance_hardening\"><\/span>Security and performance hardening<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    Lock down the Install Tool after setup and use <a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-ssl\" target=\"_blank\" rel=\"noopener\">https<\/a> for all <a href=\"https:\/\/www.hostinger.com\/domain-name-search\" target=\"_blank\" rel=\"noopener\">domains<\/a>. Limit database user permissions to what TYPO3 needs, and store secrets securely. Set file and directory permissions so the web server user can write to var\/, fileadmin\/, and typo3temp\/ but not to sensitive system files. In the TYPO3 backend, configure system environment settings (e.g., backward compatibility and debug levels) for production. For performance, enable production caches and consider using <a href=\"https:\/\/infinitydomainhosting.com\/kb\/understanding-website-caching-and-website-performance-optimization\/\">caching<\/a> backends like Redis for cache and session storage, configure HTTP caching with a reverse proxy (Varnish) or use HTTP cache headers, and use asset compression and bundling to reduce payload size.\n  <\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Deploying_and_maintaining_a_live_site\"><\/span>Deploying and maintaining a live site<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    Use Composer to manage code dependencies and store configuration in version control. Keep LocalConfiguration.php out of public repositories; prefer environment-specific overrides through AdditionalConfiguration.php or environment variables. For updates, run composer update, then apply database migrations via the Install Tool or CLI upgrade wizards, and test on staging before production. Schedule regular backups of the database and fileadmin, and use the Scheduler module to run recurring maintenance tasks such as indexing or cleanup jobs.\n  <\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tips_that_save_time\"><\/span>Tips that save time<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    Set up a local development environment that mirrors production (same <a href=\"https:\/\/hostadvice.com\/blog\/web-hosting\/php\/which-php-version\/\" target=\"_blank\" rel=\"noopener\">php version<\/a>, extensions and a similar database). Use a site package to centralize templates and TypoScript, and document conventions for editors to reduce support overhead. Automate repetitive tasks,deployment, cache clearing, and database backups,so you can focus on content and feature development rather than ad-hoc maintenance.\n  <\/p>\n<p><!--KB_CAT_BLOCK--><\/p>\n<figure class=\"kb-cat-placeholder\" style=\"margin:1.75rem 0;display:block;\">\n<div class=\"kb-cat-wrap\" style=\"position:relative; overflow:hidden; border-radius:12px; box-shadow:0 10px 36px rgba(0,0,0,0.14);\"><img src=\"https:\/\/infinitydomainhosting.com\/kb\/assets\/img\/cat-default.webp\" alt=\"How to Configure Typo3 Step by Step\" loading=\"lazy\" decoding=\"async\" style=\"max-width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,0.12);\" \/><\/p>\n<div class=\"kb-cat-gradient\" style=\"position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,23,60,0.66) 0%, rgba(11,30,70,0.45) 40%, rgba(11,30,70,0.15) 100%);\"><\/div>\n<div class=\"kb-cat-textbox\" style=\"position:absolute; inset:auto 5% 7% 5%; color:#fff; text-align:center; display:flex; flex-direction:column; gap:.4rem; align-items:center; justify-content:flex-end;\">\n<div class=\"kb-cat-title\" style=\"font-weight:800; font-size:clamp(20px,3.6vw,34px); line-height:1.2; letter-spacing:.2px; text-shadow:0 1px 2px rgba(0,0,0,.35);\">How to Configure Typo3 Step by Step<\/div>\n<div class=\"kb-cat-meta\" style=\"opacity:1; font-weight:600; font-size:clamp(13px,2.6vw,16px); line-height:1.45; text-shadow:0 1px 2px rgba(0,0,0,.28);\">Getting ready: environment and prerequisites Before you start configuring TYPO3, make sure your server environment meets the requirements. TYPO3 runs best on php supported versions (check the release documentation for\u2026<\/div>\n<div class=\"kb-cat-desc\" style=\"opacity:1; font-weight:500; font-size:clamp(12px,2.4vw,15px); line-height:1.5; max-width:900px; text-wrap:balance; text-shadow:0 1px 2px rgba(0,0,0,.25);\">AI<\/div>\n<\/div>\n<\/div>\n<\/figure>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Concise_summary\"><\/span>Concise summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<p>\n    Configure TYPO3 by preparing a compatible server environment, installing via Composer or distribution package, running the Install Tool to create the database and admin user, and setting up site configuration with the Sites module. Create a TypoScript template and a site package for layout and templates, install necessary extensions, and prepare backend layouts and filemounts for editors. Lock down security, enable caching and performance features, and maintain the site using Composer and upgrade tools. Test changes on staging and use automated deployment and backups for safe operations.\n  <\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"FAQs\"><\/span>FAQs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_do_I_create_a_backend_admin_user_if_I_lost_access\"><\/span>How do I create a backend admin user if I lost access?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><\/p>\n<p>\n    If you cannot log in, use the Install Tool (typo3\/install.php) to create or reset a backend user, or run the TYPO3 CLI command (typo3cms) if available in your installation: use the install tool&#8217;s &#8220;Create Admin User&#8221; or the backend user management in the Install Tool. For CLI, a typical command pattern is vendor\/bin\/typo3 user:add depending on your version or extensions; check your TYPO3 version docs for the exact command.\n  <\/p>\n<p><\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_do_I_configure_pretty_URLs_no_indexphp\"><\/span>How do I configure pretty URLs (no index.php)?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><\/p>\n<p>\n    Pretty URLs are handled through the Sites configuration and route enhancers. Ensure your web server rewrite rules are active (Apache .<a href=\"https:\/\/www.a2hosting.com\/kb\/developer-corner\/apache-web-server\/using-htaccess-files\/\" target=\"_blank\" rel=\"noopener\">htaccess<\/a> or Nginx config) and that the site base and root page are set in the Sites module. Define route enhancers for plugin parameters so detail pages resolve to human-readable paths.\n  <\/p>\n<p><\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_can_I_add_a_second_language_to_the_site\"><\/span>How can I add a second language to the site?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><\/p>\n<p>\n    Add the new language in the Sites module under the site configuration for <a href=\"https:\/\/support.hostinger.com\/en\/articles\/6807580-website-builder-how-to-change-a-domain\" target=\"_blank\" rel=\"noopener\">the domain<\/a>: set languageId, ISO code and base path. Then in the page tree, create translations for pages and content elements, and configure TypoScript meta tags and hreflang if needed. Test URLs and fallback behavior.\n  <\/p>\n<p><\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_is_the_recommended_way_to_install_extensions\"><\/span>What is the recommended way to install extensions?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><\/p>\n<p>\n    Use Composer to require extensions where possible; this keeps dependencies and versioning consistent. After composer require, clear caches, install database updates via the Install Tool, and include any static TypoScript the extension requires.\n  <\/p>\n<p><\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_do_I_update_TYPO3_safely\"><\/span>How do I update TYPO3 safely?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><\/p>\n<p>\n    Update through Composer: update your composer.<a href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-json\" target=\"_blank\" rel=\"noopener\">json<\/a> constraints, run composer update, then go through the Upgrade\/Install Tool and follow the upgrade wizards in the backend to apply database changes. Test the entire update on a staging environment and review extension compatibility before applying updates to production.\n  <\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Getting ready: environment and prerequisites Before you start configuring TYPO3, make sure your server environment meets the requirements. TYPO3 runs best on&hellip;<\/p>\n","protected":false},"author":1,"featured_media":52015,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[2,9405,4593,9,1,4594,3,5,10,4,11,7,88,8],"tags":[389,6132,609,10637,811,12728,10480,670,706,12727,10989,719,525,406,12593,621],"class_list":["post-52014","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","category-ai","category-databases","category-domains","category-general","category-networking","category-php-scripts","category-seo","category-servers","category-ssl-certificates","category-support","category-web-design","category-web-hosting","category-website-security","tag-cms","tag-admin","tag-backend","tag-beginner","tag-configuration","tag-configuration-guide","tag-content-management","tag-guide","tag-how-to","tag-how-to-configure-typo3-step-by-step","tag-installation","tag-setup","tag-step-by-step","tag-tutorial","tag-typo3","tag-web-development"],"_links":{"self":[{"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/posts\/52014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/comments?post=52014"}],"version-history":[{"count":1,"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/posts\/52014\/revisions"}],"predecessor-version":[{"id":52016,"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/posts\/52014\/revisions\/52016"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/media\/52015"}],"wp:attachment":[{"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/media?parent=52014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/categories?post=52014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infinitydomainhosting.com\/kb\/wp-json\/wp\/v2\/tags?post=52014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}