[{"data":1,"prerenderedAt":1141},["ShallowReactive",2],{"helpers-navigation":3,"mdc-o8y00b-key":32,"helpers-version":74,"\u002Fdocs\u002Fhelpers\u002Fsitemap":75,"\u002Fdocs\u002Fhelpers\u002Fsitemap-surround":1136},[4],{"title":5,"path":6,"stem":7,"children":8,"icon":31},"Helpers","\u002Fdocs\u002Fhelpers","1.docs\u002F8.helpers\u002F1.index",[9,11,15,19,23,27],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Environment Variables","\u002Fdocs\u002Fhelpers\u002Fenvironment-variables","1.docs\u002F8.helpers\u002F2.environment-variables",{"title":16,"path":17,"stem":18},"Meta Tags","\u002Fdocs\u002Fhelpers\u002Fmeta-tags","1.docs\u002F8.helpers\u002F3.meta-tags",{"title":20,"path":21,"stem":22},"Sitemap and robots.txt","\u002Fdocs\u002Fhelpers\u002Fsitemap","1.docs\u002F8.helpers\u002F4.sitemap",{"title":24,"path":25,"stem":26},"Redirects","\u002Fdocs\u002Fhelpers\u002Fredirects","1.docs\u002F8.helpers\u002F5.redirects",{"title":28,"path":29,"stem":30},"Vite","\u002Fdocs\u002Fhelpers\u002Fvite","1.docs\u002F8.helpers\u002F6.vite","i-ri-tools-line",{"data":33,"body":34},{},{"type":35,"children":36},"root",[37],{"type":38,"tag":39,"props":40,"children":41},"element","p",{},[42,45,54,56,63,65,72],{"type":43,"value":44},"text","Kirby Tools is built on ",{"type":38,"tag":46,"props":47,"children":51},"a",{"href":48,"rel":49},"https:\u002F\u002Fgetkirby.com",[50],"nofollow",[52],{"type":43,"value":53},"Kirby",{"type":43,"value":55}," – with gratitude to the team and community who make it. Help me improve the plugins: share feedback in ",{"type":38,"tag":46,"props":57,"children":60},{"href":58,"rel":59},"https:\u002F\u002Fgithub.com\u002Fkirby-tools\u002Fcommunity\u002Fdiscussions",[50],[61],{"type":43,"value":62},"Discussions",{"type":43,"value":64}," or report bugs via ",{"type":38,"tag":46,"props":66,"children":69},{"href":67,"rel":68},"https:\u002F\u002Fgithub.com\u002Fkirby-tools\u002Fcommunity\u002Fissues",[50],[70],{"type":43,"value":71},"Issues",{"type":43,"value":73},".",null,{"id":76,"title":20,"body":77,"description":1130,"extension":1131,"meta":1132,"navigation":1133,"path":21,"seo":1134,"stem":22,"__hash__":1135},"docs\u002F1.docs\u002F8.helpers\u002F4.sitemap.md",{"type":78,"value":79,"toc":1119},"minimark",[80,88,188,202,207,217,302,342,517,521,524,529,535,622,626,640,720,726,846,850,883,887,898,1047,1050,1063,1067,1079,1084,1087,1109,1115],[39,81,82,83,87],{},"Both routes are off by default. Turn them on in ",[84,85,86],"code",{},"config.php",":",[89,90,96],"pre",{"className":91,"code":92,"filename":93,"language":94,"meta":95,"style":95},"language-php shiki shiki-themes github-light github-light github-dark","return [\n    'johannschopplich.helpers' => [\n        'sitemap' => [\n            'enabled' => true\n        ],\n        'robots' => [\n            'enabled' => true\n        ]\n    ]\n];\n","site\u002Fconfig\u002Fconfig.php","php","",[84,97,98,111,123,133,145,151,161,170,176,182],{"__ignoreMap":95},[99,100,103,107],"span",{"class":101,"line":102},"line",1,[99,104,106],{"class":105},"s8jYJ","return",[99,108,110],{"class":109},"sxrX7"," [\n",[99,112,114,118,121],{"class":101,"line":113},2,[99,115,117],{"class":116},"sIIMD","    'johannschopplich.helpers'",[99,119,120],{"class":105}," =>",[99,122,110],{"class":109},[99,124,126,129,131],{"class":101,"line":125},3,[99,127,128],{"class":116},"        'sitemap'",[99,130,120],{"class":105},[99,132,110],{"class":109},[99,134,136,139,141],{"class":101,"line":135},4,[99,137,138],{"class":116},"            'enabled'",[99,140,120],{"class":105},[99,142,144],{"class":143},"sBjJW"," true\n",[99,146,148],{"class":101,"line":147},5,[99,149,150],{"class":109},"        ],\n",[99,152,154,157,159],{"class":101,"line":153},6,[99,155,156],{"class":116},"        'robots'",[99,158,120],{"class":105},[99,160,110],{"class":109},[99,162,164,166,168],{"class":101,"line":163},7,[99,165,138],{"class":116},[99,167,120],{"class":105},[99,169,144],{"class":143},[99,171,173],{"class":101,"line":172},8,[99,174,175],{"class":109},"        ]\n",[99,177,179],{"class":101,"line":178},9,[99,180,181],{"class":109},"    ]\n",[99,183,185],{"class":101,"line":184},10,[99,186,187],{"class":109},"];\n",[39,189,190,191,194,195,198,199,73],{},"The sitemap is served at ",[84,192,193],{},"\u002Fsitemap.xml"," and ",[84,196,197],{},"robots.txt"," at ",[84,200,201],{},"\u002Frobots.txt",[203,204,206],"h2",{"id":205},"what-it-lists","What It Lists",[39,208,209,210,194,213,216],{},"The sitemap lists every listed and unlisted page – the ",[84,211,212],{},"home",[84,214,215],{},"error"," pages included – but no drafts. Each entry carries the page URL, its modification date, and a priority:",[89,218,222],{"className":219,"code":220,"language":221,"meta":95,"style":95},"language-xml shiki shiki-themes github-light github-light github-dark","\u003Curl>\n  \u003Cloc>https:\u002F\u002Fexample.com\u002Fexhibitions\u003C\u002Floc>\n  \u003Clastmod>2026-10-09\u003C\u002Flastmod>\n  \u003Cpriority>0.8\u003C\u002Fpriority>\n  \u003Cchangefreq>weekly\u003C\u002Fchangefreq>\n\u003C\u002Furl>\n","xml",[84,223,224,236,251,265,279,293],{"__ignoreMap":95},[99,225,226,229,233],{"class":101,"line":102},[99,227,228],{"class":109},"\u003C",[99,230,232],{"class":231},"sovSZ","url",[99,234,235],{"class":109},">\n",[99,237,238,241,244,247,249],{"class":101,"line":113},[99,239,240],{"class":109},"  \u003C",[99,242,243],{"class":231},"loc",[99,245,246],{"class":109},">https:\u002F\u002Fexample.com\u002Fexhibitions\u003C\u002F",[99,248,243],{"class":231},[99,250,235],{"class":109},[99,252,253,255,258,261,263],{"class":101,"line":125},[99,254,240],{"class":109},[99,256,257],{"class":231},"lastmod",[99,259,260],{"class":109},">2026-10-09\u003C\u002F",[99,262,257],{"class":231},[99,264,235],{"class":109},[99,266,267,269,272,275,277],{"class":101,"line":135},[99,268,240],{"class":109},[99,270,271],{"class":231},"priority",[99,273,274],{"class":109},">0.8\u003C\u002F",[99,276,271],{"class":231},[99,278,235],{"class":109},[99,280,281,283,286,289,291],{"class":101,"line":147},[99,282,240],{"class":109},[99,284,285],{"class":231},"changefreq",[99,287,288],{"class":109},">weekly\u003C\u002F",[99,290,285],{"class":231},[99,292,235],{"class":109},[99,294,295,298,300],{"class":101,"line":153},[99,296,297],{"class":109},"\u003C\u002F",[99,299,232],{"class":231},[99,301,235],{"class":109},[39,303,304,194,306,308,309,313,314,317,318,321,322,324,325,328,329,194,332,335,336,338,339,341],{},[84,305,271],{},[84,307,285],{}," resolve like ",[46,310,312],{"href":311},"\u002Fdocs\u002Fhelpers\u002Fmeta-tags#where-values-come-from","meta values",": from the page model's ",[84,315,316],{},"metadata()",", the ",[84,319,320],{},"meta.defaults"," option, or a page field of that name. ",[84,323,271],{}," defaults to ",[84,326,327],{},"0.5",", is clamped between ",[84,330,331],{},"0",[84,333,334],{},"1",", and skips the site field. ",[84,337,285],{}," falls back to a ",[84,340,285],{}," field in the site content and is left out without any value. As blueprint fields:",[89,343,348],{"className":344,"code":345,"filename":346,"language":347,"meta":95,"style":95},"language-yaml shiki shiki-themes github-light github-light github-dark","fields:\n  priority:\n    label: Sitemap Priority\n    type: range\n    min: 0\n    max: 1\n    step: 0.1\n    default: 0.5\n  changefreq:\n    label: Change Frequency\n    type: select\n    options:\n      - always\n      - hourly\n      - daily\n      - weekly\n      - monthly\n      - yearly\n      - never\n","site\u002Fblueprints\u002Fpages\u002Fdefault.yml","yaml",[84,349,350,358,365,376,386,396,406,416,426,433,442,452,460,469,477,485,493,501,509],{"__ignoreMap":95},[99,351,352,355],{"class":101,"line":102},[99,353,354],{"class":231},"fields",[99,356,357],{"class":109},":\n",[99,359,360,363],{"class":101,"line":113},[99,361,362],{"class":231},"  priority",[99,364,357],{"class":109},[99,366,367,370,373],{"class":101,"line":125},[99,368,369],{"class":231},"    label",[99,371,372],{"class":109},": ",[99,374,375],{"class":116},"Sitemap Priority\n",[99,377,378,381,383],{"class":101,"line":135},[99,379,380],{"class":231},"    type",[99,382,372],{"class":109},[99,384,385],{"class":116},"range\n",[99,387,388,391,393],{"class":101,"line":147},[99,389,390],{"class":231},"    min",[99,392,372],{"class":109},[99,394,395],{"class":143},"0\n",[99,397,398,401,403],{"class":101,"line":153},[99,399,400],{"class":231},"    max",[99,402,372],{"class":109},[99,404,405],{"class":143},"1\n",[99,407,408,411,413],{"class":101,"line":163},[99,409,410],{"class":231},"    step",[99,412,372],{"class":109},[99,414,415],{"class":143},"0.1\n",[99,417,418,421,423],{"class":101,"line":172},[99,419,420],{"class":231},"    default",[99,422,372],{"class":109},[99,424,425],{"class":143},"0.5\n",[99,427,428,431],{"class":101,"line":178},[99,429,430],{"class":231},"  changefreq",[99,432,357],{"class":109},[99,434,435,437,439],{"class":101,"line":184},[99,436,369],{"class":231},[99,438,372],{"class":109},[99,440,441],{"class":116},"Change Frequency\n",[99,443,445,447,449],{"class":101,"line":444},11,[99,446,380],{"class":231},[99,448,372],{"class":109},[99,450,451],{"class":116},"select\n",[99,453,455,458],{"class":101,"line":454},12,[99,456,457],{"class":231},"    options",[99,459,357],{"class":109},[99,461,463,466],{"class":101,"line":462},13,[99,464,465],{"class":109},"      - ",[99,467,468],{"class":116},"always\n",[99,470,472,474],{"class":101,"line":471},14,[99,473,465],{"class":109},[99,475,476],{"class":116},"hourly\n",[99,478,480,482],{"class":101,"line":479},15,[99,481,465],{"class":109},[99,483,484],{"class":116},"daily\n",[99,486,488,490],{"class":101,"line":487},16,[99,489,465],{"class":109},[99,491,492],{"class":116},"weekly\n",[99,494,496,498],{"class":101,"line":495},17,[99,497,465],{"class":109},[99,499,500],{"class":116},"monthly\n",[99,502,504,506],{"class":101,"line":503},18,[99,505,465],{"class":109},[99,507,508],{"class":116},"yearly\n",[99,510,512,514],{"class":101,"line":511},19,[99,513,465],{"class":109},[99,515,516],{"class":116},"never\n",[203,518,520],{"id":519},"exclude-pages","Exclude Pages",[39,522,523],{},"Three ways keep a page out of the sitemap. A page excluded by one of them keeps its children in the sitemap unless they are excluded too.",[525,526,528],"h3",{"id":527},"by-template","By Template",[39,530,531,534],{},[84,532,533],{},"exclude.templates"," takes template names, matched against the page's intended template:",[89,536,538],{"className":91,"code":537,"filename":93,"language":94,"meta":95,"style":95},"return [\n    'johannschopplich.helpers' => [\n        'sitemap' => [\n            'enabled' => true,\n            'exclude' => [\n                'templates' => ['error', 'search']\n            ]\n        ]\n    ]\n];\n",[84,539,540,546,554,562,574,583,605,610,614,618],{"__ignoreMap":95},[99,541,542,544],{"class":101,"line":102},[99,543,106],{"class":105},[99,545,110],{"class":109},[99,547,548,550,552],{"class":101,"line":113},[99,549,117],{"class":116},[99,551,120],{"class":105},[99,553,110],{"class":109},[99,555,556,558,560],{"class":101,"line":125},[99,557,128],{"class":116},[99,559,120],{"class":105},[99,561,110],{"class":109},[99,563,564,566,568,571],{"class":101,"line":135},[99,565,138],{"class":116},[99,567,120],{"class":105},[99,569,570],{"class":143}," true",[99,572,573],{"class":109},",\n",[99,575,576,579,581],{"class":101,"line":147},[99,577,578],{"class":116},"            'exclude'",[99,580,120],{"class":105},[99,582,110],{"class":109},[99,584,585,588,590,593,596,599,602],{"class":101,"line":153},[99,586,587],{"class":116},"                'templates'",[99,589,120],{"class":105},[99,591,592],{"class":109}," [",[99,594,595],{"class":116},"'error'",[99,597,598],{"class":109},", ",[99,600,601],{"class":116},"'search'",[99,603,604],{"class":109},"]\n",[99,606,607],{"class":101,"line":163},[99,608,609],{"class":109},"            ]\n",[99,611,612],{"class":101,"line":172},[99,613,175],{"class":109},[99,615,616],{"class":101,"line":178},[99,617,181],{"class":109},[99,619,620],{"class":101,"line":184},[99,621,187],{"class":109},[525,623,625],{"id":624},"by-page-id","By Page ID",[39,627,628,631,632,635,636,639],{},[84,629,630],{},"exclude.pages"," takes page IDs as regular expressions, matched against the whole ID regardless of case. ",[84,633,634],{},"blog"," excludes the blog page but not its posts; ",[84,637,638],{},"blog(\u002F.*)?"," excludes both:",[89,641,643],{"className":91,"code":642,"filename":93,"language":94,"meta":95,"style":95},"return [\n    'johannschopplich.helpers' => [\n        'sitemap' => [\n            'enabled' => true,\n            'exclude' => [\n                'pages' => ['legal\u002Fprivacy', 'blog(\u002F.*)?']\n            ]\n        ]\n    ]\n];\n",[84,644,645,651,659,667,677,685,704,708,712,716],{"__ignoreMap":95},[99,646,647,649],{"class":101,"line":102},[99,648,106],{"class":105},[99,650,110],{"class":109},[99,652,653,655,657],{"class":101,"line":113},[99,654,117],{"class":116},[99,656,120],{"class":105},[99,658,110],{"class":109},[99,660,661,663,665],{"class":101,"line":125},[99,662,128],{"class":116},[99,664,120],{"class":105},[99,666,110],{"class":109},[99,668,669,671,673,675],{"class":101,"line":135},[99,670,138],{"class":116},[99,672,120],{"class":105},[99,674,570],{"class":143},[99,676,573],{"class":109},[99,678,679,681,683],{"class":101,"line":147},[99,680,578],{"class":116},[99,682,120],{"class":105},[99,684,110],{"class":109},[99,686,687,690,692,694,697,699,702],{"class":101,"line":153},[99,688,689],{"class":116},"                'pages'",[99,691,120],{"class":105},[99,693,592],{"class":109},[99,695,696],{"class":116},"'legal\u002Fprivacy'",[99,698,598],{"class":109},[99,700,701],{"class":116},"'blog(\u002F.*)?'",[99,703,604],{"class":109},[99,705,706],{"class":101,"line":163},[99,707,609],{"class":109},[99,709,710],{"class":101,"line":172},[99,711,175],{"class":109},[99,713,714],{"class":101,"line":178},[99,715,181],{"class":109},[99,717,718],{"class":101,"line":184},[99,719,187],{"class":109},[39,721,722,723,725],{},"An ID is the page's folder path without sorting numbers, so it carries no language prefix and no translated slug. Instead of an array, ",[84,724,630],{}," takes a closure that returns one:",[89,727,729],{"className":91,"code":728,"filename":93,"language":94,"meta":95,"style":95},"return [\n    'johannschopplich.helpers' => [\n        'sitemap' => [\n            'enabled' => true,\n            'exclude' => [\n                'pages' => fn () => site()->index()->filterBy('noindex', 'true')->pluck('id')\n            ]\n        ]\n    ]\n];\n",[84,730,731,737,745,753,763,771,830,834,838,842],{"__ignoreMap":95},[99,732,733,735],{"class":101,"line":102},[99,734,106],{"class":105},[99,736,110],{"class":109},[99,738,739,741,743],{"class":101,"line":113},[99,740,117],{"class":116},[99,742,120],{"class":105},[99,744,110],{"class":109},[99,746,747,749,751],{"class":101,"line":125},[99,748,128],{"class":116},[99,750,120],{"class":105},[99,752,110],{"class":109},[99,754,755,757,759,761],{"class":101,"line":135},[99,756,138],{"class":116},[99,758,120],{"class":105},[99,760,570],{"class":143},[99,762,573],{"class":109},[99,764,765,767,769],{"class":101,"line":147},[99,766,578],{"class":116},[99,768,120],{"class":105},[99,770,110],{"class":109},[99,772,773,775,777,780,783,787,790,793,796,798,800,803,806,809,811,814,817,819,822,824,827],{"class":101,"line":153},[99,774,689],{"class":116},[99,776,120],{"class":105},[99,778,779],{"class":105}," fn",[99,781,782],{"class":109}," () => ",[99,784,786],{"class":785},"snPdu","site",[99,788,789],{"class":109},"()",[99,791,792],{"class":105},"->",[99,794,795],{"class":785},"index",[99,797,789],{"class":109},[99,799,792],{"class":105},[99,801,802],{"class":785},"filterBy",[99,804,805],{"class":109},"(",[99,807,808],{"class":116},"'noindex'",[99,810,598],{"class":109},[99,812,813],{"class":116},"'true'",[99,815,816],{"class":109},")",[99,818,792],{"class":105},[99,820,821],{"class":785},"pluck",[99,823,805],{"class":109},[99,825,826],{"class":116},"'id'",[99,828,829],{"class":109},")\n",[99,831,832],{"class":101,"line":163},[99,833,609],{"class":109},[99,835,836],{"class":101,"line":172},[99,837,175],{"class":109},[99,839,840],{"class":101,"line":178},[99,841,181],{"class":109},[99,843,844],{"class":101,"line":184},[99,845,187],{"class":109},[525,847,849],{"id":848},"in-the-blueprint","In the Blueprint",[89,851,854],{"className":344,"code":852,"filename":853,"language":347,"meta":95,"style":95},"title: Private Page\noptions:\n  sitemap: false\n","site\u002Fblueprints\u002Fpages\u002Fprivate.yml",[84,855,856,866,873],{"__ignoreMap":95},[99,857,858,861,863],{"class":101,"line":102},[99,859,860],{"class":231},"title",[99,862,372],{"class":109},[99,864,865],{"class":116},"Private Page\n",[99,867,868,871],{"class":101,"line":113},[99,869,870],{"class":231},"options",[99,872,357],{"class":109},[99,874,875,878,880],{"class":101,"line":125},[99,876,877],{"class":231},"  sitemap",[99,879,372],{"class":109},[99,881,882],{"class":143},"false\n",[203,884,886],{"id":885},"multi-language-sites","Multi-Language Sites",[39,888,889,890,893,894,897],{},"Each page has one entry at its default-language URL. Below it, the entry lists an ",[84,891,892],{},"hreflang"," alternate for every language the page has a content file in, and an ",[84,895,896],{},"x-default"," alternate for the default-language URL:",[89,899,901],{"className":219,"code":900,"language":221,"meta":95,"style":95},"\u003Curl>\n  \u003Cloc>https:\u002F\u002Fexample.com\u002Fabout\u003C\u002Floc>\n  \u003Clastmod>2026-10-09\u003C\u002Flastmod>\n  \u003Cpriority>0.5\u003C\u002Fpriority>\n  \u003Cxhtml:link rel=\"alternate\" hreflang=\"de-de\" href=\"https:\u002F\u002Fexample.com\u002Fde\u002Fueber-uns\" \u002F>\n  \u003Cxhtml:link rel=\"alternate\" hreflang=\"en-us\" href=\"https:\u002F\u002Fexample.com\u002Fabout\" \u002F>\n  \u003Cxhtml:link rel=\"alternate\" hreflang=\"x-default\" href=\"https:\u002F\u002Fexample.com\u002Fabout\" \u002F>\n\u003C\u002Furl>\n",[84,902,903,911,924,936,949,984,1012,1039],{"__ignoreMap":95},[99,904,905,907,909],{"class":101,"line":102},[99,906,228],{"class":109},[99,908,232],{"class":231},[99,910,235],{"class":109},[99,912,913,915,917,920,922],{"class":101,"line":113},[99,914,240],{"class":109},[99,916,243],{"class":231},[99,918,919],{"class":109},">https:\u002F\u002Fexample.com\u002Fabout\u003C\u002F",[99,921,243],{"class":231},[99,923,235],{"class":109},[99,925,926,928,930,932,934],{"class":101,"line":125},[99,927,240],{"class":109},[99,929,257],{"class":231},[99,931,260],{"class":109},[99,933,257],{"class":231},[99,935,235],{"class":109},[99,937,938,940,942,945,947],{"class":101,"line":135},[99,939,240],{"class":109},[99,941,271],{"class":231},[99,943,944],{"class":109},">0.5\u003C\u002F",[99,946,271],{"class":231},[99,948,235],{"class":109},[99,950,951,953,956,959,962,965,968,970,973,976,978,981],{"class":101,"line":147},[99,952,240],{"class":109},[99,954,955],{"class":231},"xhtml:link",[99,957,958],{"class":785}," rel",[99,960,961],{"class":109},"=",[99,963,964],{"class":116},"\"alternate\"",[99,966,967],{"class":785}," hreflang",[99,969,961],{"class":109},[99,971,972],{"class":116},"\"de-de\"",[99,974,975],{"class":785}," href",[99,977,961],{"class":109},[99,979,980],{"class":116},"\"https:\u002F\u002Fexample.com\u002Fde\u002Fueber-uns\"",[99,982,983],{"class":109}," \u002F>\n",[99,985,986,988,990,992,994,996,998,1000,1003,1005,1007,1010],{"class":101,"line":153},[99,987,240],{"class":109},[99,989,955],{"class":231},[99,991,958],{"class":785},[99,993,961],{"class":109},[99,995,964],{"class":116},[99,997,967],{"class":785},[99,999,961],{"class":109},[99,1001,1002],{"class":116},"\"en-us\"",[99,1004,975],{"class":785},[99,1006,961],{"class":109},[99,1008,1009],{"class":116},"\"https:\u002F\u002Fexample.com\u002Fabout\"",[99,1011,983],{"class":109},[99,1013,1014,1016,1018,1020,1022,1024,1026,1028,1031,1033,1035,1037],{"class":101,"line":163},[99,1015,240],{"class":109},[99,1017,955],{"class":231},[99,1019,958],{"class":785},[99,1021,961],{"class":109},[99,1023,964],{"class":116},[99,1025,967],{"class":785},[99,1027,961],{"class":109},[99,1029,1030],{"class":116},"\"x-default\"",[99,1032,975],{"class":785},[99,1034,961],{"class":109},[99,1036,1009],{"class":116},[99,1038,983],{"class":109},[99,1040,1041,1043,1045],{"class":101,"line":172},[99,1042,297],{"class":109},[99,1044,232],{"class":231},[99,1046,235],{"class":109},[39,1048,1049],{},"A page without content in any language, such as a virtual page created without content, gets an alternate for every language.",[39,1051,1052,1053,1055,1056,1059,1060,73],{},"The ",[84,1054,892],{}," value comes from the language's locale in lowercase, so ",[84,1057,1058],{},"de_DE.utf8"," becomes ",[84,1061,1062],{},"de-de",[203,1064,1066],{"id":1065},"caching","Caching",[39,1068,1069,1070,1075,1076,1078],{},"With Kirby's ",[46,1071,1074],{"href":1072,"rel":1073},"https:\u002F\u002Fgetkirby.com\u002Fdocs\u002Fguide\u002Fcache",[50],"pages cache"," enabled, the sitemap is cached with it. Edits saved through Kirby, in the Panel or from PHP, refresh it. A change to ",[84,1077,86],{},", a blueprint, a page model, or a content file on disk shows once the cache is emptied.",[203,1080,1082],{"id":1081},"robotstxt",[84,1083,197],{},[39,1085,1086],{},"The route answers with a fixed body that allows every crawler and names the sitemap:",[89,1088,1092],{"className":1089,"code":1090,"language":1091,"meta":95,"style":95},"language-txt shiki shiki-themes github-light github-light github-dark","User-agent: *\nAllow: \u002F\nSitemap: https:\u002F\u002Fexample.com\u002Fsitemap.xml\n","txt",[84,1093,1094,1099,1104],{"__ignoreMap":95},[99,1095,1096],{"class":101,"line":102},[99,1097,1098],{},"User-agent: *\n",[99,1100,1101],{"class":101,"line":113},[99,1102,1103],{},"Allow: \u002F\n",[99,1105,1106],{"class":101,"line":125},[99,1107,1108],{},"Sitemap: https:\u002F\u002Fexample.com\u002Fsitemap.xml\n",[39,1110,1111,1112,1114],{},"It names the sitemap even when the sitemap route is off. A ",[84,1113,197],{}," file in the web root is served by the web server before Kirby sees the request, so delete it for the route to answer.",[1116,1117,1118],"style",{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sovSZ, html code.shiki .sovSZ{--shiki-light:#22863A;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":95,"searchDepth":113,"depth":113,"links":1120},[1121,1122,1127,1128,1129],{"id":205,"depth":113,"text":206},{"id":519,"depth":113,"text":520,"children":1123},[1124,1125,1126],{"id":527,"depth":125,"text":528},{"id":624,"depth":125,"text":625},{"id":848,"depth":125,"text":849},{"id":885,"depth":113,"text":886},{"id":1065,"depth":113,"text":1066},{"id":1081,"depth":113,"text":197},"Serve an XML sitemap with hreflang alternates for the languages each page is translated into, and a robots.txt that points to it.","md",{},true,{"title":20,"description":1130},"8kKt3_tRK3ZxwLNjscXDRc5qXrsyvuEPQeetpSGVSSo",[1137,1139],{"title":16,"path":17,"stem":18,"description":1138,"children":-1},"Render description, Open Graph, Twitter Card, JSON-LD, robots, and canonical tags for a page from its fields, its page model, or global defaults.",{"title":24,"path":25,"stem":26,"description":1140,"children":-1},"Send requests for URLs that no page or route answers to a new address, matched with Kirby route patterns.",1791534960083]