It's a love hate thing: Apache

Whilst carrying out search engine optimisation on a site you always need to be aware of the server platform that the site is hosted on. The Apache HTTP server makes up about 58% of all websites on the internet and is one of the most stable, reliable and secure web servers available and has even been credited with the initial rise of the World Wide Web. The only other web server that comes close is the Microsoft IIS server that has a 31% market share.

Apache owes its origins to a web server called NCSA HTTPd created by Robert McCool around 1994. The original Apache group was set up to allow a central resource for the project and the first version of Apache was created by applying a number of patches to the original NCSA HTTPd codebase. This new version was called "a patchy" server, which was soon turned into Apache.

Some reasons why I love Apache

  • Apache runs on virtually any operating system and will integrate very well into Windows and Linux without any trouble.
  • It is open source so it is completely free.
  • It is quite easy to configure as everything is kept within one text file and there is plenty of online documentation and books available so that if you do ever come across a problem you can almost certainly fix it.
  • Due to the built in API there are many modules available for the server to provide further functionality beyond the basic install. Apache comes with many different modules built in, but the most notable third party modules are PHP, Perl and Python. PHP is a server side programming language that allows the creation of dynamic web pages and web based applications and is probably part of the reason why Apache is so popular.
  • The mod_rewirte module can be used to convert URLs from something like "index.php?id=83d93&cat=927dmd" to something that can be easily read by search engines like "/graphics_cards/xfx6600gt.html". These are called search engine friendly (SEF) URLs.
  • You can configure Apache on a per-directory basis by using configuration files in those directories. This configuration can be anything from setting the page to view if a 404 error is found, to password protecting the directory. These files are usually called .htaccess but you can set the file names in the configuration options.
  • Apache comes with lots of tools. One I use quite a bit is ab or Apache Benchmark which allows you to see how a website performs by sending requests to the site and timing it.
  • Performance wise Apache is pretty good. There are HTTP servers out there that can serve static HTML pages faster than Apache. However, Apache is normally used to server non-static pages so the small difference in performance doesn’t really matter.
  • Apache can set up as a proxy server just by turning on a module.
  • Secure Sockets Layer (SSL) also comes with the default install of Apache (but needs to be turned on). It is a way of encrypting all transmissions from client to server across the internet. You will normally see this with shopping cart applications so that client’s credit card details remain secure.
  • Virtual hosting can be set up very easily and can be configured to do virtually anything you want.
  • You can host a website from home using a spare computer and a broadband connection with only a minimal understanding of server technology.

So why hate it?

  • In short I don’t. I can’t even think of one thing. Perhaps performance could be improved, but it is still faster than most of its competitors at serving dynamic web pages.

Apache is a brilliant product and it is here to stay. The global usage of Apache has dropped from 80% to the current 58%, but I think this only due to the recent popularity of Microsoft’s IIS server, which has risen from about 25% to the current 30%. Personally I can’t see why IIS is so popular. It is clunky, fully of security holes and memory leaks, cannot be configured very easily, doesn’t allow URL rewriting, doesn’t allow you to configure on a per-directory basis, and many other things. Apache has none of these problems.

In search engine optimisation terms Apache is a dream to work with. You can easily solve a multitude of problems that you simply can’t with other servers. If you have a problem with IIS you have to get in contact with the host, who will invariably tell you that your very simple request is, in fact, impossible.

Philip Norton
SEO Programmer

Leave a Reply

Your email address will not be published. Required fields are marked *