Skip to content

[ BUG ] Incorrect division into files when the limit is exceeded #327

@coolswood

Description

@coolswood
const stream = new SitemapAndIndexStream({
    limit: 50000,
    getSitemapStream: i => {
      const s = new SitemapStream({
        hostname: `https://${domen}`,
        xmlns: {
          xhtml: true,
          news: false,
          video: false,
          image: false,
        },
      });

For example, I set a limit of 50,000 links, as stated in the documentation https://www.sitemaps.org/protocol.html And I do get divided into files by the number of links, but I have a lot of locales on my project and the map looks like this

<url>
    <loc>https://betmaster.io/en/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207</loc>
    <changefreq>weekly</changefreq>
    <priority>0.0</priority>
    <xhtml:link rel="alternate" hreflang="az"
                href="https://betmaster.io/az/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="de"
                href="https://betmaster.io/de/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="es"
                href="https://betmaster.io/es/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="it"
                href="https://betmaster.io/it/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="hu"
                href="https://betmaster.io/hu/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="nb"
                href="https://betmaster.io/nb/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="uz"
                href="https://betmaster.io/uz/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="pl"
                href="https://betmaster.io/pl/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="pt"
                href="https://betmaster.io/pt/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="ro"
                href="https://betmaster.io/ro/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="fi"
                href="https://betmaster.io/fi/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="sv"
                href="https://betmaster.io/sv/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="tr"
                href="https://betmaster.io/tr/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="el"
                href="https://betmaster.io/el/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="bg"
                href="https://betmaster.io/bg/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="ru"
                href="https://betmaster.io/ru/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="uk"
                href="https://betmaster.io/uk/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="kk"
                href="https://betmaster.io/kk/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="he"
                href="https://betmaster.io/he/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="ar"
                href="https://betmaster.io/ar/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="ja"
                href="https://betmaster.io/ja/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="zh"
                href="https://betmaster.io/zh/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
    <xhtml:link rel="alternate" hreflang="ko"
                href="https://betmaster.io/ko/sportsbook/sports/soccer/tournaments/~/--/category/sr:category:207"/>
  </url>

So, after splitting the files, the weight of each file is more than 50 MB. It seems that when setting the limit, you also need to take into account the weight of the file being created.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions