/// <summary> /// Creates the site map items. /// </summary> /// <param name="urlHelper">The URL.</param> /// <param name="debug">if set to <c>true</c> shows all urls (visible, non visible and no index)</param> /// <returns></returns> private static IEnumerable <SiteMapItem> CreateSiteMapItems(UrlHelper urlHelper, bool debug = false) { Init(); var pageInfoCollection = FindCurrentPageInfoCollection(); if (pageInfoCollection.SiteMapItems != null) { return(pageInfoCollection.SiteMapItems); } List <SiteMapItem> siteMapItems; if (debug) { siteMapItems = (from pageInfo in pageInfoCollection.PageInfos select new SiteMapItem(urlHelper.AbsoluteUrlFromRelavtiveUrl(pageInfo.PageUrl), changeFrequency: SitemapChangeFrequency.Always, priority: 1.0)).ToList(); } else { siteMapItems = (from pageInfo in pageInfoCollection.PageInfos where !pageInfo.MetaNoIndex where pageInfo.Visible select new SiteMapItem(urlHelper.AbsoluteUrlFromRelavtiveUrl(pageInfo.PageUrl), changeFrequency: SitemapChangeFrequency.Always, priority: 1.0)).ToList(); } pageInfoCollection.SiteMapItems = siteMapItems; return(pageInfoCollection.SiteMapItems); }