If you haven’t installed IIS toolkit yet, then what are you waiting for? Go! Now! Install IIS toolkit!

Image Credit: tsuacctnt
This is truly a genius tool, and the amount of data that can be extracted is immense. In another blog post, Richard spoke about some cool techniques using IIS toolkit to find orphaned pages when combined with VLOOKUP in Excel, but it can do so much more.
There are a few hidden doors to this tool, which provide you with more powerful options to manipulate the site analysis data beyond the standard reports and queries.
Unlocking custom queries
IIS toolkit has a custom query section which you can use for a deep dive into more specific data. This post will act as a set of keys to start you on your way to unlocking even more custom queries.
For this blog post I will be running over three different custom queries including identifying:
- Internal anchor text popularity
- Internal link count
- 304 not modified
Let’s kick off with finding the different anchor texts used internally throughout a website and sorting these to display the most popular first.

Open up the ‘Query’ drop down menu shown in the screen shot above, and you will notice there are 4 different queries, including a ‘New Query’ option allowing you to utilise custom queries.
How to create a query
Select the ‘New Link Query’ from the drop down menu and the standard query screen appears:

This is the site analysis query report screen in IIS toolkit. Along the top of the screen you are given the options to execute, export, group by, add/remove columns and save a query (which will be covered later in this post).
The query builder (the first section) includes the field name, operator and value columns as default but can be removed and extended to suit you. For the purpose of this query the standard column set up is ok. Within the field name column you can select from a range of filter options related (in this query type) to links.
The operator and value columns allow you to set up the parameters for each filter to further hone in on specific sets of data. The white table below the field entries (you guessed it) is where our data will appear based on these parameters.
Creating the internal anchor text query
What are the most popular anchor texts used on internal links in your website? Here’s how we set up our first query, the internal anchor query.

This first row sets the parameter to exclude counting information by external links from the website. We then need to group this information by link text.
You are then ready to see the magic happen by executing this query to view the data.

You can extend the specifics of this query as much as you like, combining further parameters and then utilising the ‘aggregates’ field to display tailored data listings. But as we are happy for now, we can save this query as an XML file, which can later be uploaded and run on any site analysis report.
Alternatively, if you have had a long day here is the code for this example (just save as XML and upload):
<?xml version=”1.0″ encoding=”utf-8″?>
<query dataSource=”links”>
<filter>
<expression field=”LinkedIsExternal” operator=”Equals” value=”False” />
</filter>
<group>
<field name=”LinkText” />
</group>
<displayFields>
<field name=”LinkText” />
<field name=”(Count)” />
</displayFields>
<orderBy>
<item field=”(Count)” order=”Descending” />
</orderBy>
</query>
Once your query has been saved, you can then export the data from IIS toolkit and into Excel in the same way as a standard report.
The next two queries have been put together in exactly the same way as the query for the internal anchor text. Let’s take a look at the internal link count and 304 header responses.
How to import an XML query
I’ve created the XML you will need for the next two queries. To import these files, head to the dashboard and select ‘Query > Open Query’ and navigate to the XML file.

Two awesome copy and paste IIS toolkit queries
Below is the XML code for the ‘Internal Link Count’ query, which excludes all image files and external links, and then combines the use of aggregates (‘link text, linked-title and linking URL’) to filter the data even further.
This query can help you find a best friend of yours who is actually a bit of a loner, ok that’s never going to happen but it can help to identify important pages on a website which contain very few internal links.
<?xml version=”1.0″ encoding=”utf-8″?>
<query dataSource=”links”>
<filter>
<expression field=”LinkedIsExternal” operator=”Equals” value=”False” />
<expression field=”LinkedUrl” operator=”NotContains” value=”jpg” />
<expression field=”LinkedUrl” operator=”NotContains” value=”jpeg” />
<expression field=”LinkedUrl” operator=”NotContains” value=”png” />
<expression field=”LinkedUrl” operator=”NotContains” value=”gif” />
</filter>
<group>
<field name=”LinkedUrl” />
</group>
<displayFields>
<field name=”LinkedUrl” />
<field name=”(Count)” />
<field name=”First(LinkText)” />
<field name=”Last(LinkedTitle)” />
<field name=”First(LinkingUrl)” />
</displayFields>
<orderBy>
<item field=”(Count)” order=”Descending” />
</orderBy>
</query>
304 not modified query
Last but by no means least, is the 304 Not Modified query. This is a custom ‘new query’ in IIS toolkit which is designed to locate pages on a website that incorporate this header response. IIS toolkit already pulls data from the header response of each page, but there isn’t currently a report set up to identify this type of header.
Here is the XML code for this query:
<?xml version=”1.0″ encoding=”utf-8″?>
<query dataSource=”urls”>
<filter>
<expression field=”IsExternal” operator=”Equals” value=”False” />
<expression field=”Headers” operator=”Contains” value=”Last-Modified” />
</filter>
<group>
<field name=”URL” />
</group>
<displayFields>
<field name=”URL” />
<field name=”(Count)” />
<field name=”Average(TimeTaken)” />
</displayFields>
<orderBy>
<item field=”Average(TimeTaken)” order=”Descending” />
</orderBy>
</query>
The first field in the query again blocks external URLs, and the second specifically targets the ‘headers’ section of the page with a custom value of ‘Last-Modified’.
The data has then been grouped by URL and aggregated with the time taken to load each URL, and sorted further to display the most time consuming pages first.
This could be filtered even further to display only HTML pages on a website by filtering images, styles, scripts, feeds etc.
Finished with IIS toolkit? Not yet you haven’t…
There is literally no end to the different kinds of queries that can be created, and when you think you have rinsed all the data you can get from IIS toolkit…..well, you haven’t!
If you are or know of a developer, then the functionality (violations, links, errors and types of data) can be extended a lot further and this is where you can really see the power and flexibility of IIS toolkit.
One example is the W3C validation. Carlos Aguilar Mares writes a fantastic post about how to incorporate W3C validation in to IIS toolkit as a new ‘validations’ constraint for all URLs on a website.
He also writes another in-depth post about how to extend the functionality of IIS toolkit in general to allow for custom validations to be put together.
Have you noticed that we love using IIS toolkit? I hope this post gets you as excited about it as we are.
IIS SEO Toolkit Secrets You Might Not Know is one of our latest posts from: SEOgadget.co.uk. Going to this year's SMX Advanced London? Use this discount code - SEOGADGET011 to get 15% off your entrance fee!
How To Install and Use IIS Search Engine Optimization Toolkit (IIS 7.0)
We think the IIS Toolkit is absolutely awesome!

Image credit: Lumaxart
This post will provide a step by step guide on how to install the powerful IIS 7.0 toolkit from Microsoft, and show you some of the many cool features which can open up a whole new world for extracting information from a website (we are talking about a Xenu link sleuth beater here!).
Please note: IIS 7.0 is only compatible with Windows Vista or Windows 7
The program is quite simple to install but it certainly isn’t one of the most obvious, and when you need a helpful guide there isn’t much about, so here’s something to help get you started…
1. Install Web Platform Installer 2.0
By downloading and installing the Microsoft Web Platform Installer, the set up process of IIS Toolkit becomes a lot easier, so this is a good starting point.
2. Install ‘Search Engine Optimization Toolkit’
Once the web platform installer has downloaded and installed, navigate over to the Microsoft SEO Toolkit page and click on ‘install using web platform installer’ in the download extension box in the right hand column:

Or alternatively here is a direct download and install link for IIS toolkit.
Once the download has begun, the Microsoft web platform installer will take care of the rest and install the required components to set up IIS Toolkit on your computer.
3. Activating IIS Toolkit
Now this is the section which isn’t that clear, once the download and installation process has been completed, on the majority of occasions (unless you are one of the lucky few – if so, then IIS toolkit will appear within ‘All programs > IIS 7.0 Extensions > Search Engine Optimization (SEO) Toolkit’ ready to use) you will need to active the software.
To do this, perform a search on your computer for ‘Turn windows features on or off’, or go to ‘Start > Control Panel > Programs > Turn Windows features on or off)’

Once located a dialog box will be displayed, and under ‘Internet Information Services > World Wide Web Services’ double check that the check boxes have all been selected (see below screenshot for further guidance).

Once selected hit ‘ok’, and you are ready to launch IIS Toolkit.
Go to: Start > All Programs > IIS 7.0 Extensions > Search Engine Optimization (SEO) Toolkit 1.0
Using Microsoft’s IIS Toolkit
Now it’s time to let the fun begin. Once you have opened the program click on the ‘create a new analysis’ link underneath ‘Site Analysis’, and add in the details of the website you are looking to examine:

Clicking ‘ok’ will start the site crawl.
If you have used Xenu link sleuth you will immediately notice how much quicker and cleaner it is to crawl a website. Once the crawl has been completed you will be presented with a report overview with an indicator on the number of links crawled and errors encountered:

You can take a look in a lot more detail at the errors encountered within the violations tab (*cringes at the thought of posting this* If anyone asks it is not for seogadget!):

The summary provides a fairly detailed analysis of the types of errors (or potential errors) encountered and the number of occurrences of each type of error.
The Violations section also provides details on:
- Pages with the most errors
- Error levels picked up (number of errors, warnings and information)
- Categorises the errors (SEO, content, web mark up etc)
But the IIS Toolkit analysis doesn’t finish there, content, performance and links sections all contain their own extensive report data. Here are some bullet points summarizing these 3 sections of IIS toolkit:
- Content
- Host summary
- Directory summary
- Content types summary
- Status code summary
- External links
- Duplicate files
- Duplicate titles, descriptions and keywords
- Duplicate keywords
- 404 errors
- Large content areas
- Broken links by page
- Performance
- Slow pages
- Slow pages by directory
- Slow pages by content type
- Pages with many resources
- Links
- Pages with most links
- Most linked pages
- Redirects
- Links blocked by robots.txt
- Internet protocols
- Link depth
You can then export all of this data into a single Excel file where you can hone in even further on the data, and Richard’s post last week on finding orphaned pages from your sitemap.xml using IIS toolkit is just one example on how to use this powerful piece of kit.
Now I have always been a Xenu link sleuth fan, but after using IIS SEO toolkit, let’s just say ‘times they are a-changing’.
How To Install and Use IIS Search Engine Optimization Toolkit (IIS 7.0) is one of our latest posts from: SEOgadget.co.uk. Going to this year's SMX Advanced London? Use this discount code - SEOGADGET011 to get 15% off your entrance fee!
Find Orphaned Pages From Your Sitemap.xml File with Excel and IIS Toolkit
For a little while now I’ve been wrangling with an interesting problem in site architecture diagnostics. Do I have any orphaned pages on my site, and how do I find them?
Frequently, web developers will write code to generate an XML sitemap that will include all URLs in the database, linked to or no. How can we use this fact to our advantage?

Image credit: Nick Johnson
I thought I’d share a strategy using Excel to extract all the URLs on your site, comparing them to the raw export from the amazing IIS Toolkit. (PS – word is that Daniel’s writing a “how to” for IIS, including the installation…)
Import your XML sitemap URLs into Excel
Did you know you can import an XML sitemap into Microsoft Excel? It can be a little crash-tastic, but oh-so rewarding when it works. Let’s use SEOgadget’s XML sitemap as the example:

Then, pop your XML URL into the dialogue box:

I’d recommend you only do this if you have reasonably powerful machines, we rock i7′s with 4gbs of ram as a system minimum. Big sitemaps take a while!
The end result is something like this:

By the way, you could import Twitter search results via the RSS feed into Excel using the same method, if you’re into that kind of thing.
Get your IIS site crawl data
Dan’s working on his next post, so I’m not going to steal any thunder, I promise. Assuming you already have IIS Toolkit, go ahead and export the URL listfrom your site crawl:

Import the CSV export into Excel, and turn the data into a table called IIS. If you haven’t played with exporting data from IIS, you should – it’s amazing.

There’s a ton of brilliant data in the IIS export, including the contents of the server header reponse, internal links counts and the directory the page is hosted in. We’ll talk more about that later on, use for now we’re interested in orphaned pages.
Use VLOOKUP to find pages in your sitemap that have no internal links
At the end of the day, a page in your website with no internal links is very unlikely to rank. Many pages with no internal links indicates some problems with your site architecture that you’re going to need to fix. Alas, how to find them? With a trusty VLOOKUP, that’s how.
We’re most interested in the “linked by” column, which contains the total number of internal links a page has. All you have to do is pull this data into your imported sitemap XML list. Assuming you name your IIS table “IIS”, the query will look like this:
=IFERROR(VLOOKUP(XML[[#This Row],[ns1:loc]],IIS,18,0),”Not crawled”)
Why is this good?
The end result will be a list of URLs in your XML sitemap with corresponding internal link numbers. That’s cool for doing the following:
- Finding URLs in your XML sitemap with no internal links, and are as a result, “Not crawled”
- Finding URLs in your sitemap with very low numbers of internal links
Have fun, and have a great Bank Holiday weekend
Find Orphaned Pages From Your Sitemap.xml File with Excel and IIS Toolkit is one of our latest posts from: SEOgadget.co.uk, UK SEO consultants helping people and organisations succeed in search.
