Què són sitemap XML i robots.txt: funcions complementàries
Tots els llocs web necessiten dos fitxers. No un framework, no un CMS, no una eina d’analítica. Dos fitxers de text pla que qualsevol editor de codi pot crear en minuts: el sitemap XML i el robots.txt. I tanmateix, segons una anàlisi de Screaming Frog sobre més de 15.000 llocs web auditats el 2025, el 35% dels llocs tenen errors en almenys un dels dos. No errors menors: errors que afecten directament la capacitat de Google per descobrir, rastrejar i indexar el seu contingut.
El sitemap XML és un fitxer amb format XML que llista les URLs d’un lloc web que el propietari vol que els motors de cerca descobreixin i indexin. No és una instrucció obligatòria per a Google —Google pot descobrir pàgines pel seu compte seguint enllaços— sinó una senyal directa que diu: “aquestes són les meves URLs importants, i aquí tens informació sobre quan es van actualitzar per última vegada.”
El robots.txt és un fitxer de text pla ubicat a l’arrel del domini (/robots.txt) que comunica als crawlers quines seccions del lloc poden rastrejar i quines no. És un protocol d’exclusió, no d’inclusió: per defecte, tot és rastrejable. El robots.txt només especifica excepcions.
Junts, aquests dos fitxers formen el sistema de control d’accés entre un lloc web i els motors de cerca. El sitemap diu “això és el que tinc i vull que indexis”. El robots.txt diu “això és el que no vull que rastregis”. Quan tots dos són coherents entre si, Google pot assignar el seu pressupost de rastreig amb màxima eficiència. Quan són contradictoris —per exemple, una URL llistada al sitemap però blocada a robots.txt—, Google rep senyals mixtes que pot resoldre de formes impredictibles.
Per entendre per què aquests dos fitxers importen en el context més ampli d’una auditoria SEO tècnica, és útil recordar que Google opera amb recursos finits. Googlebot té un pressupost de rastreig limitat per a cada lloc, i l’eficiència amb què aquest pressupost s’utilitza depèn directament que aquests fitxers estiguin ben configurats.
Com crear i configurar un sitemap XML correcte
L’especificació oficial de sitemaps XML està estandarditzada a sitemaps.org i documentada en detall per Google a la seva guia de construcció i enviament de sitemaps. Tot i que l’estructura és simple, els errors d’implementació són endèmics.
Un sitemap XML mínim té aquesta estructura:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://elteudominei.com/pagina-exemple/</loc>
<lastmod>2026-03-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
D’aquestes quatre etiquetes dins de <url>, només <loc> és obligatòria. Les altres tres són opcionals, i el seu valor pràctic varia:
<loc> (obligatòria): La URL canònica completa de la pàgina, incloent protocol i domini. Ha de coincidir exactament amb la URL canònica declarada a l’etiqueta <link rel="canonical"> de la pàgina. Si hi ha discrepàncies, Google rep una senyal contradictòria.
<lastmod> (recomanada): La data de la darrera modificació substancial del contingut. Google ha confirmat públicament que utilitza aquesta senyal per prioritzar el rastreig de pàgines actualitzades, però només si la data és fiable. Els CMS que actualitzen lastmod automàticament cada dia sense canvis reals de contingut inutilitzen aquesta senyal. Google aprèn a ignorar els lastmod no fiables.
<changefreq> (ignorada per Google): Segons la documentació oficial de Google, aquesta etiqueta s’ignora a la pràctica. Va ser dissenyada per indicar amb quina freqüència canvia una pàgina, però Google prefereix determinar aquesta freqüència per si mateix a través de les seves pròpies dades de rastreig.
<priority> (ignorada per Google): Similar a changefreq, Google ha declarat públicament que ignora aquesta etiqueta. La prioritat relativa de les URLs es determina per senyals més fiables com l’enllaçat intern, el PageRank i la freqüència de canvis.
La regla d’or del sitemap és que cada URL ha de complir tres condicions simultànies: retornar un codi d’estat 200, ser la URL canònica (no una variant amb paràmetres o redirecció), i no tenir directiva noindex. Incloure URLs que incompleixen qualsevol d’aquestes condicions genera soroll a l’informe d’indexació de Google Search Console i pot afectar la percepció de qualitat del sitemap per part de Google.
Per a llocs amb més de 50.000 URLs, l’especificació requereix un sitemap index —un fitxer XML que fa referència a múltiples sitemaps individuals, cadascun amb un màxim de 50.000 URLs. La segmentació recomanada és per tipus de contingut: un sitemap per a pàgines de producte, un altre per a articles de blog, un altre per a pàgines de categoria. Aquesta segmentació facilita enormement el diagnòstic quan hi ha problemes d’indexació en un tipus específic de contingut.
Per a llocs multilingües, el sitemap ha d’incloure anotacions hreflang amb el namespace xhtml:
<url>
<loc>https://elteudominei.com/ca/pagina/</loc>
<xhtml:link rel="alternate" hreflang="ca" href="https://elteudominei.com/ca/pagina/"/>
<xhtml:link rel="alternate" hreflang="es" href="https://elteudominei.com/es/pagina/"/>
<xhtml:link rel="alternate" hreflang="en" href="https://elteudominei.com/en/page/"/>
</url>
Aquest enfocament centralitza les declaracions hreflang al sitemap en lloc de duplicar-les a cada pàgina HTML, cosa que simplifica el manteniment i redueix el risc d’inconsistències.
Robots.txt: sintaxi, directives i errors comuns
El robots.txt és enganyosament simple en aparença però sorprenentment fàcil de configurar malament. L’especificació formal va ser estandarditzada per Google, i està documentada en detall a la guia d’especificacions de robots.txt de Google.
La sintaxi bàsica utilitza tres directives principals:
User-agent: *
Disallow: /admin/
Disallow: /api/
Allow: /api/public/
Sitemap: https://elteudominei.com/sitemap.xml
User-agent: Especifica a quin crawler s’apliquen les regles següents. * significa “tots els crawlers”. Es poden crear blocs separats per a crawlers específics: User-agent: Googlebot, User-agent: GPTBot, etc.
Disallow: Indica les rutes que el crawler no ha de rastrejar. Una línia buida Disallow: (sense ruta) significa “no bloquejar res” i és equivalent a permetre-ho tot. La ruta /admin/ bloqueja tot el que comenci per /admin/.
Allow: Permet el rastreig de rutes específiques dins d’un directori bloquejat. És més específica que Disallow i la sobreescriu. A l’exemple anterior, /api/ està bloquejat però /api/public/ està permès.
Sitemap: Declara la ubicació del sitemap XML. Aquesta directiva és independent dels blocs User-agent i s’aplica globalment. És la forma més eficient de comunicar l’existència del sitemap a tots els crawlers simultàniament, sense dependre de Google Search Console.
Els errors de configuració més freqüents a robots.txt són previsibles i recurrents:
Error 1: Bloquejar Googlebot de CSS i JavaScript. Alguns administradors bloquegen els directoris /css/ o /js/ pensant que són recursos interns. Tanmateix, Googlebot necessita accedir a aquests fitxers per renderitzar les pàgines correctament. Bloquejar-los impedeix que Google vegi la pàgina com la veuen els usuaris, cosa que pot afectar el posicionament i l’avaluació de Core Web Vitals.
Error 2: Confondre rastreig amb indexació. L’error més perillós. El robots.txt bloqueja el rastreig, no la indexació. Si una URL està blocada per robots.txt però té enllaços entrants des d’altres llocs, Google pot indexar-la sense haver-la rastrejada, mostrant-la als resultats amb un snippet buit o genèric. Per evitar la indexació, necessites una meta etiqueta <meta name="robots" content="noindex"> o una capçalera HTTP X-Robots-Tag: noindex —però aquestes només funcionen si la pàgina és rastrejable, perquè Googlebot necessita rastrejar la pàgina per veure aquestes directives. Segons la documentació de Moz sobre robots.txt i SEO, aquesta confusió és la causa més freqüent de problemes d’indexació no desitjada en llocs empresarials.
Error 3: Deixar un Disallow: / d’entorn de desenvolupament. Durant el desenvolupament, és pràctica habitual bloquejar tot el lloc amb Disallow: / per evitar la indexació prematura. Si aquest robots.txt arriba a producció sense modificar —cosa que passa amb freqüència en migracions i desplegaments automatitzats—, tot el lloc queda bloquejat per al rastreig. Les eines de validació de robots.txt de Screaming Frog permeten auditar el fitxer abans de cada desplegament.
Error 4: No gestionar els crawlers d’IA. El 2026, la gestió de bots d’IA al robots.txt és una decisió estratègica, no tècnica. GPTBot (OpenAI), PerplexityBot, ClaudeBot (Anthropic) i d’altres rastregen la web independentment de Googlebot. Cada organització ha de decidir conscientment quins bots permet i quins no, documentant la decisió. Un robots.txt sense directives per a bots d’IA és un robots.txt incomplet el 2026.
La relació entre sitemap, robots.txt i crawl budget
El sitemap i el robots.txt treballen com un sistema coordinat que guia el pressupost de rastreig de Googlebot. El sitemap diu “aquestes són les meves URLs prioritàries”, el robots.txt diu “aquestes rutes no mereixen rastreig”. La combinació eficient de tots dos maximitza la proporció de crawl budget que es destina a contingut valuós.
Quan hi ha incoherència entre tots dos fitxers, el resultat és un malbaratament de pressupost. Els escenaris més comuns:
URLs al sitemap blocades per robots.txt: Google intenta rastrejar-les, troba el bloqueig i les marca com “Blocada per robots.txt” a l’informe d’indexació. És una petició HTTP malbaratada que consumeix crawl budget sense resultat. Segons la documentació oficial de Google sobre sitemaps, les URLs del sitemap han de ser rastrejables.
URLs rastrejables que no són al sitemap: No és un error en si —Google pot descobrir-les per enllaços—, però el sitemap perd la seva funció d’inventari complet. Si confies en el sitemap com a font de veritat per a auditories (com es recomana), les URLs absents creen punts cecs.
Robots.txt que bloqueja directoris complets amb pàgines valuoses: Un Disallow: /category/ ben intencionat per bloquejar pàgines de filtre pot bloquejar inadvertidament les pàgines de categoria principals si comparteixen la mateixa ruta base.
La configuració òptima segueix un principi simple: el sitemap és el mirall positiu i el robots.txt és el filtre negatiu. Les URLs del sitemap i les rutes permeses a robots.txt han de ser conjunts coherents. Qualsevol auditoria tècnica seriosa —com les que detallem a la nostra guia d’auditoria SEO tècnica— verifica aquesta coherència com un dels seus primers passos.
Eines per validar el sitemap i el robots.txt
La validació manual d’aquests fitxers és inviable en llocs de qualsevol mida significativa. Afortunadament, hi ha eines especialitzades que automatitzen les comprovacions més crítiques.
Google Search Console — Sitemaps: La secció de sitemaps a GSC mostra l’estat de processament de cada sitemap enviat: nombre d’URLs descobertes, darrera data de lectura, i qualsevol error de processament. També creua les URLs del sitemap amb l’informe d’indexació per mostrar quantes estan indexades, quantes excloses i per què.
Google Search Console — Inspecció d’URLs: Permet verificar si una URL específica està afectada per directives de robots.txt. La secció “Rastreig” de l’informe d’inspecció mostra si la URL va ser rastrejada correctament o si va trobar algun bloqueig.
Screaming Frog SEO Spider: Permet rastrejar el lloc complet simulant Googlebot i aplicant les regles del robots.txt. Detecta automàticament: URLs al sitemap que retornen errors, URLs blocades per robots.txt que reben enllaços interns, cadenes de redirecció dins del sitemap, i discrepàncies entre URLs canòniques i URLs del sitemap. La guia de configuració de robots.txt de Screaming Frog detalla com configurar proves avançades.
Validador de robots.txt de Google: Disponible com a eina dins l’antic Google Search Console (legacy). Permet provar si una URL específica està blocada o permesa per les regles del fitxer robots.txt actual.
Yoast SEO (per a WordPress): Genera sitemaps XML automàticament i permet configurar el robots.txt des de la interfície d’administració. La guia de sitemaps XML de Yoast documenta les millors pràctiques per a la configuració automatitzada.
La validació no és un esdeveniment únic: s’ha d’integrar al flux de desplegament. Cada vegada que es publica una nova secció del lloc, es migra un CMS o s’actualitza l’arquitectura d’URLs, tots dos fitxers s’han de revisar per assegurar coherència.
Casos reals: errors de configuració que van afectar el SEO
Els errors de sitemap i robots.txt rarament són teòrics. Aquests són patrons documentats que es repeteixen en auditories reals.
Cas 1: El robots.txt que va sobreviure a la migració. Una empresa de comerç electrònic va migrar de Magento a Shopify el 2025. El lloc de Magento tenia un robots.txt personalitzat amb regles específiques per bloquejar URLs de cistella, checkout i filtres de faceta. Shopify genera el seu propi robots.txt amb una estructura diferent. Durant la migració, l’equip tècnic va crear un fitxer robots.txt personalitzat a Shopify que combinava les regles antigues de Magento amb les noves de Shopify, però una regla de Magento — Disallow: /catalog/ — va bloquejar inadvertidament les pàgines de catàleg de Shopify, que fan servir la ruta /collections/catalog/. El resultat: 2.300 pàgines de producte van deixar de ser rastrejables durant 6 setmanes abans que es detectés el problema a Google Search Console.
Cas 2: El sitemap amb 40.000 URLs en 301. Un portal de notícies va redissenyar la seva estructura d’URLs, canviant de /noticies/2025/03/titol a /titol-de-la-noticia. Va implementar redireccions 301 correctament, però no va actualitzar el sitemap XML. Durant 4 mesos, el sitemap llistava les URLs antigues que retornaven 301. Googlebot seguia les redireccions i arribava al contingut correcte, però l’informe d’indexació a GSC mostrava milers d’advertències que ocultaven problemes reals. En netejar el sitemap perquè només contingués les URLs noves (amb resposta 200), l’informe d’indexació es va simplificar dràsticament i es van descobrir 150 pàgines amb errors 404 genuïns que havien quedat ocultes sota el soroll.
Cas 3: Bloqueig accidental de bots d’IA sense avaluar l’impacte. Una consultora B2B va afegir Disallow: / per a GPTBot i PerplexityBot al seu robots.txt després de llegir un article sobre scraping de contingut. Tres mesos després, el seu competidor directe —que no havia bloquejat aquests bots— va començar a aparèixer citat en respostes de ChatGPT i Perplexity per a consultes que abans generaven trànsit orgànic cap a la consultora. El trànsit de referència des de fonts d’IA va caure un 60%. La decisió de bloquejar o permetre bots d’IA no és binària: requereix avaluar el valor que la presència en IA generativa aporta al negoci davant del cost de permetre el rastreig del teu contingut.
Cas 4: Hreflang al sitemap amb URLs inconsistents. Un lloc multilingüe va implementar anotacions hreflang al sitemap, però les URLs de les versions en anglès incloïen paràmetres de seguiment (?lang=en) mentre que les URLs en català no els incloïen. Google va interpretar les versions amb paràmetres com a URLs diferents de les canòniques, generant un conflicte de canonicals que va afectar la indexació de les versions en anglès durant setmanes. La regla: les URLs a les anotacions hreflang del sitemap han de ser idèntiques a les URLs canòniques declarades a cada pàgina.
Aquests casos comparteixen un denominador comú: els errors no van ser de coneixement tècnic, sinó de coherència. Cada configuració individual era correcta en aïllament; va ser la manca de coordinació entre sitemap, robots.txt, canonicals i l’estructura real del lloc el que va generar els problemes. Dos fitxers de text pla que tothom dóna per fets fins que alguna cosa deixa d’indexar-se.