Info
Version: | 10.3.0.24635 |
Author(s): | Richard J. Cabral, Richard Leiva |
Last Update: | Friday, June 16, 2023 |
.NET Fiddle: | Create the first Fiddle |
Project Url: | https://constellation4sitecore.com/foundation/sitemap-xml/ |
NuGet Url: | https://www.nuget.org/packages/Constellation.Foundation.SitemapXml |
Install
Install-Package Constellation.Foundation.SitemapXml
dotnet add package Constellation.Foundation.SitemapXml
paket add Constellation.Foundation.SitemapXml
Constellation.Foundation.SitemapXml Download (Unzip the "nupkg" after downloading)
Dependencies
- Sitecore.Kernel(>= 10.0.0)
Tags
Requires .NET Framework 4.8
Constellation is a collection of utilities for .NET CMS implementers.
The Foundation.SitemapXml namespace contains Http Handlers which intercept the request before it hits Sitecore.
Robots.TXT Handler:
Returns a basic document that automatically applies to all search engine agents.
The stock configuration has disallows for /sitecore urls to prevent the login page
from being indexed. Additional default or site specific rules can be added through the supplied configuration file. See instructions
within the config file. Assuming a given Site's robots.txt does not deny the root of a site, the robots.txt file will include a link to the site's sitemap.xml file.
Sitemap.XML Handler:
Returns an on-the-fly document (there are cache options available) for each configured Site in your installation.
The document is created by having one or more
"crawlers" inspect the Content Tree generating the necessary Item facts and URLs required to produce the Sitemap. You can specify a set of default crawlers
for your installation, as well as override the crawler list on a site-by-site basis. There are also provisions for excluding sites from returning a sitemap.xml
document if it is not appropriate.
Default Functionality:
The system will function on a basic level "out of the box". There is a default Content Tree crawler that will start at the root of the current Site and include Items
that have presentation details.
The crawlers operate in the extranet\anonymous role and thus security can be used to "hide" Items or branches from the crawler.
Crawler output has extensive support for "validating" whether an Item should be included in the sitemap or not. Facts available through the API include:
- Does the Item have presentation?
- Does the Item have explicit rules to prevent Search Indexing?
- Does the Item represent a "Page"?
It is up to the developer to supply meaningful decisions behind these facts, but answering "no" to any of them will result in the Item not being included.
This library outputs substantial amounts of troubleshooting warnings to the Sitecore log file. If you're having trouble, search for
Constellation.Foundation.SitemapXml in your log file.
Multi-Language Support:
For every "site" definition element in your Sitecore configs, add a "supportedLanguages" attribute that is a comma-delimited list of all languages available on your site
(example: supportedLanguages="en-US,fr-FR,pt-PT") Doing this will force the sitemap.xml file to include "alternate" links for each language the site supports.
Installation Warning:
Your web.config must have a system.webServer/handlers section, and that section must have at least one handler in it (an "add" element) in order
to install this package successfully. If you're using the default Sitecore web.config this won't be an issue.
The handlers provided in this package must be
inserted at the top of the stack of handlers.