Tweaking the site requires some skill with respect to the web server and scripting technologies used. Of course, if you are fully comfortable working with PHP on Apache web servers and have no idea of how to work with ASP.NET on a Windows server, then you should not accept any onsite SEO work for a Microsoft technology-based website.
It is risky to do onsite work on a website which is beyond your capabilities, because you might damage the current stable setup of the website — and you will be liable for the damages caused.
Therefore, this article will guide you through identifying the most commonly used web servers and website scripting technologies used as a requirement for doing onsite SEO work.
How to tell if the server uses Apache or Microsoft IIS
According to Netcraft’s April 2010 survey, Apache web servers earned a 53.93% market share, while Microsoft IIS has a market share of 24.97%. Together, these two are the most commonly used web servers on the Internet.
Let’s start by examining one of the most important steps – identifying the web server used by the website. If you are an Apache user and plan to use .htaccess to do some redirects or URL rewrites, you’ll find this doesn’t work with IIS.
Also if you are more knowledgeable at working with Microsoft IIS servers than Apache, then you should check first to see if the website on which you are planning to do onsite SEO work is on a Microsoft-based server.
First method: The Apache error .htaccess test
This method is the quickest way to check if the server uses Apache or Microsoft IIS. Note that this technique does not exactly provide the web server information every time, but it is worth checking. If this method fails to identify the web server accurately, try the next method. This is how the first method works:
Step 1: Suppose you need to determine what type of server is used by www.swimsmooth.com. The first thing you need to do is launch a web browser (Google Chrome, for example).
Step 2: In the browser address bar, type the home page URL + .htaccess. For our example, this is the complete address you need to type in the browser address bar:
Step 3: Press the enter key and examine the results. By default, if the server is Apache, it will return a 403 forbidden error, because the .htaccess should not be publicly accessible. After this, it will include server information, such as that shown in the screen shot below:
From the above screen shot, it is obvious that swimsmooth.com is hosted on an Apache web server, because the 403 forbidden errors include an Apache server name tag.
Let try another example. Suppose you need to know the server used by www.dotnetspider.com. Using the “Apache error .htaccess test” reveals this result:
It shows that the website is hosted on a Microsoft IIS web server, because it is included in the error.
This one is an online tool. This is how it works:
Step 1. Visit this URL: http://web-sniffer.net/
Step 2. In the “HTTP(S)-URL,” enter the complete home page URL. Suppose you will need to know the web server used by seochat.com. Enter http://www.seochat.com/.
Step 3. Under HTTP version, select “HTTP/1.1.”
Step 4. Select “GET” and then set the user agent to “Web-Sniffer.”
Step 5. Click “Submit.”
Now take a look the results under the “HTTP Response Header” and see the value of “Server:.” SEO Chat uses Apache web server because the value is set to “Apache.” This is a reliable tool, and could tell you the web server for most websites as long as it is live.
Although most websites’ servers can be determined by using the first two methods illustrated above, some websites’ web servers cannot still be determined using those methods. A good example is the http://stackoverflow.com/ website.
Third method: Using NetCraft’s "What’s that site running?" results
The advantage of using this method is that it not only reveals the web server, but the operating system used by the website as well.
Step 1. Go to this URL: http://uptime.netcraft.com/up/
Step 2. In the “What’s that site running?" area, enter the domain: e.g stackoverflow.com.
Step 3. Press search. The following screen shot shows the results for our example:
The data above shows that stackoverflow.com is running on the Linux operating system, and on Nginx web server, as recorded from May 2010 to August 2010. However, the web server is currently unknown. In this case, you can directly ask your SEO client some information about their web server, and then you can confirm it with the methods discussed previously.
Identify the scripting language and technology used
One of the most important things you need to know is the scripting language used (e.g PHP, JSP, VB.NET, C#, etc) by the dynamic website. Of course, if the website is purely static and is not using any databases, then it uses only .html.
Most commercial websites on the Internet are dynamic, and use a specific scripting technology. Bear in mind that ASP.NET is not a scripting language, but a part of the larger Microsoft .NET framework, more or less. If you are familiar with that technology, the most common languages used are C# and VB.NET.
There are also different methods you can use to check the scripting technology used by the website.
First method: The template file extension test
This is the fastest method, but it will not always reveal the scripting language — particularly if URL rewrite has been implemented, which removes the file extension. Simply go to the website and examine its URL. If you can see that file extension is .php, then the website uses the PHP scripting language. If the website uses .aspx, then it uses ASP.NET technology. If the website uses .jsp, then it uses Java server pages.
The quickest way is to go the website’s home page, and then view the source code in the browser. Look for a string such as “php,” “aspx” or “jsp” in the URL/href value of the hyperlinks.
Another quick way is to go to Google and use the site command. Check the indexed pages to see any evidence of the file extension used by the dynamic pages. This might not be updated, because the pages in Google do not exactly reflect the present condition of your website. For example, suppose you change the scripting technology from PHP to ASP.NET; most of the indexed pages in Google still use .php, even though your website now uses .aspx.
Second method: Using Web Sniffer
The web sniffer tool: http://web-sniffer.net/ does provide the scripting language used by the website. Looking at the “X-Powered-By:” value will tell you.
Third method: The index file and default document test
Suppose you are interested in knowing the scripting language used by Facebook. The index file test appends an index file to the home page’s root URL and checks the results. If there is an error or "page not found" results, you’ve not picked the correct scripting language.
For example, the following are the results of an index file test done on http://www.facebook.com/.
- http://www.facebook.com/index.aspx – content is currently unavailable.
- http://www.facebook.com/index.asp – the page you requested was not found.
- http://www.facebook.com/default.asp – same as #2.
- http://www.facebook.com/index.jsp – same as #2.
- http://www.facebook.com/index.php – returns OK (200 header status) and is the same content as the home page root URL: http://www.facebook.com/
Therefore the index files and default document test above concludes that Facebook uses the PHP scripting language.