Jun 10, 2026

How to Install WordPress Manually via FTP

Back to blog

Want a WordPress site on your Battlehorns hosting without a one-click installer? A manual FTP installation gives you full control: you pick the version, see every file on the server, and understand how WordPress is structured.

This guide assumes you already have FTP/SFTP access set up. If not, read our How to Use FTP with FileZilla tutorial first.

WordPress logo
WordPress — CMS powering millions of sites. Image: WordPress.org

What you need

  • Hosting plan with PHP 8.x and MySQL/MariaDB
  • FTP or SFTP (FileZilla or similar)
  • A MySQL database + user with privileges (created in your hosting panel)
  • A computer with room to download and unzip WordPress (~50 MB)

Overview (6 steps)

  1. Download WordPress from wordpress.org/download
  2. Create a MySQL database in your panel
  3. Unzip the package on your PC
  4. Upload files via FTP to public_html
  5. Open your site in the browser and run the installer
  6. Log in to /wp-admin and configure your site

Step 1 — Download WordPress

  1. Go to wordpress.org/download
  2. Click Download WordPress (latest.zip)
  3. Save the ZIP somewhere easy to find
  4. Extract it — you get a folder named wordpress

Important: inside wordpress you'll see index.php, wp-admin, wp-content, and wp-includes. You upload the contents of that folder, not the “wordpress” folder itself (unless you want a subdirectory install).

Step 2 — Create the MySQL database

In your Battlehorns hosting panel:

  1. Create a database (e.g. mysite_wp)
  2. Create a MySQL user with a strong password
  3. Grant the user full privileges on that database
  4. Write down: database name, username, password, and host (often localhost)
MySQL server info in phpMyAdmin
phpMyAdmin example — confirm database host (usually localhost). Image: WordPress Developer Handbook

Step 3 — (Optional) Edit wp-config.php on your PC

You can skip this — the web installer creates the file for you. To prepare early:

  1. In the wordpress folder, rename wp-config-sample.php to wp-config.php
  2. Open it in a text editor
  3. Fill in DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST
  4. Save the file

Step 4 — Upload files via FTP

Connect to your server with FileZilla (see our FTP tutorial).

FileZilla local and remote panels
FileZilla — local on the left, server on the right. Image: WordPress Developer Handbook

Site at domain root (e.g. yourdomain.com)

  1. On the server, open public_html (or www / htdocs)
  2. On your PC, open the extracted wordpress folder
  3. Select all files and folders inside wordpress (not the “wordpress” folder itself)
  4. Drag them into public_html on the server
  5. Wait for the full upload (thousands of files — it can take a while)

Site in a subfolder (e.g. yourdomain.com/blog)

  1. Create a blog folder inside public_html
  2. Upload the contents of the wordpress folder into blog

Classic mistake: uploading the whole wordpress folder makes the site load at yourdomain.com/wordpress/ instead of the root. Fix by moving files one level up.

FTP tip: disable “convert filenames to lowercase” in your FTP client if that option exists.

Step 5 — Run the installer in your browser

When the upload finishes, visit:

  • Root install: https://yourdomain.com or https://yourdomain.com/wp-admin/install.php
  • Subfolder: https://yourdomain.com/blog/wp-admin/install.php

If wp-config.php doesn't exist, WordPress asks for database details:

WordPress database configuration screen
WordPress installer — database connection step. Image: WordPress Developer Handbook

Then set:

  • Site title
  • Admin username (avoid “admin” if possible)
  • Strong password
  • Admin email
  • Search engine visibility (leave visible for SEO)
WordPress successful installation screen
Installation complete — you can log in to WordPress admin. Image: WordPress Developer Handbook

Step 6 — After installation

  1. Log in at /wp-admin
  2. Go to Settings → Permalinks and choose a friendly structure (e.g. “Post name”) — click Save
  3. Install plugins only from trusted sources
  4. Activate a theme and create your first page or post
  5. Back up files and database regularly

Common problems

Directory listing instead of the site

Missing root files or the server isn't using index.php as the default. Confirm index.php is in public_html.

Error establishing a database connection

  • Check database name, user, password, and host in wp-config.php
  • Confirm the MySQL user has access to the database
  • Contact support if the database isn't active on your plan

Blank page or 500 error

  • Check PHP version (WordPress recommends PHP 8.x)
  • Ensure the FTP upload completed without corrupted files
  • Check error logs in your hosting panel

File permissions

Folders usually 755, files 644. Avoid 777 for security.

Manual install vs one-click

Manual FTP install is useful when:

  • You want the latest version immediately
  • You're migrating from another server
  • The auto-installer fails or isn't available
  • You want to learn WordPress file structure

Need WordPress hosting?

Battlehorns offers hosting with PHP, MySQL, and FTP/SFTP for gaming communities, personal projects, and WordPress sites.

View hosting plans  ·  My services  ·  FTP FileZilla tutorial  ·  Support

Images: WordPress Developer Handbook. Tutorial adapted for Battlehorns customers.

Comments (0)

Sign in to comment. Register

No comments yet.