Using HREFExchanger and Google SiteMap components for DotNetNuke on a multi-portal site

DotNetNuke (DNN) is an open-source portal system for ASP.NET. It is pretty good, but out-of-the-box it is not the most search engine optimised (SEO) software that there is. Two components that can help are HREFExchanger ($29.95) and
Google SiteMap

HREFExchanger rewrites the URLs of a site as friendly URLs, such that:


This is much nicer for the search engines, and will help your new visitors find you.

The Google SiteMap component generates an XML file called a … you guessed it … Google Sitemap. This file tells Google where all of your pages are and helps ensure that your site is fully crawled. I have noticed a big difference since adding sitemaps to my sites. The L-Space Sitemap component is the most expensive for DNN, and also the best. It is the only one that works properly with HREFExchanger, and the support is fantastic. It is worth the extra money.

I have happily combined these two components on a few DotNetNuke sites, but today I ran across two snags. I was adding HREFExchanger and Google SiteMap to an existing site with multiple portals and it was not working. The SiteMaps came out with only two pages listed and with non-friendly URLs. Using the site as such, the URLs were correct, but not in the SiteMap.

The first problem was due to a false assumption I had made. I assumed that Portal4’s SiteMap would be at http://portal4/GoogleMap.aspx and that Portal5’s would be at http://portal5/GoogleMap.aspx. This turns out not to be the case. The true URL for the sitemap is http://portal4/GoogleMap.aspx?portalID=4. Using this URL solved the first problem, now all of the pages on the portal were listed in the SiteMap. But they did not have friendly URLs.

According to the HREFExchanger site, in a multi-portal site with Google SiteMap, you need to make the following (example) additions to your web.config file:

<hrefExchanger extension=".aspx" w3c-output="transitional">
    <portal portalid="1" extension=".page" w3c-output="none">
        <url path="GoogleMap.aspx" action="filter" />
        <urlpath="images/SomeImage.aspx?getimage=1" action="ignore" />
    <portal portalid="2" extension=".dnn" w3c-output="strict" />

this is not correct. In a multi-portal site, the line <url path="GoogleMap.aspx" action="filter" /> should actually read <url path="GoogleMap.aspx?portalID=1" action="filter" />. Once I discovered this and made the changes, it all worked perfectly.

Hopefully the developers of these components will render this post obsolete in future versions of their products, but for now you need to make these changes.


ik versta een beetje nederlands, maar ik wil MSN in het engels zijn*

MSN is smart. At some point they detected that I was living in the Netherlands, probably by my IP, and since I lived in NL I obviously perfectly understand Dutch. For the first few weeks it was cool, I really felt like I was on a foreign adventure. Then it just got in the way. Have you ever tried to put a comment on someone’s blog, and not known which button was ‘submit’, and which ‘cancel’? I have, and I didn’t like it. I still don’t like it.

Luckily, I know enough Dutch to know that taal is the word for ‘language’. So I clicked on the ‘taal’ link in MSN. Ah. My taal was set to Nederlands, when I really wanted it in Engels. I set it to Engels. Oh, what sweet relief, the next page was in English, and the one after that. It was that easy. So if you get stuck in Dutch, go to the ‘taal’ page and set your language to Engels and all future MSN pages will be in English.

Until your next session.

I knew that MSN was big, but I did not realise how frequently I visit MSN sites. After frustration multiplication it would easily be 20% of my internet use. Do you know that ‘gekke kikker’ is Dutch for Crazy Frog? I do. At least, when I leave the country it will detect by my IP that I am in an English country, and I will be assumed to be an English speaker.


I have been back in Australia for 3 weeks now and MSN is still in Dutch. I have changed it back to English four times now, and four times it has reverted to Dutch. People tell me that MSN Search is getting pretty good these days, but I can’t tell.

    darryn is searching for:


MSN Search finds:

English – De officiële KNVB website

Universiteit van Amsterdam (UvA) – Engli

More Results …


*translation: I understand a little bit of Dutch, but I want MSN to be in English.

IMSAI Server / MCE case

IMSAI Series 2 plus MinidriveI can’t decide if I want this case for my next Media Center or to use for a server. Either way, I want the new IMSAI Series 2 USB case. It is a reproduction of the computer used by Matthew Broderick in the movie WarGames and the front panel is fully controllable, in fact it seems to actually be one of those old computers.


A blast from the past – Engadget 1985 BBS post

Check out this post over at engadget. It will bring you back to the days before Internet, when dialling up to a local BBS was the evening’s entertainment*. The excitement of choosing which piece of shareware to download, knowing that it would take an hour and would use up the daily 100Kb download limit.

*This is not sad. It is cool.

Google Talk: Day One

Google today released a beta of their IM applet, Google Talk. It is currently available for Windows 2000+ only and requires a gmail account. It is a thin client, offering only basic chatting and voice. It has a very clean interface, with no bells and whistles (unless you count the sounds as whistles, or bells).

Although many of my readers would think that Open Stndards are the best feature, for me it is the ability to put bold and italic words mid-sentence, by typing *bold* and _italic_. The worst feature would have to be that my computer loses the ability to display dialog boxes while GT is running. When I minimise GT to the tray, I get error messages instead of dialogs and as soon as I exit GT all of my dialogs work again. Do No Evil indeed.

If you do not have a gmail account, and want one, comment below and I will invite you. The GT software can be downloaded from Google Talk.