Technical FAQ for Webmasters

For basic questions about Standard-Navigation, see the home page.

How Is Standard-Navigation Related to Google’s Sitemaps Protocol www.sitemaps.org

What sitemaps.org defines, is not a site map, but rather a simple pages’ list. There is no information about the site’s hierarchy or information architecture included whatsoever. sitemaps.org contains only 3 pieces of information (besides the page’s URL):

Summing up, the main difference is that sitemaps.org doesn’t do anything for the user – it just serves the needs of search engines. Standard-Navigation, on the other hand, was designed explicitly to meet the users’ needs.

If Google (and the other search engines endorsing sitemaps.org) is willing to cooperate, we could easily include the lastmod&changefreq information into our format too, thereby integrating the entire scope of sitemaps.org.

Isn’t this the same as the HTML <link rel> Element?

In principle, <link rel> and Standard-Navigation both address the very same issue: describing a web site’s structure. But <link rel> suffers from two major flaws:

  1. <link rel> is a relict from the early days of the web (established with HTML 2.0 in 1995). It is a system for describing the structure of books, but not web sites: Nobody knows how to apply link types like "chapter", "section", "subsection", "bookmark" or "appendix" (!) to today’s common web sites.
  2. There’s no valid specification available. Even the official information from the W3C itself is contradictory, see this and that. Besides, there’s a pleathora of unofficial sources, e.g. here.

So it’s no big surprise that <link rel> has failed. But does this mean that nobody is interested in improving web site navigation? We say no – quite the contrary: If you consider how awkward a concept <link rel> is, the fact that numerous web masters actually do make use of it, gives clear evidence of their tremendous interest in navigation issues. Because otherwise they certainly wouldn’t have bothered to fiddle about with <link rel> :-)

Finally, <link rel> isn’t suited for rendering a navigation system, because since the <link rel> tag resides inside of each HTML page, the browser would have to download every single page to get a comprehensive overview of the web site’s structure.

Actually, the idea for Standard-Navigation was born when Christoph Mueller (author of the cmSiteNavigation Toolbar extension for Firefox) and Thomas Landauer were thinking about ways to promote the usage of <link rel>. However, it soon became clear to them that the concept was flawed from the outset – so they started from sratch.

What about Breadcrumbs?

(Breadcrumbs are a navigation aid, showing your path through the hierarchy, e.g.: Home > Products > Sports > Bikes)

Since all the required information is readily available in the sitemap file, it’s easy to generate breadcrumbs automatically. We will let the users decide, if they want breadcrumbs displayed (in an extra toolbar) or not.

How Do I Specify the URL of My Sitemap?

Choose a method:

<link> inside the HTML file

Declare this in the <head> of each HTML file (analogous to http://www.w3.org/TR/relations.html):

<link rel="standard-sitemap"  href="sitemap.xml" type="application/xml" />

Custom HTTP header

Send out this HTTP header with each file:

X-Standard-Sitemap-Location: /sitemap.xml

In Apache’s .htaccess, use:

LoadModule headers_module modules/mod_headers.so
Header set X-Standard-Sitemap-Location /sitemap.xml

In PHP, use:

<?php
 header('X-Standard-Sitemap-Location: sitemap.xml');
?>

What Names Are Allowed for the Sitemap File?

Any – you state the URL in the <link> tag or HTTP header anyway :-)

How Do I Write URLs containing an '&'?

For XML-compliance, you need to escape & as &amp;. For example:
http://www.example.com/page.php?content=products&page=2
becomes:
http://www.example.com/page.php?content=products&amp;page=2

My Website Contains Frames. What Can I Do?

Use the information in the HTTP header to determine if the Sitemap extension is shown in the user’s browser (see Discussion).

My Website Is Done in Flash. What Can I Do?

How Can I Embed My RSS feed?

<item>
  <variant type="text/html" url="news.htm" ... />
  <variant type="application/rss+xml" url="feed.xml" ... />
</item>
<item type="application/rss+xml" url="feed.xml" ... />.

How Do I Represent My Web Application?

That you have to figure out on your own!

Should I Enter Error Pages (404.html etc.) too?

Rather not. The sitemap should only contain pages that the user wants so see intentionally.

What’s the Difference between <item> and <group>?

An <item> is a clickable entry in the sidebar/toolbar. <group> is used to separate several <item>’s from the others. Rule of thumb: Use <item> for each link in your navigation bar(s). Use <group> for each navigation bar (if you have multiple). Details:

Is a Top-Level <item> Required?

No. If the website does not contain a home page in the literal sense (i.e. no page to which all others are subordinate), there will be several entries in the sitemap below the root element <sitemap>. But note: In this case, a click on the "Up" icon does not alway bring the user to the same page as a click on the logo. See the Google sitemap on the Examples Page.

May I enter the same page/URL more than once?

Yes. We advise against it, but if the very same page belongs to different categories, that’s the only way.

My Website Features Multiple Language Versions, but the Structure Is not Identical for all Languages. What Can I Do?

For example, you can use:

<item> <!-- home page -->
  <variant lang="en" ... />
  <variant lang="de" ... />
  <item lang="en" name="Software" ... />
  <item lang="de" name="Hardware" ... />
</item>

In this case, the home page is available in English and German; the Software page is available in English only; the Hardware page in German only.

If your website is huge and you don’t want to find out which page corresponds to which (in the other languages), you may also treat the different languages as different "roots". We strongly advise against it, because the user will not be able to switch directly to the same page in another language. It is possible though:

<item lang="en"> <!-- english home page -->
  ... <!-- thousands of <item>'s -->
</item>
<item lang="de"> <!-- german home page -->
  ... <!-- thousands of <item>'s -->
</item>
However, the recommended method is:
<item> <!-- home page -->
  <variant lang="en" ... />
  <variant lang="de" ... />
  <item> <!-- first sub-page -->
    <variant lang="en" ... />
    <variant lang="de" ... />
  </item>
  ... <!-- thousands of further <item>'s with their <variant>'s -->
</item>

Does It Matter where I Place the role-<item>’s in the Hierarchy?

No, not in our implementation; they’re always shown in the shortcut toolbar (in a predeterminded order). But just in case that another implementation (or device) does not feature the shortcut toolbar, we recommend to place them where you would put them if there was no shortcut toolbar at all ;-)

If I Have Multiple <item>’s with the Same Role, in which Order Are they Shown?

Inside the pull-down menu of this role, the <item>’s are shown in the order they appear in your sitemap file.