---------------------------------------------------------- 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.