Using SSI's to Ease Site Maintenance

Feb 14
22:00

2002

Lauri Harpf

Lauri Harpf

  • Share this article on Facebook
  • Share this article on Twitter
  • Share this article on Linkedin

Before building a site, every ... has to make a ... what layout method to use. Most seem to go with either aframe or a ... layout, the latter being more popular inthese days. Whil

mediaimage

Before building a site,Using SSI's to Ease Site Maintenance Articles every webmaster has to make a decision
on what layout method to use. Most seem to go with either a
frame or a table-based layout, the latter being more popular in
these days. While both of these have their advantages and
disadvantages, a frame-based site is usually easier to update.
If you happen to have a 200-page site with the same navigation
on every page, adding one link to the navigation menu might
require you to edit all of the pages if the design is built with
tables. On the other hand, if the site uses frames, you can get
by with changing just a few files and save yourself a lot of
time.

No, I'm not trying to convince you to switch to frames. I myself
use tables and am not going to change my layout. The only
problem is that over time, sites tend to grow. It just might
be possible to edit around 20 pages when you want to change
something, but when we start talking 50 or over one hundred, it
just doesn't seem like a good idea. Unless you are prepared to
spend hours trying to keep your navigation menu up to date, you
have to come up with a better way of doing things.

SSI's to the Rescue
===================

If your host supports Server Side Includes and is running
Apache, you can use this article to make your table design as
easy to maintain as it would be if you were using frames. The
best part is that visitors won't even notice that you have
changed anything. After the new system is in place, they will
see exactly the same design and HTML code as before, but you will
be saved from hours of monotonous work.

Server Side Includes, or SSI's, can be used in many ways. With
them you can execute CGI programs, display the current date &
time on your page and do plenty of other things as well. In this
article, we use them for including external files to your HTML.
The idea is to create a separate file from your navigation menu
and use SSI's to point to it, requiring you to merely edit one
file when you wish to change the navigation.

Should you have some knowledge of Server Side Includes, you might
be a little worried. Doesn't this require that you rename all
your pages from ".html" to ".shtml" if you want it to work? That
would take a lot of time, break the links that are pointing to
your site and you might have to resubmit your pages to the search
engines. Is it reasonable to go through all that trouble to make
maintaining your site a little easier?

Fortunately, there's no need to start renaming any files. You
can simply instruct the server to treat your ".html" files as
".shtml" files and execute all SSI instructions in them. This can
be done with a ".htaccess" file. If you already have one, you'll
have to edit it. If you don't, open up a text editor, such as
Notepad, and paste the following lines into a blank file. Be sure
to replace .html with .htm, if you're using that extension.

Options Includes
AddType text/html .html
AddHandler server-parsed .html

Save the file in "All files" mode and name it ".htaccess".
Include the quotes so that Notepad won't decide to name the file
".htaccess.txt".

Changing Your Pages
===================

After the .htaccess file has been created, you'll have to make
changes to your HTML files. To be on the safe side, take backups
of them before doing anything. Then, paste the HTML you use to
generate the menu from one of your pages into a blank file. Save
the file as "navig.html" for example. Next, remove the navigation
menu from all of your pages. Replace it with the following line:



What you're doing is telling the server to insert the code from
"navig.html" into the page. This will be done before the page is
sent to the user who has requested it, so anyone visiting your
site will merely see a normal HTML file. When you have finished
editing your files, connect to your host via FTP and upload the
".htaccess" file, the "navig.html" file and the new versions of
your content pages.

Then it is time for the true test, trying to visit your site and
see what happens. If you have done everything correctly, you
should see that your pages look the same as before. However, if
you make a simple change to the "navig.html" file, it will apply
to the navigation menu of every page. What used to take minutes
or even hours can now be done in seconds, giving you the
possibility to use that valuable time to do something other than
changing the HTML code of each page separately.