If you haven’t installed IIS toolkit yet, then what are you waiting for? Go! Now! Install IIS toolkit!
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.
Image credits: tsuacctnt