---------------------------------------------------------- Permission is granted for
below article to forward, reprint, distribute, use for ezine, newsletter, website, offer as free bonus or part of a product for sale as long as no changes are made and
byline, copyright, and
resource box below is included. ----------------------------------------------------------Designing 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
actual path to yourdomain.com on
web server may be known only by
system administrator. And
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
advantage that you don't need to know
path to
webpage that you want to link to, you only need to know where it is "relative" to
webpage containing
link.
Designing Your Directory Structure
The first step to implementing a website is to design
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
top level of
website. Good luck maintaining that website!
To keep
files organized, you need to create sub-directories (folders) on
website. Even though
website consists only of articles and digital downloads, you need five sub-directories, as described below.
- articles - downloads - general - common - cgi-bin
You understand what
"articles" and "downloads" sub-directories are for, but what are
other three sub-directories for? It's standard practice to provide certain features on your website, as listed below.
- About - Contact - FAQ - Privacy Policy - Search - Sitemap - User Agreement
Each of these features requires a webpage. Instead of dumping
webpages at
top level of
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
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
folder name has stuck as a traditional place to store scripts. Almost all websites come with a preconfigured cgi-bin folder, and
website may be configured so that
cgi-bin folder is
only folder with rights to run scripts.
I would also recommend that you create certain sub-directories for some of
above mentioned directories. Most web pages contain images. You could dump all
images in
same folder with
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
articles, downloads, and general directories. The downloads directory should also have a "files" sub-directory to store
downloads.