How to generate a sitemap

Product: CMS

Version: All, CMS 10, 10.x, CMS 8, 8.x, CMS 9, 9.x

Published: October 3, 2017

Last updated: 1/30/2021



The following article describes how to create an XML page compliant with the Sitemaps Protocol 0.90. A Sitemap XML page acts as a marker for search engines such as Google, Yahoo! and Microsoft to optimize search indexes for a site's content. Ingeniux CMS, via a schema navigation and a some additional style sheet work, can generate an XML file containing all the required tags. Ingeniux recommends implementing the sitemap functionality in a test environment prior to implementing it in a live environment. Finally, Ingeniux does not maintain this standard and can not account for changes in this protocol.


With the Ingeniux Application, building a sitemap involves pulling in the site nodes into a page via a navigation element and then styling that navigation. This article will use a page type, a style sheet and a CSS file to provide the sitemap functionality.


  1. Administrative access to your CMS to manage schemas and upload assets. 
  2. An XML/HTML/Text editor capable of editing the attached XSLT files as needed.


  1. Download the file and expand it.
  2. From the CMS, upload the SitMapProtocol.xsl file to your Assets > Stylesheets folder.
  3. Copy the Page_SiteMapProtocolPage.xml file to the \xml\Schemas directory. CMS 8.0 will need to import the Schema using the Schema Designer
    • CMS 8.0 and above: Schemas need to be uploaded via the Schema Designer from within the CMS Administration area.
  4. Log into the CMS and create a global export named "Priority":
    • CMS 8.0 and above: From the CMS Dashboard, select Administration > System Options > Design-Time (CMS in 8.0) > Publishing > Navigation Exports.
      • Click New.
      • Name the export "Priority" and give it the value "/*/Priority" (this is case-sensitive and you will not want to include the quotation marks).
      • Select the 'Save' button
  5. Create a new page using the Google Xml Site Map page type (schema) and name it "Sitemap".
  6. Configure the URL Navigation on your newly created page:

    How to configure a sitemap navigation

    • Type: Set to Children.
    • Order: Set to down.
    • Start Page: Set the start page of the navigation to the xID of the page, and its children, that you want to include in the Sitemap.
    • Max Nodes: This is the maximum number of pages allowed in the navigation. If left blank, the value defualts to 2000; if you feel you may exceed this amount, just enter a larger value.
    • Query: Not required; leave blank.
    • [Exports] Name: Not required; leave blank.
    • [Exports] Value: Not required; leave blank.
  7. After configuring the URL Navigation, click the Preview tab on the page and verify that the XML resembles the example screenshot below:

    Preview of sitemap xml

    Important: In order for the priority value to be generated properly some modifications to the 'SiteMapProtocol.xsl' file are required. The loc, lastmod, and changefreq values do not require any modifications.  Please reference the "Configuring the Optional Tags" section below for more information on how to make the required modifications unique to your individual site.
  8. Right-click Sitemap in the site tree and click Mark for Publish.
  9. Publish Sitemap.

Configuring optional tags:

The additions required for each tag are listed below:

--The lastmod value is generated automatically by referencing the @Changed XML attribute (this is created from the URL Navigation). This is a standard export on every navigation as of Ingeniux CMS 6.0 Service Release 5 and above. No modifications are needed to either the SiteMapProtocol.xsl or Page_SiteMapProtocolPage.xml files in order for this value to work correctly.

Note:  If you are running an earlier version of Ingeniux CMS, prior to Ingeniux CMS V6 Service Release 5, please contact Ingeniux Support to obtain information on how to upgrade.

--The changefreq value is also generated automatically by referencing the @Changed XML attribute and a custom javascript function located within the SiteMapProtocol.xsl file.  No modifications are needed to either the SiteMapProtocol.xsl or Page_SiteMapProtocolPage.xml files in order for this value to work correctly.

The priority value is generated in one of two ways:

1) SEO Group: If your existing pages contain SEO elements that include priority, this value is used by default in the Sitemap. An example SEO Group element typically resembles something similiar to the following screenshot:

SEO group

2) By Page Type: If your existing page does not contain a priority element (typically part of the SEO Group element), the SiteMapProtocol.xsl file allows you to specify priority values based on page type. To configure this, follow the steps below:

  1. Before proceeding, make a backup of the SiteMapProtocol.xsl file.
  2. Open the SiteMapProtocol.xsl file in the XML editor of your choice.
  3. Scroll down to the @Schema template match, located at the end of the file.
  4. Edit the following section to match your particular page types  and desired priority values.

    Sitemap XSLT
  5. Save the file.

If you have any questions on how to make the configuration changes above or would like to inquire about adding SEO functionality (SEO Group Element), please contact Ingeniux support.  

Note: Depending on the inquiry, this may fall outside standard software support and require additional services.

Additional Information

Read more about the Sitemap protocol on the following external site:


There are no comments yet.