Server File Management

I have worked on many websites and one problem I have found on all of them is file and folder management. When you have multiple people working on a site they are all likely to name and place files in different locations. This can make things difficult in the future once you have linked several pages to these files.

Folder Structure for New Site

The best time to do things right is when you first create your site. The larger your site gets the more your problem will multiply and make it more difficult to fix. When first creating a site you may want to use this folder structure:

  • admin
  • files
    • css
    • db
    • docs
    • ico
    • images
      • template
    • js
    • pdf
    • txt
    • xml
  • includes
    • template
  • pages

Explanation: It is convenient to put all non html files into a folder called "files" Since none of these files are standalone pages they should be separated from files that are pages.

In your images folder you should also have a folder called "template" which will contain your core images that make up the wrapper or template of your site. Keep this separate from day to day images.

You will also want an includes folder. In this folder have a "template" folder that once again contains your main includes that make up your wrapper. Put other includes in another folder within includes

Finally you will want a "pages" folder. Often times you will need to create orphaned pages such as a sitemap at the root of your site. After awhile there can get to be dozens of orphaned pages sitting on your root. This can be fixed by putting them in a "pages" folder. You can really name it whatever you want but just understand the concept.

Naming Files

Never name files a certain way just so they are sorted properly in a folder.

anotherpage.php
otherpage.php
section_pagename1.php
section_pagename2.php
section_pagename3.php
section_pagename4.php

The correct way to do this is to create another folder called "section" and place all of these files in that folder

Multiple Sites

Another thing to consider is whether or not you will have multiple sites on one server. If so you may want to create a single folder in your root folder and then have your site folders within that. Example:

  • sites
    • site 1
    • site 2
    • site 3