The reliable WordPress installation sequence is: confirm a compatible server, create a database and user, download and place the WordPress files, provide the database details, then finish the browser installer. You can do this through a host’s one-click tool, with FTP, or from a shell using WP-CLI. The steps below cover each route, including whether WordPress belongs in your domain root or a subdirectory.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
What you need before installing WordPress
WordPress is downloadable software, but a public website also needs a domain and hosting. Hosting supplies the web server, PHP runtime, database service, storage and HTTPS configuration that WordPress uses. A domain gives visitors an address such as example.com. You can install WordPress on a private server without a public domain, but a normal public launch requires both services.
As an Amazon Associate I earn from qualifying purchases.
Recommended Free Tools
Check the current server requirements
WordPress currently recommends the following environment:
| Component | Recommended requirement | Why it matters |
|---|---|---|
| PHP | 8.3 or newer | Runs WordPress code and affects security, compatibility and performance. |
| Database | MariaDB 10.11 or newer, or MySQL 8.0 or newer | Stores posts, pages, settings, users and plugin data. |
| Transport security | HTTPS | Encrypts logins and administration traffic and is expected for a modern site. |
| Web server | Apache or Nginx recommended | Handles requests for WordPress’s PHP files and static assets. |
Older environments using PHP 7.4 or MySQL 5.5.5 may still run some WordPress versions, but those versions are end-of-life. Keeping them in production can leave the site exposed to known security problems. Ask the host to upgrade rather than treating legacy compatibility as a target configuration.
#1 Best Overall
Collect access and tools
- Hosting control-panel credentials, or an FTP/SFTP account and a shell account.
- The database name, database username, database password and database hostname. The hostname is often
localhost, but your host may use a different value. - A text editor for editing a configuration file.
- An FTP client if you are transferring files graphically.
- A current browser for the installation screen and administration area.
- A host that can send email, because WordPress and plugins may need to deliver password resets, alerts and other messages.
If you are not comfortable managing a database or server account, a managed host’s one-click installer is usually the least error-prone path. Manual installation is most useful when you need control over the file location, database, deployment process or server configuration.
Choose an installation route
| Route | Best for | Main trade-off |
|---|---|---|
| Managed or one-click installer | First-time site owners who want the host to create files, database and initial settings | Fastest setup, but fewer choices and provider-specific screens. |
| Manual installation with FTP | People who have hosting-panel or FTP access and want a visual workflow | More control, with separate database, upload and configuration steps. |
| Manual installation with shell and WP-CLI | Administrators who deploy repeatedly or prefer automation | Repeatable and scriptable, but requires shell access and command-line familiarity. |
The rest of this guide explains the manual process first, then shows the WP-CLI equivalent. The underlying order is the same in every case: files, database, configuration, location and installer.
Manual installation with FTP: complete procedure
1. Download and extract WordPress
Download the current WordPress package from the official WordPress.org download page and unzip it on your computer. The extracted folder is normally named wordpress. If you have shell access, the official installation workflow also supports:
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
After extraction, the folder should contain files such as wp-admin, wp-includes, wp-content and the PHP files in the package root. Do not upload the compressed archive expecting the server to install it automatically unless your host specifically provides an archive extractor.
2. Create a database and database user
Open your host’s database tool, commonly found in the hosting control panel, and create an empty MySQL or MariaDB database. Then create a database user and grant that user all privileges on the new database. Record these four values exactly:
- Database name
- Database username
- Database password
- Database host
Some hosting panels prepend an account name to the database and user, so the value you enter later may be longer than the label you first typed. Copy the complete value shown by the panel. Do not confuse the hosting-panel login with the database username; they are separate credentials.
If your host creates the database automatically, verify that the WordPress database user can create and modify tables. A user that can only read data will fail during installation or later updates.
3. Decide whether to create wp-config.php yourself
WordPress can create its configuration file through the browser installer, so editing it manually is optional. You have two valid approaches:
- Browser-created configuration: upload the package, open the installation URL and enter the database values when prompted.
- Manual configuration: rename
wp-config-sample.phptowp-config.phpand enter the database name, user, password, host, character set and authentication keys and salts before uploading.
The manual route is useful when deployments are scripted or when the server cannot write a new file during the browser setup. Keep the file as plain text, preserve its PHP syntax and avoid adding spaces or characters before the opening PHP tag. If you do not know the correct database host or character set, ask the host rather than guessing.
4. Choose the root or a subdirectory location
Your upload destination determines the public URL. The two common layouts are:
Rank #3
| Layout | Where the files go | Initial site URL |
|---|---|---|
| Domain root | Upload the contents of the extracted wordpress folder into the domain’s web root. Do not upload the enclosing wordpress folder itself. |
https://example.com/ |
| Subdirectory | Create a folder such as blog in the web root and upload the extracted WordPress contents into that folder. |
https://example.com/blog/ |
A root installation makes WordPress the software behind the main domain. A subdirectory installation leaves the root available for another application or a separate landing page and places WordPress under a path. Decide this before uploading; moving a site later requires changing URLs and, often, serialized data in the database.
Web-root names vary by host: common examples include a directory labeled public_html, www or a domain-specific document root. Use the path shown in your hosting documentation. If you cannot identify it, ask support rather than uploading into a directory that is not served by the web server.
5. Upload the files with FTP
- Open your FTP client and connect with the host, username, password and port supplied by your provider. Use SFTP when the host offers it, because it protects credentials in transit.
- Browse to the correct web root on the server.
- For a root install, open the local
wordpressfolder and upload everything inside it into the server’s web root. - For a subdirectory install, create the destination folder, such as
blog, open it and upload everything inside the localwordpressfolder there. - Wait for every file and directory to finish transferring. A partial upload can produce misleading PHP errors later.
- Disable any FTP setting that converts filenames to lowercase. WordPress relies on the exact case of filenames, and automatic renaming can break includes and assets on case-sensitive servers.
Do not upload an extra nesting level accidentally. In a root install, the web root should contain wp-admin, wp-content and wp-includes directly. If it instead contains a second wordpress directory, the site will appear at an unexpected path.
6. Run the browser installer
Open the URL that matches the upload location. For a root install, visit the domain; for a subdirectory install, visit the subdirectory path. WordPress should display its setup screen rather than a directory listing or a server error.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →- Select the requested language.
- Enter the database name, database username, database password and database host. If you uploaded a manually prepared
wp-config.php, WordPress uses those values instead. - Choose a site title. You can change it later under the General Settings screen.
- Create the administrator username. Avoid an obvious public name such as
admin; use a distinct account name and protect it with a unique password. - Generate a long, unique administrator password and store it in a password manager.
- Enter an email address you can access. WordPress uses it for administrative notices and account recovery.
- Submit the form and wait for WordPress to create its database tables and administrator account.
- Sign in at the administration URL, normally
/wp-admin/under the same root or subdirectory where you installed the files.
This browser workflow is commonly described as WordPress’s “five-minute install,” but file transfer and database creation can take longer on a new hosting account. The important result is a successful login and a site that loads over HTTPS, not a particular elapsed time.
Rank #4
Installing with shell access and WP-CLI
WP-CLI provides a command-line alternative to FTP and browser forms. It is useful for repeatable deployments, staging servers and scripted updates. WP-CLI requires PHP 7.2.24 or later, while current WordPress recommendations call for PHP 8.3 or newer; check both requirements. The Phar build is the recommended distribution, and the WP-CLI documentation also describes optional signature verification.
Run commands from the server account and path that own the site. Replace every placeholder, quote passwords that contain shell-special characters and avoid putting real credentials in shell history where possible.
wp core download --path=/var/www/example
wp config create --dbname=DB_NAME --dbuser=DB_USER --dbpass='DB_PASSWORD' --dbhost=localhost
wp db create
wp core install --url=https://example.com --title='Site title' --admin_user=ADMIN_USER --admin_password='STRONG_PASSWORD' [email protected]
These commands download WordPress, generate wp-config.php, create the database and run the core installation. The wp core install command creates the WordPress tables and completes the standard setup from the supplied URL, title and administrator details.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →For a subdirectory deployment, set the installation URL to the subdirectory path, for example https://example.com/blog, and verify the resulting siteurl value after installation. If it is wrong, update the option with WP-CLI using the exact path you intend to publish, then clear caches and test links from an incognito browser window. Check the current WP-CLI reference before using production scripts because command options and URL handling can change between releases.
What to check immediately after installation
Confirm the URL and HTTPS
- Open the home page and at least one sample post or page.
- Confirm that the address bar shows HTTPS without a certificate warning.
- Check that the WordPress Address and Site Address use the intended root or subdirectory URL.
- Test the login, logout and password-reset links.
Check file and database access
Visit the dashboard’s update screen and confirm that WordPress can read its files. If updates fail with permission errors, the web-server user may not own the files or may lack write access to the required directories. Correct ownership and permissions according to your host’s documented model instead of granting broad, permanent write access.
Best Value
Verify email delivery
Request a password reset or trigger a harmless administrative notification. If no message arrives, check the host’s mail settings, spam folder and any required SMTP configuration. A site that cannot deliver recovery mail is difficult to administer safely.
Remove unfinished setup artifacts
Delete the downloaded archive from a web-accessible directory if you placed it there, and remove any temporary database exports or text files containing credentials. Keep wp-config.php protected; it contains database access information.
Free tools Windows power users keep installed
One-click scans. No signup required.
Troubleshooting common installation failures
“Error establishing a database connection”
- Recheck the database name and username exactly as displayed by the host, including any account prefix.
- Reset the database password and update the value in
wp-config.phpor the installer form. - Confirm the database host.
localhostis common but not universal. - Verify that the user has privileges on this database and that the database server is running.
The installer appears at the wrong URL
This usually means the files were uploaded one directory too deep or the domain points to a different document root. Inspect the server directory so that wp-admin, wp-content and wp-includes sit directly inside the intended root or subdirectory. Then open the matching URL.
Blank page, 500 error or PHP version warning
Check the PHP version first. Upgrade to the current recommended PHP branch if the host is using an end-of-life release. A memory limit, incompatible extension or incomplete upload can also cause a 500 response; inspect the host’s PHP and web-server error logs and re-upload missing files before changing application settings.
Images, styles or links return 404 errors
Verify that filenames retained their original case, that the site URL includes the correct subdirectory and that HTTPS is consistent. A root URL in the settings for a site installed under /blog/ produces broken relative links and assets.
FTP transfer keeps failing
Check the server, port, encryption mode and account permissions supplied by the host. Transfer in smaller batches to identify a problematic file, then retry. If FTP is unavailable but shell access exists, use WP-CLI or an archive upload and extraction method documented by the provider.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
How to choose between root and subdirectory installation
- Use the root when WordPress should power the entire domain and visitors should reach the homepage at
https://example.com/. - Use a subdirectory when another application owns the root, or when the WordPress site should clearly live at a path such as
https://example.com/blog/. - Plan before installing: changing the path later requires coordinated URL changes, redirects and testing of media, menus, feeds and plugins.
The choice is about URL ownership, not WordPress capability. Both layouts use the same package, database process and installer; only the upload destination and resulting URL differ.
Security and maintenance decisions before launch
- Keep PHP, WordPress core, themes and plugins on supported versions.
- Use HTTPS for the entire site, including the login and administration area.
- Use a unique administrator name and password, and store credentials in a password manager.
- Give the database user access to the WordPress database only; do not reuse a high-privilege server account.
- Arrange reliable backups of both the database and
wp-content. A backup is useful only if you can restore it. - Limit shell and file-transfer access to the people and systems that need it, and prefer encrypted connections.
- Test email-based password recovery before publishing the site.
Which method should you use?
Choose a one-click installer when the host is current, you want the shortest setup and you do not need a custom file or database layout. Choose FTP when you want to see and control each uploaded file but do not use a command line. Choose WP-CLI when you have shell access and expect to repeat the installation, automate staging or manage several sites. In every case, first confirm the PHP, database and HTTPS requirements; an easier installer cannot compensate for an outdated server.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




