In the simplest, most human-friendly terms, “localhost” means “this computer”.
Specifically, it means “the computer that a program is running on”. Depending on what program you’re talking about, that can mean your own computer, or it can mean your web server.
For example, if you’re talking about the web browser that you’re using to view this very page, “localhost” means “your computer”. But if you’re working in a WordPress plugin on your live website, “localhost” means your web server because the WordPress software is located on your web server (not your own computer).
Basically, it’s “this computer” from the perspective of the program that you’re using, not necessarily your own perspective.
Some More Technical Details About How Localhost Works
Localhost IP Address
By default, localhost resolves to 127.0.0.1 when using IPv4 and ::1 when using IPv6.
Localhost uses the loopback network interface, which means that any data sent to localhost is automatically routed back without any modification.
You Cannot Register A .localhost Domain Name
Since 1999, localhost is officially a reserved top-level DNS name. That means you cannot register a domain name with the extension “.localhost”. The reason for this is so that developers can safely test websites using the .localhost extension (which you’ll see in a second).
How Does Localhost Connect To WordPress?
Though localhost is a general networking term, you’ll often see it referenced while you’re working with WordPress.
It could come up in plenty of different places, but here are a few of the most common spots that you’ll see localhost referenced with WordPress.
1. Localhost WordPress Development
When developers build WordPress sites, they normally don’t install WordPress on a live web server or a staging site right away.
Instead, they install WordPress “locally” on their “localhost”. If you recall the definition from the beginning of this article, that means that WordPress is running on their own computer, rather than a web server.
This allows developers to easily work in a safe sandbox while building the site. Once the WordPress site is ready to go live, developers will migrate it from their localhost to a live web server.
There are several popular tools that you can use to set up your own localhost WordPress development environment. A couple good options are:
For example, if you use the XAMPP software, you’ll then be able to access your local development sites using “localhost/folder_name“:
And because “localhost” is a loopback address, you could also enter the localhost IP address to access the same local development site:
That is, both “localhost” and “127.0.0.1” take you to the exact same place.
2. Your Site’s wp-config.php File
Your WordPress site’s wp-config.php file is the core configuration file for various WordPress settings. One of the things wp-config.php is responsible for is controlling your WordPress site’s database, including its location.
In most situations, your WordPress site’s database is hosted on the same server as the WordPress software.
Because the database software is running on the same server as the WordPress software, your wp-config.php file typically defines the database’s location as “localhost”:
While you’re unlikely to work with your wp-config.php file on a daily basis, you’ll also encounter this same principle if you ever use a WordPress migration plugin. Speaking of…
3. Any Plugin That Involves Your Database
For the same reason as above, you’ll often encounter localhost when you’re working with any plugin that involves your WordPress site’s database.
For example, when you use the Duplicator migration plugin, you have an option to specify the “Host” for the destination MySQL database:
In most situations, you’ll enter localhost in this box. Again, that’s because the MySQL database is running on the same server as the WordPress software.
And that’s all most WordPress users need to know about localhost!
Remember, an easy shorthand is to just think of localhost as “this computer”. Just remember that you need to think about it from the perspective of the program that you’re working with!