Sitemap Checker
A simple but powerful command-line tool to validate URLs in a sitemap file. It checks for broken links and ensures all your sitemap entries are accessible.

Features
- Concurrent URL Validation: Checks multiple URLs at once for faster processing.
- Sitemap Index Support: Can parse and validate sitemap index files.
- Cross-Platform: Builds for Linux, macOS, and Windows.
- Lightweight: A single binary with no external dependencies.
Installation
You can download the latest pre-compiled binaries for your operating system from the Releases page.
Linux
# Download the latest release
wget https://github.com/workouse/sitemap-checker/releases/latest/download/sitemap-checker_amd64.deb
# Install the package
sudo dpkg -i sitemap-checker_amd64.deb
# Run the tool
sitemap-checker --help
macOS
You can use Homebrew to install:
brew tap workouse/sitemap-checker
brew install sitemap-checker
Or, you can install manually:
# Download and unzip the latest release
wget https://github.com/workouse/sitemap-checker/releases/latest/download/sitemap-checker_darwin_amd64.zip
unzip sitemap-checker_darwin_amd64.zip
# Make the binary executable and move it to your PATH
chmod +x sitemap-checker
sudo mv sitemap-checker /usr/local/bin/
Windows
- Download the
sitemap-checker_windows_amd64.zipfile from the Releases page. - Extract the
sitemap-checker.exefile. - Place it in a directory that is included in your system's
PATH.
Usage
Validate a Single Sitemap
To validate a standard sitemap.xml file, use the -uri flag to specify the URL and the -out flag for the output file.
sitemap-checker -uri=http://example.com/sitemap.xml -out=validated-sitemap.xml
Validate a Sitemap Index
If your sitemap is a sitemap index file, add the -index flag. The tool will fetch and validate all the sitemaps listed in the index.
sitemap-checker -uri=http://example.com/sitemap-index.xml -index
Contributing
Contributions are welcome! If you find a bug or have a feature request, please open an issue. If you'd like to contribute code, please follow these steps:
- Fork the repository on GitHub.
- Clone your fork to your local machine.
- Create a new branch for your changes.
- Make your changes and commit them with a descriptive message.
- Push your changes to your fork.
- Open a pull request to the
masterbranch of the original repository.
Please make sure your code adheres to the existing style and that all tests pass.
License
This project is licensed under the MIT License. See the LICENSE file for details.
