Design Your Website's Directory Structure
By Stephen Bucaro
Any kid, and their grandmother too, can make a webpage. There are many "wysiwyg"
webpage design applications that let you create a webpage as easy as typing text.
But only a few people can create a WEBSITE. The stumbling block is knowing how to
link webpages together to form a website. I have seen many websites that consist
of a single webpage - about a mile long!
The first problem is that websites are contained in virtual directories. You know
that your webpages can be found at yourdomain.com, but the actual path to yourdomain.com
on the web server may be known only by the system administrator. And the system
administrator can move your website to a different folder, or even a different
computer, without changing its virtual address.
The second problem is that most people don't know how to write a relative link.
Relative links have the advantage that you don't need to know the path to the
webpage that you want to link to, you only need to know where it is "relative"
to the webpage containing the link.
Designing Your Directory Structure
The first step to implementing a website is to design the directory structure.
Let's design a directory structure for a simple download website. The website
consists primarily of articles and digital material that visitors can download.
You could just dump everything at the top level of the website. Good luck
maintaining that website!
To keep the files organized, you need to create sub-directories (folders) on the
website. Even though the website consists only of articles and digital downloads,
you need five sub-directories, as shown below.
You understand what the "articles" and "downloads" sub-directories are for, but
what are the other three sub-directories for? It's standard practice to provide
certain features on your website, as listed below.
• User Agreement
Each of these features requires a webpage. Instead of dumping the webpages at the
top level of the website, or mixing them in with articles or downloads, let's put
them together in a folder named "general" (I'm sure you can think of a better name).
All of your webpages use certain things in common, for example, your logo graphic.
If your web server provides SSI (Server Side Includes) all your webpages can share
a common header file and a common footer file. You might also define all your website's
styles in a common style sheet. Let's put all of these files in a folder named "common".
Your contact page might use an email form. If your server provides server-side scripts,
you would place the email form script in a folder named "cgi-bin". Cgi-bin stands
for "Common Gateway Interface - Binary". Few people use CGI any more, and those that
do don't use binary files, but the folder name has stuck as a traditional place to
store scripts. Almost all websites come with a preconfigured cgi-bin folder, and the
website may be configured so that the cgi-bin folder is the only folder with rights
to run scripts.
I would also recommend that you create certain sub-directories for some of the above
mentioned directories. Most web pages contain images. You could dump all the images in
the same folder with the webpages, but when you get more than about 50 files in a
folder, it becomes difficult to maintain. You should create an "images" sub-directory
in the articles, downloads, and general directories. The downloads directory should
also have a "files" sub-directory to store the downloads.