Lazy Sitemap Generator
Posted Friday, February 8th, 2008 at 3:40 pmStephen Turbek’s 2006 article entitled “The Lazy IA’s Guide to Making Sitemaps” and Michael Angeles’ “Automating Diagrams with Visio” inspired me to adopt the strategy of first developing a website’s navigation and information architecture in Microsoft Excel and then use Microsoft Visio to provide the automatic formatting.
I love Visio and often find myself spending too much time twiddling with the look and flow of the sitemap during development instead of remaining focused on the logic, content, and organization. Turbek and Angeles’ approach to using two tools to separate the processes of organizing a website’s navigational scheme from the diagramming phase made a lot of sense to me.
The shortcoming of Turbek’s article and his downloadable Excel examples was that they limited information architects to only two levels (two clicks) deep. Several people commented that they wanted to include three or more levels deep and a few even proposed solutions.
It wasn’t until Edward Garana’s comment that I became inspired to develop a sitemap generator that can go beyond two levels. While my examples are only seven-levels deep, you could easily add as many columns as you want.
Introducing LazySitemapGenerator
Requirements
- Microsoft Excel 2003 or 2008 with Macros enabled
- Microsoft Visio 2003 or 2008 with the Organization Chart Wizard Add-On
- Download LazySitemapGenerator version 1.0
Please note that LazySiteMapGenerator uses a single Macro to do its job. You must have Macros enabled for it to work. If you want to first view the content of the Macro before opening Exel, open LazySiteMapGenerator_FindParentMacro.bas in Notepad or some other text editor.
Instructions
The Microsoft Excel files included with LazySiteMapGenerator are composed of worksheets “Input” and “Output.” As you might guess, Input is where you develop your text-based information architecture. Output is where my Excel formulas and FindParent macro defines the relationships that you’ll use to import into Microsoft Visio.
Step 1: Cells “Input!J2″ and “Output!D2″ must be the only two cells in either “M#cr#Ch#ck” (misspelled on purpose) column to have an “x” in them (empty all gray cells in both worksheets)
Step 2: The “Input” worksheet must have no empty rows/gaps
Step 3: Click on any cell in the “Output” worksheet
Step 4: Press and hold “Ctrl-A” to run the “FindParent “macro
Step 5: Repeat “Step 4″ (continue holding) until all of the values are populated in the “Output!ReportsTo” column
Step 6: Stop holding “Ctrl-A” when the Microsoft Visual Basic error pops up with “Run-time error ‘1004′,” which means you are done
Step 7: Click on “End” to clear the Run-time error 1004
Step 8: Switch back to the “Output” worksheet, click “File > Save As” and select “Text (Tab delimited)”, clicking “Ok” and “Yes” to Excel’s formatting alerts
Step 9: Close Excel, open Visio, and run the “Tools > Add-Ons > Organization Chart > Organization Chart Wizard”
Step 10: Select “Information that’s already stored in a file or database” then click “Next”
Step 11: Select “A text, Org Plus (*.txt), or Excel file” then click “Next”
Step 12: Browse to the tab-delimited file you created in “Step 8″ then click “Next”
Step 13: Select “Name” for the Name field, “ReportsTo” for the Reports To field, and leave the First Name field blank, then click “Next”
Step 14: Ensure “Name” is the only value in the Displayed Fields column, then click “Next”
Step 15: Ensure the Custom Property Fields column is blank, then click “Next”
Step 16: Select “I want to specify how much of my organization to display on each page,” check the two checkboxes, and click “Next”
Step 17: Ensure Employee at Top of Page is “Home” and Additional Levels is “All Subordinates,” then click “Finish”
Step 18: [Optional] Select “Shape > Layout Shapes” to open Visio formatting options
Step 19: [Optional] Set Style to “Compact Tree,” Direction to “Right then Down,” Depth to “Shallow,” Style to “Organization Chart,” Direction to “Left to Right,” Appearance to “Curved,” check “Apply routing style to connectors,” check “Enlarge page to fit drawing,” and click “Ok”
Step 20: [Required] Bask in your cool sitemap glory
Summary
There you go. You now have a handy process for automatically generating Visio diagrams from Excel text files. Now you can focus on the intellectual endeavor of organizing information and envisioning user work flow without being distracted by Visio’s diagramming tools.
Download Lazy Sitemap Generator
Download link: LazySitemapGenerator.zip




















Saturday, February 9th, 2008 at 2:36 pm
Great to see someone take this to the next level!
Wednesday, February 20th, 2008 at 11:41 am
This is awesome. One thing I’d add is you can change the look of the org chart if you modify the document stencil
Thursday, February 28th, 2008 at 11:53 am
Hi,
Visio novice, sorry if they are very basic questions, but I have 4:
1 - Visio 2003 has a feature where it automatically goes out and creates a webmap. Why should we do this?
2 - I followed the instructions, but my map ended up being a single box with “HOME”. I’m thinking I did something wrong.
3 - How would you name the web site hiarchy? In other words, how can I match my apples (A primary website with a map showing a few levels of what it links to) to your oranges (Library, measurment, usage, etc.)?
4 - And if I have to enter all of this information manually, how is this a time saver?
Signed, Confused
Friday, February 29th, 2008 at 8:15 pm
Dan S. Here are some brief answers to your questions.
Visio’s “Generate Site Map” feature is used to crawl an existing website and attempt to map its information architecture. Lazy Sitemap Generator is designed to help you develop a sitemap in the planning stages of web design (before a site is built).
You may have done something wrong. I know my tool has a lot of steps. But if you follow them accurately, Excel’s “Output” tab should like like the image in Step 5.
I name navigation areas Nav Account, Nav Search, Nav Main, Nav Feature, Nav Audience, Nav Footer, and make them all children of Home (e.g. these descriptive navigation containers appear in column C while their Level 1 navigational elements begin in column D).
Developing your site map in Excel lets you focus on the information architecture logic and avoid fiddling with Visio’s formatting and linking, which takes a lot of time and detracts you from staying focused on the thought process of organizing information. Once the hard work of building an outline in Excel is done, you’re just a few steps away from building a nice looking sitemap in Visio. And changing things around in Excel is much easier than breaking and recreating links in Visio.
Sincerely, Jason Pearce.
Monday, March 3rd, 2008 at 10:25 am
I understand now. Many Thanks
Monday, March 3rd, 2008 at 3:33 pm
Jason,
Just wanted to say that I absolutely love this tool and thanks a ton for making it available. I have used it quite a bit on my most recent project.
The only hiccup I ran into was that I needed to re-save the text tab delimited file in ANSI after it was originally saved through Excel. For some reason Visio could not open the text file unless I re-saved it as ANSI.
Thanks again.
Sunday, March 9th, 2008 at 9:24 pm
this looks great for a new site, but do you know a way to import an existing website into this format? (for a content inventory)
Friday, March 14th, 2008 at 8:56 am
Zef,
Visio has a tool that will build a sitemap from an existing website. You’ll find it at File > New > Web Diagram > Web Site Map.
Another tool I’ve used in the past is Xenu’s Link Sleuth. Xenu is designed to look for broken links on an existing website, but it also builds a basic HTML sitemap as an unordered list.
Jason Pearce
Friday, March 21st, 2008 at 1:34 pm
Looks like a great tool! Following running the macro, I haven’t figured out how to insert new rows on the Input and have them appear on the Output tab. The Output tab appears to ignore both new rows and items that have been inserted by shifting cells down. Any tips? Perhaps I need to somehow reset the Output tab content?
Wednesday, April 16th, 2008 at 3:14 pm
This is great! But, I wonder how to add a column to the Output page: I want to have URLs brought over as assignable properties to the shapes.
Thanks for sharing this!
Thursday, April 17th, 2008 at 11:20 am
First, let me preface by saying: I use Unix, Linux, Mac, and Windows on a daily basis.
I am not bashing windows- I am merely making an observation that site maps should not be this difficult to make.
There’s a tool for mac called OmniGraffle that, once you use it, you’ll realize that site map creation is trivial, and there are tools that turn even complex site maps into easy work. OmniGraffle is such a tool.
Really, if you have access to a Mac, check it out, then demand that microsoft create similar functionality in Visio. OmniGraffle really has found the easiest way to do this stuff.
Wednesday, April 23rd, 2008 at 3:40 pm
This is pretty cool but I wonder how do you make it so that some flows which are common are expressed correctly? For instance, what if there are several parent pages that ultimately link to the same flow of pages, and this flow is never at the same level of hierarchy coming from the various parent pages?
Tuesday, May 13th, 2008 at 12:59 pm
Wow. Thanks for this. I work on a lot of enterprise portals — mapping this stuff out by hand is difficult. This is much better.