FAQ FTP & File Management

Where do I upload my website files?

Into the public_html folder, and nowhere else, if you want visitors to actually see what you have uploaded.

Updated 4 min read Beginner

Your website files belong in a folder called public_html. That folder is the web root — the specific place on your hosting account that a browser actually reaches when someone visits your domain. Files stored anywhere else on the account exist and take up space, but they are never served to a visitor, no matter how correctly they are named or formatted.

Finding public_html

Connect to your hosting account with an FTP client, or open the file manager in your control panel. Either way, you will see a short list of folders at the top level of the account. Look for one named exactly public_html — on the vast majority of hosting accounts it is created automatically and is already there before you upload anything.

Uploading straight to the top level is a common mistake

The account's top-level folder and public_html are not the same thing, even though they can look similar in a file listing. If you upload a file to the very top level instead of into public_html, it is saved to your account but will not appear on your website. This is the single most common reason a new site owner says an upload "did not work" when it actually did — it just went to the wrong place.

What goes inside it

Everything a visitor's browser needs to load your site: your homepage file (usually named index.html or index.php), every other page, your images, your CSS and JavaScript, and — if you are running an application such as WordPress — its entire folder structure. If your site was installed for you through your control panel, this is already set up correctly and you generally only need public_html for adding extra files afterwards.

What if I have more than one domain?

If your account hosts a single domain, everything for that domain goes directly inside public_html. If you have added other domains to the same account, each additional one usually gets its own subfolder — your control panel names it for you when you add the domain, and the same rule applies inside that subfolder as applies inside public_html itself.

Checking it landed in the right place

After uploading, visit your domain in a browser, using a private or incognito window so you are not shown a cached version of an older page. If the new file does not appear, reconnect with your FTP client, open public_html, and confirm the file is actually inside it and not sitting one level up. Our guide to why an uploaded file is not showing covers the other reasons this can happen, including permissions and browser caching.

If you have never connected to your account before, connecting with FTP covers getting into the account in the first place, using the host, username and port shown in your own control panel.

Related reading