{
  "mandatory_fields": {
    "enable_xml_sitemap": {
      "type": "boolean",
      "default": true,
      "description": "Enable XML sitemap generation"
    },
    "posts_per_sitemap": {
      "type": "integer",
      "default": 1000,
      "min": 1,
      "max": 50000,
      "description": "Maximum number of URLs per sitemap"
    },
    "include_post_types": {
      "type": "array",
      "default": ["post", "page"],
      "items": "string",
      "description": "Post types to include in sitemap"
    },
    "include_taxonomies": {
      "type": "array",
      "default": ["category", "post_tag"],
      "items": "string",
      "description": "Taxonomies to include in sitemap"
    },
    "exclude_empty_terms": {
      "type": "boolean",
      "default": true,
      "description": "Exclude empty taxonomy terms"
    },
    "include_images": {
      "type": "boolean",
      "default": true,
      "description": "Include images in sitemap"
    },
    "include_author_archives": {
      "type": "boolean",
      "default": false,
      "description": "Include author archive pages"
    },
    "exclude_noindex": {
      "type": "boolean",
      "default": true,
      "description": "Exclude noindex pages from sitemap"
    },
    "ping_search_engines": {
      "type": "boolean",
      "default": true,
      "description": "Automatically ping search engines on update"
    },
    "sitemap_index_url": {
      "type": "string",
      "default": "sitemap_index.xml",
      "pattern": "^[a-zA-Z0-9_-]+\\.xml$",
      "description": "Sitemap index filename"
    },
    "landing_page_priority_enabled": {
      "type": "boolean",
      "default": false,
      "description": "Enable landing page priority boost rules"
    },
    "landing_page_priority": {
      "type": "number",
      "default": 0.9,
      "min": 0,
      "max": 1,
      "description": "Boosted priority for matched landing pages"
    },
    "landing_page_patterns": {
      "type": "string",
      "default": "",
      "description": "IDs, slugs, or URL fragments that should be treated as landing pages"
    }
  }
}
