core

public_html

> Disclosure: Some links in our guides are affiliate links. We earn a commission if you purchase — at no extra cost to you.

What Is public_html?

For: Small business owners and beginners on shared hosting who’ve just logged into cPanel for the first time and aren’t sure where their WordPress files actually live.

Disclosure: Some links in our guides are affiliate links. We earn a commission if you purchase — at no extra cost to you.

public_html is the root directory on your web server where all publicly accessible website files are stored. When someone visits your domain, the server delivers files from this folder. Every WordPress site we’ve managed — across 200+ client deployments — starts here.


Answer Capsule

public_html is a folder on your web hosting account that acts as the document root for your website. WordPress core files, themes, plugins, and uploaded media all live inside it. If you access your site at yourdomain.com, the server is reading files from public_html (or an equivalent folder named www or htdocs, depending on your host).

Last verified: April 2026


Why You’ll Encounter public_html

You’ll see public_html the first time you open the File Manager inside cPanel. Hosts like SiteGround, Hostinger, and Bluehost all use cPanel, and every one of them places your site files inside public_html by default.

When you install WordPress manually — or when something breaks and you need to restore a WordPress backup — this is the folder you’re working in.

What’s Inside public_html?

A standard WordPress install places these files and folders directly inside public_html:

File / FolderPurpose
wp-admin/Dashboard interface files
wp-content/Themes, plugins, and uploads
wp-includes/WordPress core library files
wp-config.phpDatabase credentials and site settings
.htaccessServer rules, permalink configuration
index.phpEntry point for every page request

The wp-content/ folder is where you’ll spend most of your time as a site owner — it holds everything you’ve added on top of WordPress core. For a deeper look, see our guide to understanding the wp-content directory.

How to Access public_html

  1. Log into your hosting account and open cPanel.
  2. Click File Manager.
  3. The file tree on the left shows public_html as a top-level folder.
  4. Click into it to see your WordPress installation.

Alternatively, connect via FTP (using a client like FileZilla) and your FTP root will land you one level above public_html. From there, navigate into the folder directly.

In our testing, hosts using Plesk or DirectAdmin sometimes name this folder httpdocs or www instead of public_html — the function is identical, only the label changes.

One Thing Most Beginners Miss

If your domain isn’t loading after installing WordPress, check whether the files are in the right place. A common mistake: extracting a WordPress ZIP creates a nested folder, so your files end up at public_html/wordpress/ instead of public_html/. The server looks for index.php directly inside public_html — one extra folder level breaks the entire install. We see this on at least one in five manual installs.

Security Note

public_html is publicly accessible by design — that’s its job. But wp-config.php, which lives inside it, contains your database password. The official WordPress wp-config.php documentation explains how to move it one level above public_html for an added layer of protection.