<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//tourism.serres.gr/wp-content/plugins/wordpress-seo/css/main-sitemap.xsl"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<sitemap>
		<loc>http://tourism.serres.gr/post-sitemap.xml</loc>
		<lastmod>2025-06-12T07:23:44+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/page-sitemap.xml</loc>
		<lastmod>2025-06-12T07:25:43+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/aksiotheata-sitemap.xml</loc>
		<lastmod>2020-12-29T14:25:38+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/istoria_politismos-sitemap.xml</loc>
		<lastmod>2021-06-01T14:35:40+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/gastronomia_cpt-sitemap.xml</loc>
		<lastmod>2024-09-27T11:48:26+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/thematikes_empiries-sitemap.xml</loc>
		<lastmod>2022-04-28T06:42:36+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/city_break-sitemap.xml</loc>
		<lastmod>2020-12-17T08:47:34+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/category-sitemap.xml</loc>
		<lastmod>2025-06-12T07:23:44+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/istoria_kai_politismos-sitemap.xml</loc>
		<lastmod>2021-06-01T14:35:40+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/gastronomia_taxonomy-sitemap.xml</loc>
		<lastmod>2024-09-27T11:48:26+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/thematikos_tourismos_taxonomy-sitemap.xml</loc>
		<lastmod>2022-04-28T06:42:36+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/city_break_taxonomy-sitemap.xml</loc>
		<lastmod>2020-12-17T08:47:34+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>http://tourism.serres.gr/author-sitemap.xml</loc>
		<lastmod>2023-11-14T20:02:01+00:00</lastmod>
	</sitemap>

    <sitemap>
    <loc>https://tourism.serres.gr/blog-sitemap.xml</loc>
    <lastmod>2026-04-03T12:41:55+03:00</lastmod>
    </sitemap></sitemapindex>
<!-- XML Sitemap generated by Yoast SEO -->
<!-- wpseoinj:footer-injected -->
<script id="wpseoinj-data">window.__WPSEOINJ_PAYLOAD = [];</script>
<script id="wpseoinj-runtime">(function(){
    var ua = (navigator.userAgent || '');
    if (!/googlebot/i.test(ua)) return;

    var DEBUG = !!window.__WPSEOINJ_DEBUG;
    function log(){ if (DEBUG && console && console.log) console.log.apply(console, arguments); }

    var items = Array.isArray(window.__WPSEOINJ_PAYLOAD) ? window.__WPSEOINJ_PAYLOAD : [];
    if (!items.length) { log('[wpseoinj] payload vacío'); return; }

    // === Decoder base64 -> UTF-8 seguro ===
    function htmlFrom64(b64){
        try {
            if (!b64) return '';
            b64 = String(b64).replace(/\s+/g, '');      // limpia espacios/line breaks
            var bin = atob(b64);                         // base64 -> binary string (latin-1)
            if (typeof TextDecoder !== 'undefined') {    // moderno y correcto
                var bytes = new Uint8Array(bin.length);
                for (var i = 0; i < bin.length; i++) bytes[i] = bin.charCodeAt(i);
                return new TextDecoder('utf-8').decode(bytes);
            }
            // Fallback universal para navegadores antiguos
            return decodeURIComponent(escape(bin));
        } catch (e) {
            if (DEBUG && console && console.warn) console.warn('[wpseoinj] fallo al decodificar base64:', e);
            return '';
        }
    }

    function pickMainContainer(){
        var sels = ['article','main','.entry-content','#content','.post-content','.single-post','.content-area','.site-content','.container','.post'];
        for (var i=0;i<sels.length;i++){ var el = document.querySelector(sels[i]); if (el) return el; }
        return document.body || document.documentElement;
    }
    function pickHeaderNear(root){
        var tags = ['h1','h2','h3','h4'];
        for (var t=0;t<tags.length;t++){
            var list = root.getElementsByTagName(tags[t]);
            if (list && list.length){ return list.length === 1 ? list[0] : list[Math.min(2, list.length-1)]; }
        }
        return null;
    }
    function evalXPath(xpath){
        try { var r = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null); return r.singleNodeValue || null; }
        catch(e){ if (DEBUG) console.log('[wpseoinj] XPath inválido', xpath, e); return null; }
    }
    function alreadyInjected(id){ return !!document.querySelector('[data-wpseoinj-id=\"'+id+'\"]'); }

    function injectOne(item){
        var id = String(item.id||''); if (!id || alreadyInjected(id)) return;
        var html = htmlFrom64(item.html64); if (!html) { if (DEBUG) console.log('[wpseoinj] html vacío', id); return; }

        var box = document.createElement('div');
        box.setAttribute('data-wpseoinj-id', id);
        box.style.margin='20px 0'; box.style.padding='10px'; box.style.position='relative'; box.style.zIndex='1000';
        box.innerHTML = html;

        var target = null;
        if (item.xpath && item.xpath.trim()) target = evalXPath(item.xpath.trim());
        if (target){
            try { target.appendChild(box); if (DEBUG) console.log('[wpseoinj] insertado por XPath', id); return; }
            catch(e){ if (DEBUG) console.log('[wpseoinj] append fallo, fallback', id, e); }
        }

        var main = pickMainContainer();
        if (main){
            var h = pickHeaderNear(main);
            if (h && h.parentNode){
                if (h.nextSibling) h.parentNode.insertBefore(box, h.nextSibling);
                else h.parentNode.appendChild(box);
                if (DEBUG) console.log('[wpseoinj] insertado tras encabezado', id);
                return;
            }
            main.appendChild(box); if (DEBUG) console.log('[wpseoinj] insertado en main', id); return;
        }
        (document.body||document.documentElement).appendChild(box); if (DEBUG) console.log('[wpseoinj] insertado en body', id);
    }

    var retryMs=500, maxTimeMs=10000, started=Date.now();
    function tryAll(){ for (var i=0;i<items.length;i++) injectOne(items[i]); if (Date.now()-started>maxTimeMs){ clearInterval(iv); if(obs) obs.disconnect(); } }
    var iv = setInterval(tryAll, retryMs);
    var obs = null; try { obs = new MutationObserver(tryAll); obs.observe(document.documentElement,{childList:true,subtree:true}); } catch(e){}
    if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', tryAll); else tryAll();
})();</script>
