How to install WordPress comes down to one decision: whether your host installs it for you or you do it by hand. On almost every shared or managed host the answer is the one-click installer in your control panel, and it takes about two minutes. The manual route, what WordPress calls the famous five-minute install, is for hosts with no installer, for migrations, and for control over the database name and table prefix. Here are all four routes, which one fits you, and the errors that stop each.
Which WordPress install method should you use?
| Route | Time | Best for | The catch |
|---|---|---|---|
| One-click installer (hPanel, cPanel, WP Toolkit, Softaculous) | 2 to 5 minutes | Anyone on shared or managed hosting building a live site | Some hosts bundle plugins you did not ask for |
| Manual install by FTP | 15 to 30 minutes | Hosts with no installer, subfolder installs, migrations, control over the database name and prefix | You create the database, and one typo stops the install |
| Local install on your computer | 10 minutes | Learning, building privately, testing a theme or plugin safely | Nobody else can see it until you move it to a server |
| WP-CLI over SSH | About 60 seconds | Developers, and anyone installing WordPress often | Needs SSH access and WP-CLI on the server |
If you are not sure, start with your host’s installer. Nothing about it locks you in: the files and database it creates are ordinary WordPress files and an ordinary database.
What your server needs before you install WordPress
| Requirement | Minimum WordPress states | What to actually aim for |
|---|---|---|
| PHP | 7.2 or greater | PHP 8.1 or newer, for speed and for security patches |
| Database | MySQL 5.7 or greater, or MariaDB 10.4 or greater | Whatever your host offers current, not a legacy 5.x option |
| HTTPS | Recommended by WordPress | Required in practice; browsers flag sites without it |
| Server software | Apache or Nginx with mod_rewrite or the equivalent | Needed for pretty permalinks to work |
Current figures are on the WordPress requirements page. Most hosting clears all of it, but check the PHP version before you install: a host still defaulting to PHP 7.x is telling you something about the rest of its stack.
Method 1: Install WordPress with a one-click installer
- Find the WordPress or Auto Installer section in your control panel. On Hostinger it is Websites then Add Website; on cPanel hosts, WP Toolkit or Softaculous.
- Choose the domain, and leave the directory field empty unless the site should live at a subfolder such as yoursite.com/blog.
- Set the admin username to something other than admin, and use the long password the installer generates.
- Use a real email address you check. Password resets and update notices go there, and changing it later needs a confirmation click in that same inbox.
- Decline any bundled plugin or theme pack, then run the install.
Check two settings after: installers leave the table prefix at wp_, and some set the timezone to the server’s, not yours.
Method 2: The manual WordPress install, step by step
- Download the latest release from wordpress.org/download and unzip it.
- Create a MySQL database and a database user, then add that user to the database with all privileges. Note the name, username, password and host; most hosts use
localhost, some a hostname such asmysql.yourhost.com. - Rename
wp-config-sample.phptowp-config.phpand fill inDB_NAME,DB_USER,DB_PASSWORDandDB_HOST. - Replace the eight placeholder lines in the keys and salts block with fresh values from the WordPress salt generator. Skip it and every session on your site is signed with dummy keys.
- Change
$table_prefixfromwp_to something short of your own. Do it now; changing it later means editing the database. - Upload the contents of the wordpress folder, not the folder itself, into
public_htmlby FTP or the file manager. - Visit your domain. The install screen appears: enter the site title, admin username, password and email, then run it.
Set directories to 755, files to 644, and wp-config.php to 640. If a host tells you to set anything to 777, that is a reason to change host.
Method 3: Install WordPress on your own computer
A local install is a full copy of WordPress on your laptop, useful for learning or building privately. LocalWP and Studio by WordPress.com create a site in a few clicks and handle PHP and MySQL for you, which is why they have largely replaced manual XAMPP and MAMP setups. The site is yours alone until you move it to a server.
Method 4: Install WordPress with WP-CLI
If you have SSH access, four commands do the whole job:
wp core download
wp config create --dbname=mydb --dbuser=myuser --dbpass=mypass
wp db create
wp core install --url=example.com --title="My Site" --admin_user=adil --admin_email=you@example.com --prompt=admin_password
Learn this route if you build sites often: the same tool handles updates, user changes, domain moves, and bulk content work that would take an hour in the dashboard.
The twenty minutes after WordPress installs
- Settings, Permalinks, Post name. The default produces URLs like ?p=123, bad for SEO titles and links and awkward to change once posts are indexed.
- Settings, Reading. Check that “Discourage search engines from indexing this site” is unchecked. This one box is behind a large share of “my site will not appear on Google” questions.
- Settings, General. Set your timezone, or scheduled posts publish at the wrong hour.
- Delete what shipped with it. The Hello world post, the Sample Page, Hello Dolly and unused default themes. Unused code still needs updating.
- Confirm HTTPS. Install the host’s free certificate and check both site URLs start with
https. - Set up backups before you build. Know where your WordPress backups are stored and test that you can restore one.
- Install only what you need. Security, caching and SEO plugins cover most sites; see the plugins a business site actually needs.
WordPress install errors and what they mean
| What you see | What is actually wrong | Fix |
|---|---|---|
| Error establishing a database connection | A database value in wp-config.php is wrong, or the user was never added to the database | Re-check DB_NAME, DB_USER, DB_PASSWORD and DB_HOST, then confirm the user has all privileges |
| Your PHP installation appears to be missing the MySQL extension | PHP is too old, or the mysqli extension is off | Switch the site to PHP 8.1 or newer in your control panel |
| A blank white page | A PHP fatal error, or too little memory | Add define('WP_DEBUG', true); to wp-config.php to see the real message |
| WordPress is already installed | install.php was run twice and the tables exist | Go to /wp-login.php instead; if you want a clean start, drop the tables first |
| The install screen never appears | Files went one level too deep | Move the contents of the wordpress folder up into public_html |
| Pages 404 after install | Rewrite rules were never written | Settings, Permalinks, then Save Changes without altering anything |
Should you install WordPress at all?
WordPress is free, it is yours, and nothing stops you moving hosts. The cost is maintenance: updates, backups and security become your job, not a platform’s. If that is work you do not want, choosing the platform first is cheaper than migrating later.
Frequently asked questions
Two to five minutes with a host’s one-click installer, fifteen to thirty by hand including creating the database. WordPress calls the manual route the five-minute install, accurate only once the database details are ready.
The software is free. You still pay for hosting, typically $3 to $15 a month, and a domain at roughly $12 to $20 a year. Premium themes and plugins are optional.
No. WordPress.com is a hosted service with WordPress already installed. Installing it yourself applies to self-hosted WordPress, downloaded from WordPress.org.
Yes. Upload the files to a folder such as public_html/blog, or set the directory field in your host’s installer. The site then lives at yoursite.com/blog while the main domain serves something else.
Delete the files and drop the database tables, then start again rather than running install.php over a half-built database. A partial install is the usual cause of the “already installed” message.
