In the sitemap (Nop 4.2 and 4.5) if the sitemap page includes individual blog items and you only have 1 language, the individual blog item doesnt have a url.
When you save a blog item, the seo friendly filename is saved in the urlrecord table against the blog language (eg languageid=1_.
When building the sitemap page, the urlrecordservice.GetSeName is called without the "ensureTwoPublishedLanguages" parameter, which defaults to true. Hence GetActiveSlug is called with a hard coded language id = 0
There is no urlRecord for BlogPost with language id = 0, so the url is returned as null, resulting in the sitemap page blog posts having no url