Every year, millions of people type “download WordPress” into a search bar expecting a simple button-click answer, and technically that’s what they get. But the button is the easy part. What trips people up is everything around it: which of the two very different WordPress downloads they actually need, whether their hosting account already handles this for them, what a database even is, and why the installer keeps asking for information they don’t have. This guide walks through the whole path, not just the click.
First, know which WordPress you’re downloading
There’s a genuinely confusing naming collision in the WordPress world. WordPress.com is a hosted service, similar in spirit to Squarespace or Wix, where you sign up, pick a plan, and WordPress runs on Automattic’s servers. You never touch a file. WordPress.org is the actual open-source software project, the code itself, free to download and run on whatever server you choose. When people say “download WordPress for free,” they almost always mean the second one, and that’s what this article covers.
The distinction matters because the two paths lead to different amounts of control. WordPress.com trades flexibility for convenience. The self-hosted version from WordPress.org gives you the entire codebase, full plugin and theme freedom, and ownership of your data, but it also means you’re the one responsible for hosting, updates, and backups. Neither approach is wrong, they just solve different problems.
What you actually need before you download anything
WordPress itself has fairly light requirements, but your hosting environment needs to meet them or the install will fail partway through, usually with a cryptic error. Check that your host supports at least PHP 7.4 (most current hosts default to 8.1 or newer, which is preferable), MySQL 5.7 or MariaDB 10.3 or higher, and HTTPS with a valid SSL certificate. If you’re not sure what your host provides, look in the hosting control panel under “PHP version” or ask support directly, most reputable hosts will tell you in one line.
If you haven’t picked a host yet, this is worth pausing on before you download anything, because the download step is identical everywhere but the setup experience afterward is not. Some hosts install WordPress for you automatically the moment you sign up, which skips almost everything described below. Comparisons like WordPress.com against Bluehost and WordPress.com against SiteGround are useful if you’re still deciding between a fully managed platform and self-hosted WordPress on your own account.
Downloading the WordPress package from WordPress.org
The process itself is short:
- Open your browser and go to WordPress.org.
- Click the “Get WordPress” link near the top of the page.
- Click the download button. The page shows you the current stable release number, and clicking it starts a ZIP download of the full software package, typically somewhere around 20 to 25 megabytes.
- Once it’s finished, unzip the file. You’ll get a folder named “wordpress” containing everything the software needs: the wp-admin and wp-includes directories, the wp-content folder where your themes, plugins, and uploads will eventually live, and a handful of PHP files that bootstrap the whole system.
That’s the entirety of “downloading WordPress.” The complexity that trips people up lives entirely in what happens next, getting those files onto a live server and connected to a database.
Getting the files onto your web server
You have three realistic options here, and which one applies depends entirely on your hosting plan.
Option 1: Your host does it for you
Most shared and managed hosting plans built for WordPress now include a one-click installer, often labeled Softaculous, WP Toolkit, or just a big “Install WordPress” button in the dashboard. If your host has this, skip the manual FTP process entirely, it will create the database, upload the files, and run the installer automatically in under a minute. This is genuinely the fastest and least error-prone path for anyone who isn’t specifically trying to learn the manual process.
Option 2: Manual upload via FTP
If your host doesn’t offer one-click installation, or you’re moving files to a VPS you manage yourself, FTP is the standard route.
Pick an FTP client. FileZilla is the most common free option and works identically on Windows, Mac, and Linux. Cyberduck and WinSCP are solid alternatives if you prefer a different interface.
Your hosting provider will have emailed or displayed FTP credentials when you signed up: a hostname (often something like ftp.yourdomain.com), a username, a password, and sometimes a port number, usually 21 for standard FTP or 22 if they’re using SFTP, which is the more secure variant and worth using if it’s offered.
Open your FTP client, enter those credentials, and connect. You’ll see two file panes, your local computer on one side and the remote server on the other. Navigate the remote side to your site’s root directory, commonly named public_html, www, or htdocs depending on the host.
Select every file inside the unzipped WordPress folder (not the folder itself, its contents) and drag them into that root directory. Depending on your connection speed, this can take anywhere from thirty seconds to several minutes since you’re transferring over a thousand individual files.
When the transfer finishes, visit your domain in a browser. If everything landed correctly, you’ll see the WordPress installation wizard rather than a blank page or a directory listing.
Option 3: Command line, for the technically inclined
If you’re comfortable with SSH, you can skip FTP entirely and pull WordPress directly onto the server using wget or curl, then unzip it in place. This is faster for anyone managing multiple sites or working from a VPS, but it assumes you’re already comfortable navigating a Linux shell, so it’s not the default recommendation here.
Creating the database WordPress needs
WordPress stores every post, page, comment, and setting in a MySQL (or MariaDB) database, so this step isn’t optional. Most hosting control panels, particularly cPanel, make it straightforward:
- Log into your hosting control panel and find “MySQL Databases” or an equivalent database manager.
- Create a new database and give it a name you’ll recognize later, something like yourdomain_wp rather than the default random string some hosts suggest.
- Create a database user with a strong, unique password, then attach that user to the database with full privileges.
- Write down the database name, username, password, and host (usually “localhost” unless your provider tells you otherwise). You’ll need all four in the next step.
Running the installation script
With the files uploaded and the database ready, visiting your domain triggers the famous five-minute install. WordPress asks for your site title, your preferred admin username (avoid the default “admin,” it’s the first thing automated attacks try), a strong password, your email address, and the database credentials from the step above. Submit the form, and WordPress writes a wp-config.php file connecting the software to your database. From there you land directly in the dashboard, ready to pick a theme and start publishing.
Installing WordPress on your own computer instead
None of the above is necessary if what you actually want is a private sandbox to test themes, try plugins, or learn WordPress without touching a live server. Local development tools spin up a complete PHP, MySQL, and web server stack on your own machine, so WordPress thinks it’s running on a real host when it’s really just running in a folder on your desktop.
Three tools dominate this space, and they’re not interchangeable in practice:
Local (by WP Engine) is purpose-built for WordPress specifically, rather than being a general PHP stack you configure yourself. It creates isolated sites in a couple of clicks, lets you switch PHP versions per site, and includes one-click push to several major hosts once you’re ready to go live. For anyone whose only goal is running WordPress locally, this is the path of least resistance.
XAMPP is a broader Apache, MySQL, PHP, and Perl bundle that isn’t WordPress-specific. It’s free, cross-platform, and has been around for a very long time, which means there’s abundant documentation, but you’ll need to manually create the database and download WordPress separately rather than getting the guided experience Local provides.
MAMP is the Mac-focused equivalent of XAMPP (a Windows version exists too), popular among developers who want a lightweight local server without much configuration. Like XAMPP, it gives you the underlying stack rather than a WordPress-specific workflow.
If you’re new to local WordPress development and don’t have a strong reason to prefer XAMPP or MAMP, Local is worth starting with. Installation looks like this:
- Go to the Local by WP Engine website and download the installer for your operating system.
- Run the installer and let it set up its bundled environment.
- Open Local, click “Create a new site,” name it, and choose your preferred PHP, web server, and database versions (the defaults work fine for most people).
- Local automatically downloads and installs a fresh copy of WordPress into that new local site, no separate WordPress.org download required.
- Once it finishes, click “Admin” to log into your local dashboard, or “Open Site” to view the front end in your browser.
You can run as many local sites as your machine’s resources allow, which makes this genuinely useful for testing a theme change or a risky plugin before ever touching your live site.
After the install: what actually deserves your attention
A fresh WordPress install is functional but bare, and a handful of settings changes save real headaches later.
Permalinks. Go to Settings, then Permalinks, and switch away from the default “plain” structure to “Post name.” This alone meaningfully affects both readability and search visibility.
SSL. Confirm your site loads under https, not http. Most hosts issue a free certificate automatically through Let’s Encrypt, but it’s worth checking rather than assuming.
Backups. A brand-new site has nothing to lose yet, which is exactly the moment to set up automatic backups, before you have months of content riding on a single unprotected database. A dedicated look at the best WordPress backup plugins is worth reading before you publish your first real post, not after something breaks.
Staging. If you plan to make frequent theme or plugin changes down the line, look into a staging setup so you’re never testing changes directly on the live site. There’s a rundown of WordPress staging plugins that cover this without needing a separate local environment.
Ongoing maintenance. Downloading and installing WordPress is a one-time event; keeping it healthy is not. Core, theme, and plugin updates, database cleanup, and uptime monitoring are recurring tasks, and skipping them is how sites quietly accumulate security risk. The WordPress maintenance practices worth building into a routine are covered in more depth separately.
Common problems people run into
“Error establishing a database connection.” This almost always means one of the four database credentials in wp-config.php doesn’t match what you actually created, or the database host value isn’t “localhost” when your provider needs something else. Double-check each value against your hosting control panel.
A blank white screen instead of the installer. Usually a PHP version mismatch or a file permissions issue from the FTP upload. Confirm your host is running at least PHP 7.4, and that folder permissions are set to 755 and file permissions to 644, which most FTP clients let you set in bulk.
The install wizard never appears, just a directory listing. This means the WordPress files landed in a subfolder rather than directly in your site’s root directory. Move them up a level so index.php sits at the top of public_html, not inside a nested “wordpress” folder.
Local development site won’t load in the browser. Confirm the local server is actually running (Local shows a green status indicator per site) and that no other application on your machine, like Skype or another local server tool, is occupying the same port.
Choosing between a fresh install and a host’s pre-built environment
Downloading WordPress manually, as described above, makes sense if you’re moving to a VPS, migrating between hosts, or simply want to understand every piece of the stack rather than trusting a black-box installer. But if your only goal is a working site with the least friction, comparing hosts that bundle the install for you is often the better use of your time than manually wrangling FTP credentials. Reviews like WordPress.com against Hostinger walk through what a beginner actually gets out of the box on each platform, including whether WordPress installation is handled automatically at signup.
There’s no wrong answer here. Developers who manage several client sites tend to prefer the manual route because it’s identical everywhere and doesn’t depend on any particular host’s tooling. Someone launching their first personal blog usually gets to a working site faster by picking a host with a one-click installer and letting it handle the database and file upload automatically.
A note on WordPress multisite
If you eventually want to run several related sites from one WordPress installation, sharing users, themes, and plugins across all of them, that’s a built-in feature called multisite, not a separate download. It’s enabled by adding a single line to wp-config.php after your initial install and then completing a short network setup wizard inside the dashboard. It’s worth knowing this exists before you go looking for a “multisite version” of WordPress to download, because there isn’t one, it’s the same package with a feature switched on.
Basic security hardening once you’re up and running
A freshly installed WordPress site is a plain target until you take a few minutes to lock it down. Beyond avoiding the default “admin” username during setup, a few habits matter more than most people expect. Limit login attempts, either through your host’s built-in firewall or a dedicated plugin, since brute-force login attacks against wp-login.php are constant and automated, not something that only happens to popular sites. Keep core, themes, and plugins updated promptly rather than letting notifications pile up, since the majority of WordPress compromises trace back to an outdated plugin with a known, published vulnerability. And remove anything you’re not actively using, an inactive plugin still sitting in your files is still a potential entry point even if it’s deactivated in the dashboard.
Frequently asked questions
Do I need to pay anything to download WordPress?
No. The software from WordPress.org has always been free and licensed under the GPL, meaning you can use it, modify it, and even redistribute it without paying anyone. Your ongoing costs come from hosting and a domain name, not from WordPress itself.
Can I download WordPress and never touch code?
Yes. Once it’s installed, day-to-day use, writing posts, adding pages, installing plugins and themes, happens entirely through the dashboard. Editing raw files is only necessary for advanced customization or troubleshooting.
Is the version I download from WordPress.org the same as what my host installs automatically?
Yes, it’s the identical software either way. A one-click installer isn’t a different or lighter version of WordPress, it’s simply automating the same download-upload-database-install sequence covered above.
What if I outgrow my local install and want to move it live?
Tools like Local include a built-in push feature for several major hosts, and for everything else, exporting your database and copying your wp-content folder to a live server, then updating the site URL in the database, accomplishes the same migration manually.
Free doesn’t mean effortless, and that’s fine
The WordPress software itself costs nothing, and it genuinely stays that way no matter how large your site grows. But “free download” was never the whole story, hosting, a domain name, and your own time are the real inputs. Once you’ve got the files on a server and the installer has run, though, the hard part is over, and everything from here is customization: picking a theme, choosing plugins, and building out the site you actually set out to make.