I've recently been fighting to get technorati to pick up tags from my drupal site. I discovered that we're still not really confroming to the spec for the rel-tag microformat:
http://microformats.org/wiki/rel-tag
Becasue the end of all taxonomy urls is a numeric ID, the tags are read by spec-mindful web services as numbers. This can be solved on a tag-by-tab basis with path_aliases, but I need an automagic solution.
With a little investigation, it became clear that additional arguments on the url will be ignored by taxonomy.module by default, so I made an override for theme_links() that tacks on a rel-tag-friendly addition to the url.
This only works with clean_urls enabled, but if you don't have those on, you're screwed in any case:
function phptemplate_links($links, $delimiter = ' | ') {
if (!is_array($links)) {
return '';
}
if (variable_get('clean_url', FALSE)) {
// this only works for clean urls
$newlinks = array();
foreach($links as $link) {
if (strstr($link, 'rel="tag"')) {
$result = preg_match('!\>([\w\s]*)\<!', $link, $tag);
$link = preg_replace('!href="([\w\/]*)"!', 'href="${1}/'.drupal_urlencode($tag[1]).'"', $link);
}
$newlinks[] = $link;
}
return implode($delimiter, $newlinks);
}
else {
return implode($delimiter, $links);
}
}
HEAD has the new and shiny hook_link_alter, which will provide a much "cleaner" way to do this, but for now I think this works.