Expand description
§Sitemap Gen (sitemap-gen)
A fast and efficient Rust library for generating and validating XML sitemaps.
• Website • Documentation • Report Bug • Request Feature • Contributing Guidelines
§Overview
The sitemap-gen library provides a powerful solution for generating and optimizing XML sitemaps, essential for enhancing SEO and improving website visibility. It supports the creation of sitemaps for websites of any scale, with built-in validation and performance optimizations to ensure that your sitemaps comply with web standards.
§Features
- XML Sitemap Generation: Efficiently generate well-structured XML sitemaps for websites.
- URL Management: Add, validate, and normalize URLs easily within the sitemap.
- Change Frequency Support: Specify how often pages are likely to change (daily, weekly, etc.).
- Last Modified Dates: Include accurate timestamps for when pages were last modified.
- Validation: Ensure that your sitemap adheres to size and URL limits as per SEO guidelines.
- Performance Optimizations: Pre-allocate buffers and optimize memory usage for generating large sitemaps.
- Asynchronous Processing: Leverage async functionality to generate sitemaps efficiently for larger sites.
§Installation
Add this to your Cargo.toml to start using sitemap-gen:
[dependencies]
sitemap-gen = "0.0.1"§Usage
Here’s an example of how to generate a sitemap:
use sitemap_gen::{Sitemap, ChangeFreq, SiteMapData};
use url::Url;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create a new sitemap
let mut sitemap = Sitemap::new();
// Add entries
let entry = SiteMapData {
loc: Url::parse("https://example.com/")?,
lastmod: "2023-10-01".to_string(),
changefreq: ChangeFreq::Weekly,
};
sitemap.add_entry(entry)?;
// Generate the XML
let xml = sitemap.to_xml()?;
println!("{}", xml);
Ok(())
}§Documentation
Full API documentation is available at docs.rs/sitemap-gen.
§Examples
To explore more examples, clone the repository and run the following command:
cargo run --example example_name§Contributing
We welcome contributions from the community! Please check our contributing guidelines and feel free to submit issues or pull requests.
§License
This project is licensed under either of the following licenses:
You can choose which one you prefer.
§Acknowledgements
Special thanks to all contributors who have helped build and improve the sitemap-gen library.
A Rust library for generating and managing sitemaps.
This crate provides functionality to create, modify, and serialize XML sitemaps according to the Sitemaps XML format. It includes support for handling various sitemap-specific data types and error conditions.
Re-exports§
pub use error::SitemapError;pub use sitemap::convert_date_format;pub use sitemap::create_site_map_data;pub use sitemap::ChangeFreq;pub use sitemap::SiteMapData;pub use sitemap::Sitemap;
Modules§
- error
- Contains error types specific to sitemap operations.
- prelude
- A prelude module for convenient importing of commonly used items.
- sitemap
- Provides the core functionality for creating and managing sitemaps.
- utils
- Utility functions and helper methods for sitemap operations.
Type Aliases§
- Sitemap
Result - Result type alias for sitemap operations.