HUGO

Does anyone know a method for creating news sitemap?

The standard sitemap generated by Hugo generates with all links.

Is there any way to create a custom sitemap just with links from the past two days?

Or is it only possible to do it manually?

Google News Sitemap Guidelines

Include URLs for articles published in the last 2 days. You can remove articles after 2 days from the News sitemap, but they remain in the index for the regular 30-day period.

Sure. By collecting the info found in Hugo’s sitemap.xml, How to find days elapsed since last post in a listing page? and How to get a footer with build time?, I think you could use something like this:

{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>" | safeHTML }}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  {{ range .Site.RegularPages }}
    {{ if lt (div (sub now.Unix .Lastmod.Unix) 3600) 48 }}
      <url>
        <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
        <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
        <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
        <priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
        <xhtml:link
                    rel="alternate"
                    hreflang="{{ .Lang }}"
                    href="{{ .Permalink }}"
                    />{{ end }}
        <xhtml:link
                    rel="alternate"
                    hreflang="{{ .Lang }}"
                    href="{{ .Permalink }}"
                    />{{ end }}
      </url>
    {{ end }}
  {{ end }}
</urlset>
1 Like

thanks :heart:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.