Sidio.Sitemap.Core
2.4.1
Prefix Reserved
See the version list below for details.
dotnet add package Sidio.Sitemap.Core --version 2.4.1
NuGet\Install-Package Sidio.Sitemap.Core -Version 2.4.1
<PackageReference Include="Sidio.Sitemap.Core" Version="2.4.1" />
<PackageVersion Include="Sidio.Sitemap.Core" Version="2.4.1" />
<PackageReference Include="Sidio.Sitemap.Core" />
paket add Sidio.Sitemap.Core --version 2.4.1
#r "nuget: Sidio.Sitemap.Core, 2.4.1"
#:package Sidio.Sitemap.Core@2.4.1
#addin nuget:?package=Sidio.Sitemap.Core&version=2.4.1
#tool nuget:?package=Sidio.Sitemap.Core&version=2.4.1
Sidio.Sitemap.Core
Sidio.Sitemap.Core is a lightweight .NET library for generating sitemaps. It supports sitemap index files and can be used in any .NET application. It is written in C# and is available via NuGet.
Installation
Add the package to your project.
Usage
Looking for ASP.NET Core integration, see Sidio.Sitemap.AspNetCore. For Blazor integration, see Sidio.Sitemap.Blazor.
Sitemap
var nodes = new List<SitemapNode> { new ("https://example.com/page.html") };
var sitemap = new Sitemap(nodes);
var service = new SitemapService(new XmlSerializer());
var xmlResult = service.Serialize();
Sitemap index
var sitemapIndexNodes = new List<SitemapIndexNode> { new("https://example.com/sitemap-1.xml") };
var sitemapIndex = new SitemapIndex(sitemapIndexNodes);
var service = new SitemapIndexService(new XmlSerializer());
var xmlResult = service.Serialize();
Dependency injection
// DI setup
services.AddDefaultSitemapServices();
// implementation
public class MyClass()
{
public MyClass(ISitemapService service)
{
var nodes = new List<SitemapNode> { new ("https://example.com/page.html") };
var sitemap = new Sitemap(nodes);
var xmlResult = service.Serialize();
}
}
Working with relative URLs
public class MyBaseUrlProvider : IBaseUrlProvider
{
public Uri BaseUrl => new ("https://example.com", UriKind.Absolute);
}
// DI setup
services.AddBaseUrlProvider<MyBaseUrlProvider>();
services.AddDefaultSitemapServices();
// or in one function:
services.AddDefaultSitemapServices<MyBaseUrlProvider>();
// regular setup
var serializer = new XmlSerializer(new MyBaseUrlProvider());
var service = new SitemapService(serializer);
// nodes, relative urls
var nodes = new List<SitemapNode> { new ("page.html") };
Extensions
Image sitemaps
var sitemap = new Sitemap();
sitemap.Add(new SitemapImageNode("https://example.com/page.html", new ImageLocation("https://example.com/image.png")));
Extension documentation on Google Search Central
News sitemaps
var sitemap = new Sitemap();
sitemap.Add(new SitemapNewsNode("https://example.com/page.html", "title", "name", "EN", DateTimeOffset.UtcNow));
Extension documentation on Google Search Central
Video sitemaps
var video = new VideoContent("https://example.com/thumbnail.png", "title", "description", "https://example.com/video.mp4", null);
var sitemap = new Sitemap();
sitemap.Add(new SitemapVideoNode("https://example.com/page.html", video));
Extension documentation on Google Search Central
Deserialization
It is possible to load existing XML and deserialize it into a sitemap object:
var xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><urlset> ....";
var serializer = services.GetRequiredService<ISitemapSerializer>();
var sitemap = serializer.Deserialize(xml);
Benchmarks XmlSerializer sync/async (Sitemap)
BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.3007/23H2/2023Update/SunValley3)
AMD Ryzen 7 5800H with Radeon Graphics, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
DefaultJob : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
Method | NumberOfNodes | Mean | Error | StdDev |
---|---|---|---|---|
Serialize | 10 | 4.316 μs | 0.0825 μs | 0.0772 μs |
SerializeAsync | 10 | 5.367 μs | 0.0769 μs | 0.0681 μs |
Serialize | 100 | 33.616 μs | 0.1583 μs | 0.1480 μs |
SerializeAsync | 100 | 41.328 μs | 0.3361 μs | 0.3144 μs |
Serialize | 40000 | 19,396.188 μs | 380.0968 μs | 568.9109 μs |
SerializeAsync | 40000 | 20,183.385 μs | 399.3607 μs | 644.8931 μs |
References
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
-
net8.0
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Sidio.Sitemap.Core:
Package | Downloads |
---|---|
Sidio.Sitemap.AspNetCore
Sidio.Sitemap.AspNetCore is a lightweight .NET library for generating sitemaps and a sitemap index in ASP .NET Core applications. |
|
Vorn.Cms.Client
This library contains services required to use Vorn.Cms subsystem. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated | |
---|---|---|---|
2.7.6 | 275 | 9/18/2025 | |
2.7.5 | 1,610 | 5/19/2025 | |
2.7.4 | 862 | 4/9/2025 | |
2.7.3 | 942 | 3/17/2025 | |
2.7.2 | 446 | 2/17/2025 | |
2.7.1 | 1,468 | 1/20/2025 | |
2.7.0 | 4,165 | 11/13/2024 | |
2.6.2 | 4,240 | 10/14/2024 | |
2.5.1 | 318 | 8/19/2024 | |
2.4.1 | 236 | 7/21/2024 | |
2.3.0 | 592 | 5/19/2024 | |
2.2.4 | 273 | 5/2/2024 | |
2.1.0 | 459 | 3/15/2024 | |
2.0.0 | 486 | 3/14/2024 |