/// <summary> /// Sets a single sitemap item. /// </summary> /// <param name="objQuestion"></param> /// <param name="ps"></param> /// <returns></returns> private static SitemapUrl GetQuestionUrl(AlbumInfo objQuestion, PortalSettings ps) { var pageUrl = new SitemapUrl { Url = Links.ViewQuestion(objQuestion.AlbumID, objQuestion.TabID, ps), Priority = (float) 0.5, LastModified = objQuestion.LastModifiedOnDate, ChangeFrequency = SitemapChangeFrequency.Daily }; return pageUrl; }
public override List<SitemapUrl> GetUrls(int portalId, DotNetNuke.Entities.Portals.PortalSettings ps, string version) { var listOfUrls = new List<SitemapUrl>(); foreach (var a in Article.GetAllArticlesList(portalId)) { var pageUrl = new SitemapUrl { Url = Utility.GetItemLinkUrl(a.ItemId, portalId), Priority = (float)0.5, LastModified = Convert.ToDateTime(a.LastUpdated), ChangeFrequency = SitemapChangeFrequency.Daily }; listOfUrls.Add(pageUrl); } return listOfUrls; }
public override List<SitemapUrl> GetUrls(int portalId, PortalSettings ps, string version) { var listOfUrls = new List<SitemapUrl>(); foreach(Article ai in ArticleController.GetAllArticles(portalId)) { var pageUrl = new SitemapUrl { Url = ArticleController.GetArticleLink(ai.TabID,ai.ArticleId), Priority = (float) 0.5, LastModified = ai.LastModifiedOnDate, ChangeFrequency = SitemapChangeFrequency.Daily }; listOfUrls.Add(pageUrl); } return listOfUrls; }
/// <summary> /// Return the sitemap url node for the page /// </summary> /// <param name = "objTab">The page being indexed</param> /// <param name="language">Culture code to use in the URL</param> /// <returns>A SitemapUrl object for the current page</returns> /// <remarks> /// </remarks> private SitemapUrl GetPageUrl(TabInfo objTab, string language) { var pageUrl = new SitemapUrl(); pageUrl.Url = Globals.NavigateURL(objTab.TabID, objTab.IsSuperTab, ps, "", language); string portalAlias = !String.IsNullOrEmpty(ps.DefaultPortalAlias) ? ps.DefaultPortalAlias : ps.PortalAlias.HTTPAlias; if (pageUrl.Url.ToLower().IndexOf(portalAlias.ToLower(), StringComparison.Ordinal) == -1) { // code to fix a bug in dnn5.1.2 for navigateurl if ((HttpContext.Current != null)) { pageUrl.Url = Globals.AddHTTP(HttpContext.Current.Request.Url.Host + pageUrl.Url); } else { // try to use the portalalias pageUrl.Url = Globals.AddHTTP(portalAlias.ToLower()) + pageUrl.Url; } } pageUrl.Priority = GetPriority(objTab); pageUrl.LastModified = objTab.LastModifiedOnDate; var modCtrl = new ModuleController(); foreach (ModuleInfo m in modCtrl.GetTabModules(objTab.TabID).Values) { if (m.LastModifiedOnDate > objTab.LastModifiedOnDate) { pageUrl.LastModified = m.LastModifiedOnDate; } } pageUrl.ChangeFrequency = SitemapChangeFrequency.Daily; return(pageUrl); }
/// <summary> /// Return the sitemap url node for the page /// </summary> /// <param name = "objTab">The page being indexed</param> /// <param name="language">Culture code to use in the URL</param> /// <returns>A SitemapUrl object for the current page</returns> /// <remarks> /// </remarks> private SitemapUrl GetPageUrl(TabInfo objTab, string language) { var pageUrl = new SitemapUrl(); pageUrl.Url = TestableGlobals.Instance.NavigateURL(objTab.TabID, objTab.IsSuperTab, ps, "", language); pageUrl.Priority = GetPriority(objTab); pageUrl.LastModified = objTab.LastModifiedOnDate; foreach (ModuleInfo m in ModuleController.Instance.GetTabModules(objTab.TabID).Values) { if (m.LastModifiedOnDate > objTab.LastModifiedOnDate) { pageUrl.LastModified = m.LastModifiedOnDate; } } pageUrl.ChangeFrequency = SitemapChangeFrequency.Daily; // support for alternate pages: https://support.google.com/webmasters/answer/2620865?hl=en if (ps.ContentLocalizationEnabled && !objTab.IsNeutralCulture) { List<AlternateUrl> alternates = new List<AlternateUrl>(); TabInfo currentTab = objTab; if (!objTab.IsDefaultLanguage) currentTab = objTab.DefaultLanguageTab; foreach (TabInfo localized in currentTab.LocalizedTabs.Values) { if ((!localized.IsDeleted && !localized.DisableLink && localized.TabType == TabType.Normal) && (Null.IsNull(localized.StartDate) || localized.StartDate < DateTime.Now) && (Null.IsNull(localized.EndDate) || localized.EndDate > DateTime.Now) && (IsTabPublic(localized.TabPermissions)) && (includeHiddenPages || localized.IsVisible) && localized.HasBeenPublished) { string alternateUrl = TestableGlobals.Instance.NavigateURL(localized.TabID, localized.IsSuperTab, ps, "", localized.CultureCode); alternates.Add(new AlternateUrl() { Url = alternateUrl, Language = localized.CultureCode }); } } if (alternates.Count > 0) { // add default language to the list string alternateUrl = TestableGlobals.Instance.NavigateURL(currentTab.TabID, currentTab.IsSuperTab, ps, "", currentTab.CultureCode); alternates.Add(new AlternateUrl() { Url = alternateUrl, Language = currentTab.CultureCode }); pageUrl.AlternateUrls = alternates; } } return pageUrl; }
/// <summary> /// Return the sitemap url node for the page /// </summary> /// <param name = "objTab">The page being indexed</param> /// <param name="language">Culture code to use in the URL</param> /// <returns>A SitemapUrl object for the current page</returns> /// <remarks> /// </remarks> private SitemapUrl GetPageUrl(TabInfo objTab, string language, PortalSettings ps) { var pageUrl = new SitemapUrl(); var url = TestableGlobals.Instance.NavigateURL(objTab.TabID, objTab.IsSuperTab, ps, "", language); if ((ps.SSLEnforced || (objTab.IsSecure && ps.SSLEnabled)) && url.StartsWith("http://")) { url = "https://" + url.Substring("http://".Length); } pageUrl.Url = url; pageUrl.Priority = GetPriority(objTab); pageUrl.LastModified = objTab.LastModifiedOnDate; foreach (ModuleInfo m in ModuleController.Instance.GetTabModules(objTab.TabID).Values) { if (m.LastModifiedOnDate > objTab.LastModifiedOnDate) { pageUrl.LastModified = m.LastModifiedOnDate; } } pageUrl.ChangeFrequency = SitemapChangeFrequency.Daily; // support for alternate pages: https://support.google.com/webmasters/answer/2620865?hl=en if (ps.ContentLocalizationEnabled && !objTab.IsNeutralCulture) { List <AlternateUrl> alternates = new List <AlternateUrl>(); TabInfo currentTab = objTab; if (!objTab.IsDefaultLanguage) { currentTab = objTab.DefaultLanguageTab; } foreach (TabInfo localized in currentTab.LocalizedTabs.Values) { if ((!localized.IsDeleted && !localized.DisableLink && localized.TabType == TabType.Normal) && (Null.IsNull(localized.StartDate) || localized.StartDate < DateTime.Now) && (Null.IsNull(localized.EndDate) || localized.EndDate > DateTime.Now) && (IsTabPublic(localized.TabPermissions)) && (includeHiddenPages || localized.IsVisible) && localized.HasBeenPublished) { string alternateUrl = TestableGlobals.Instance.NavigateURL(localized.TabID, localized.IsSuperTab, ps, "", localized.CultureCode); alternates.Add(new AlternateUrl() { Url = alternateUrl, Language = localized.CultureCode }); } } if (alternates.Count > 0) { // add default language to the list string alternateUrl = TestableGlobals.Instance.NavigateURL(currentTab.TabID, currentTab.IsSuperTab, ps, "", currentTab.CultureCode); alternates.Add(new AlternateUrl() { Url = alternateUrl, Language = currentTab.CultureCode }); pageUrl.AlternateUrls = alternates; } } return(pageUrl); }
/// <summary> /// Return the sitemap url node for the page /// </summary> /// <param name = "objTab">The page being indexed</param> /// <param name="language">Culture code to use in the URL</param> /// <returns>A SitemapUrl object for the current page</returns> /// <remarks> /// </remarks> private SitemapUrl GetPageUrl(TabInfo objTab, string language) { var pageUrl = new SitemapUrl(); pageUrl.Url = Globals.NavigateURL(objTab.TabID, objTab.IsSuperTab, ps, "", language); if (pageUrl.Url.ToLower().IndexOf(ps.PortalAlias.HTTPAlias.ToLower()) == -1) { // code to fix a bug in dnn5.1.2 for navigateurl if ((HttpContext.Current != null)) { pageUrl.Url = Globals.AddHTTP(HttpContext.Current.Request.Url.Host + pageUrl.Url); } else { // try to use the portalalias pageUrl.Url = Globals.AddHTTP(ps.PortalAlias.HTTPAlias.ToLower()) + pageUrl.Url; } } pageUrl.Priority = GetPriority(objTab); pageUrl.LastModified = objTab.LastModifiedOnDate; var modCtrl = new ModuleController(); foreach (ModuleInfo m in modCtrl.GetTabModules(objTab.TabID).Values) { if (m.LastModifiedOnDate > objTab.LastModifiedOnDate) { pageUrl.LastModified = m.LastModifiedOnDate; } } pageUrl.ChangeFrequency = SitemapChangeFrequency.Daily; return pageUrl; }
/// <summary> /// Adds a new url to the sitemap /// </summary> /// <param name = "sitemapUrl">The url to be included in the sitemap</param> /// <remarks> /// </remarks> private void AddURL(SitemapUrl sitemapUrl) { writer.WriteStartElement("url"); writer.WriteElementString("loc", sitemapUrl.Url); writer.WriteElementString("lastmod", sitemapUrl.LastModified.ToString("yyyy-MM-dd")); writer.WriteElementString("changefreq", sitemapUrl.ChangeFrequency.ToString().ToLower()); writer.WriteElementString("priority", sitemapUrl.Priority.ToString("F01", CultureInfo.InvariantCulture)); writer.WriteEndElement(); }
/// <summary> /// Adds a new url to the sitemap /// </summary> /// <param name = "sitemapUrl">The url to be included in the sitemap</param> /// <remarks> /// </remarks> private void AddURL(SitemapUrl sitemapUrl) { writer.WriteStartElement("url"); writer.WriteElementString("loc", sitemapUrl.Url); writer.WriteElementString("lastmod", sitemapUrl.LastModified.ToString("yyyy-MM-dd")); writer.WriteElementString("changefreq", sitemapUrl.ChangeFrequency.ToString().ToLower()); writer.WriteElementString("priority", sitemapUrl.Priority.ToString("F01", CultureInfo.InvariantCulture)); if (sitemapUrl.AlternateUrls != null) { foreach (AlternateUrl alternate in sitemapUrl.AlternateUrls) { writer.WriteStartElement("link", "http://www.w3.org/1999/xhtml"); writer.WriteAttributeString("rel", "alternate"); writer.WriteAttributeString("hreflang", alternate.Language); writer.WriteAttributeString("href", alternate.Url); writer.WriteEndElement(); } } writer.WriteEndElement(); }
/// <summary> /// Adds a new url to the sitemap /// </summary> /// <param name = "sitemapUrl">The url to be included in the sitemap</param> /// <remarks> /// </remarks> private void AddURL(SitemapUrl sitemapUrl) { writer.WriteStartElement("url"); writer.WriteElementString("loc", sitemapUrl.Url); writer.WriteElementString("lastmod", sitemapUrl.LastModified.ToString("yyyy-MM-dd")); writer.WriteElementString("changefreq", sitemapUrl.ChangeFrequency.ToString().ToLower()); writer.WriteElementString("priority", sitemapUrl.Priority.ToString("F01", CultureInfo.InvariantCulture)); OpenSitemapUrl openSitemapUrl = sitemapUrl as OpenSitemapUrl; if (openSitemapUrl != null) { foreach (var alt in openSitemapUrl.Alternates) { writer.WriteStartElement("xhtml", "link", "http://www.w3.org/1999/xhtml"); writer.WriteAttributeString("rel", "alternate"); writer.WriteAttributeString("hreflang", alt.Hreflang); writer.WriteAttributeString("href", alt.Href); writer.WriteEndElement(); } /* <xhtml:link rel="alternate" hreflang="de" href="http://www.exemple.com/deutsch/" /> */ } writer.WriteEndElement(); }