
Xml Sitemap
Generate, audit, or maintain a standards-compliant sitemap.xml and robots.txt declaration so crawlers can discover every indexable URL without duplicate URL lists across tools.
Install
npx skills add https://github.com/kostja94/marketing-skills --skill xml-sitemapWhat is this skill?
- Produces sitemaps.org-compliant XML from your project's page list and wires the sitemap URL into robots.txt
- Chooses single sitemap vs sitemap index based on URL count (50k URL / 50MB limits)
- Initial assessment flow: site base URL, indexable URL count, and static vs CMS vs hybrid data sources
- Reads `.claude/project-context.md` or `.cursor/project-context.md` when present for site URL and structure
- Pairs with indexnow skill for unified URL discovery; mentions reducing duplicate maintenance across IndexNow
Adoption & trust: 833 installs on skills.sh; 586 GitHub stars; 3/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
Sitemap work is canonical launch SEO—it's how you declare discoverable URLs to search engines before and after go-live. Technical sitemap.xml creation, lastmod/priority discipline, and GSC submission sit squarely in the seo subphase of launch.
Common Questions / FAQ
Is Xml Sitemap safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Xml Sitemap
# SEO Technical: Sitemap Guides sitemap creation, auditing, and optimization for search engine discovery. **When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope (Technical SEO) - **Sitemap**: Create XML sitemap; submit to Google Search Console - **URL discovery**: Help search engines find pages; especially important for large sites or poor internal linking ## Task Generate an XML Sitemap that complies with the sitemaps.org protocol from the project's page list, and declare it in robots.txt. ## Initial Assessment **Check for project context first:** If `.claude/project-context.md` or `.cursor/project-context.md` exists, read it for site URL and page structure. Identify: 1. **Site URL**: Base domain (e.g., `https://example.com`) 2. **URL count**: Total indexable pages (single sitemap vs. sitemap index) 3. **Data source**: Static config, CMS, file system, or hybrid ## 1. Protocol Essentials | Item | Spec | |------|------| | Single sitemap limit | 50,000 URLs, 50MB (uncompressed) | | Sitemap index | When exceeding limit, split and have main index reference sub-sitemaps | | Encoding | UTF-8 | | URL format | Full URL, same host, include `https://` | | Required tags | `<loc>` | | Optional tags | `<lastmod>`, `<changefreq>`, `<priority>` | ## 2. Field Requirements | Field | Description | Recommendation | |-------|--------------|---------------| | url | Full URL | `https://example.com/path` | | lastModified | Page last modified time | Use page metadata, ISO 8601; use `YYYY-MM-DD` or omit when no data | | changeFrequency | Update frequency | Home `daily`, list pages `weekly`, content pages `monthly` | | priority | Relative importance | Home 1.0, aggregate pages 0.9, content pages 0.7–0.8, others 0.5–0.6 | ### lastmod (Critical) - **Must be accurate**: Reflect actual page modification time, not sitemap generation time. Google requires verifiability; Bing reports ~18% of sitemaps have incorrect lastmod values. - **Format**: W3C Datetime (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM:SS+TZD`), e.g. `2025-01-15`, `2025-01-15T14:30:00+08:00`. - **Avoid**: Using `new Date()` for lastmod—causes all URLs to share the same timestamp; search engines may ignore. - **Apply when**: Content updates, structured data changes, or important link changes. ### changefreq / priority - **changefreq**: Hints only; does not directly determine crawl frequency. Values: `always`, `hourly`, `daily`, `weekly`, `monthly`, `yearly`, `never`. - **priority**: 0.0–1.0; **does not affect ranking**; set higher for important pages; avoid identical values for all. ## 3. Architecture & Split ### Single Sitemap - When URLs >50,000, generate `/sitemap.xml` directly. ### Sitemap Index (Multiple Sub-sitemaps) - When exceeding limit, split by type or language; main index references sub-sitemaps. - Example splits: `/sitemap/posts.xml`, `/sitemap/pages.xml`, `/sitemap/zh.xml`, `/sitemap/en.xml`. - Main index outputs `/sitemap.xml` or `/sitemap-index.xml`, each entry as `<sitemap><loc>...</loc></sitemap>`. ### Multilingual Sites - Split by locale: `/sitemap/zh.xml`, `/sitemap/en.xml`. - Or by content type + language: `/sitemap/zh-posts.xml`, `/sitemap/en-posts.xml`. ### Multi-Language Sitemap (hreflang in Sitemap) For multilingual sites, add `xhtml:link` hreflang alternates inside each `<url>` entry. **Recommended for large sites** (100+ multilingual pages); centralize