Whats inside WordPress: A look into its folder structure

September 19th, 2023

WordPress is renowned throughout the world for being highly user friendly and easy to learn. It has a feature rich dashboard from where you can configure and control most of the aspects of your WordPress website. The backend of the WordPress software is just as organized and user friendly. The only problem is that it requires good knowledge of WordPress and its architecture to properly manipulate it from the backend. But if you are serious about WordPress programming or like to experiment in your WordPress site, it’s important to know what goes where. Because no matter how careful you remain you are bound to break your WordPress site once or twice and the best way to rectify it would be from the back-end.

wordpress-folder-structure

Image Credit @ Mikhail Nishchenko

Experiment all you want but in localhost

It’s alright to experiment with your WordPress website. But it’s best to experiment on a localhost virtual server installation of your website so you don’t decrease the uptime of your live site. Also localhost installation can be taken down without any problem and once you are satisfied with the results, it can be easily updated on the live domain. Also it’s better to take a backup of your WordPress folder and database on a safe and secure location before any new change.

WordPress folder and its structure

wordpress-mainfolder

To understand WordPress you have to first download the WordPress software. It’s a zip file so extract it in the right folder according to your needs, for example, if you want to install it on XAMPP local host extract it in xammp/htdoc/ folder, or if you just wish to check the contents extract anywhere you like.

WordPress or WordPress 3.5.1 to be more exact, contains three additional folders inside the main WordPress folder, along with some PHP files. These folders are named wp-include, wp-admin, and wp-content. All three folders are equally important and are helpful in their own way. Here we discuss in brief about what each folder contains and what they are used for.

WP-CONTENT

wordpress wp-content

Wp-content as the name suggest is where your content goes. The main folders inside wp-content are Theme, Plugins, and Uploads, and they also contain exactly what they are named, i.e., Theme contains all the themes you have created or downloaded for use in your WordPress site. All the themes are also neatly arranged in folders whose names match exactly with the theme name. For example all the content of the twenty twelve theme would be placed in folder named Twentytwelve . So the correct path of the theme becomes WordPress/wp-content/twnetytwelve/. Same is the case with plugins. So, if you install a plugin that completely breaks your WordPress dashboard or install a theme that is not allowing you to open the dashboard, just go to wp-content/theme or wp-content/plugin folder and delete the folder that is named according to the malfunctioning theme or plugin. In 95% of the cases this fixes the problem. If it still doesn’t solve the issue, use the backup (so you see backups are important).

Uploads folder contains all the images and videos that you have uploaded on your WordPress site. They are arranged in folders named according to the year and then into subfolders according to the month’s number. So, if you wish to migrate your whole image gallery from one site to another, or wish to take a backup of your images, this is the folder to work with.

WP-ADMIN

Wp-admin is the folder that is best left untouched. It contains the CSS, JavaScript, and PHP files that controls and renders your admin dashboard. And as a matter of security it is best to password protect this folder at the domain level. Nearly all domain hosts allow users to password protect a folder from the cpanel itself but if yours does not have that service or you are hosting on your own server create .htaccess file and whitelist only your selected IP address to allow access to your WordPress site. Simply copy the following code and paste it in a file named .htaccess that is placed in wp-admin folder. Replace the IP addresses with your desired IP addresses

AuthUserFile /dev/null

AuthGroupFile /dev/null

AuthName “Access Control”

AuthType Basic

order deny,allow

deny from all

# whitelist first IP address

allow from 192.168.1.1

# whitelist second IP address

allow from 192.168.1.2

allow from 192.168.1.3

WP-INCLUDES

Wp-includes is another folder that is best left untouched unless you are an expert programmer and WordPress developer. It contains the main PHP, CSS, JavaScript, and image files of WordPress that turns all the cogwheels of your WordPress site. It contains all the hierarchies, rules, actions, etc., that dictates the basic function of WordPress software and your WordPress site.

Conclusion

WordPress is a very versatile tool but to understand the true magic of WordPress it is necessary to understand how it works and what goes where. Knowledge about WordPress folder structure is also important in creating custom themes and custom plugins for your WordPress site.

Certifications &
Partners
Certifications