technical
Sitemap a robots.txt
MetricSpot busca una línia Sitemap: al robots.txt. És com Google, Bing i la majoria de rastrejadors d'IA descobreixen automàticament el teu sitemap sense enviar-lo manualment.
Què comprova aquesta auditoria
Descarrega /robots.txt i busca una o més directives Sitemap:. Verifica que la URL sigui absoluta (les URL relatives no estan permeses per l’especificació) i que sigui accessible.
Per què importa
La majoria de rastrejadors descobreix el teu sitemap d’una de tres maneres:
- L’envies a Google Search Console / Bing Webmaster Tools.
- El declares al
robots.txtviaSitemap:. - El rastrejador endevina
/sitemap.xmlcom a últim recurs.
El mètode 2 és el que escala a rastrejadors amb els quals no tens un compte: Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot, Applebot, Yandex, Baidu i desenes d’indexadors més petits llegeixen robots.txt abans de rastrejar res. Declarar el teu sitemap allà és una línia de configuració que difon la ubicació a tothom alhora.
Si te’l saltes, un sitemap generat pel CMS a una URL no estàndard (/sitemap_index.xml, /wp-sitemap.xml, /sitemap-0.xml) pot no ser descobert mai pels rastrejadors més petits que no proven rutes alternatives.
Com solucionar-ho
Afegeix una línia Sitemap: al /robots.txt. Fes servir la URL absoluta i canònica: mateix esquema (https), mateix hostname (amb o sense www, coincidint amb el teu canònic), sense redireccions al final.
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
Es permeten diversos sitemaps. Llista cada un, o llista un índex de sitemaps que referenciï els altres:
Sitemap: https://example.com/sitemap-pages.xml
Sitemap: https://example.com/sitemap-posts.xml
Sitemap: https://example.com/sitemap-products.xml
Regles:
- Només URL absoluta.
Sitemap: /sitemap.xmlno és vàlid per l’especificació. Alguns rastrejadors ho toleren, d’altres ignoren la directiva del tot. - Coincideix amb l’esquema/host canònic. Si el teu lloc és
https://www.example.com, no declarishttps://example.com/sitemap.xml. Google tracta el sitemap com a pertanyent al host on es declara. - La directiva
Sitemap:és global, no està limitada a un blocUser-agent:. Posa-la en la seva pròpia línia, a dalt o a baix del fitxer, la posició no importa.
nginx (servint un robots.txt estàtic):
location = /robots.txt {
alias /var/www/example.com/robots.txt;
}
Next.js (App Router), robots.txt dinàmic:
// app/robots.ts
import type { MetadataRoute } from "next";
export default function robots(): MetadataRoute.Robots {
return {
rules: [{ userAgent: "*", allow: "/" }],
sitemap: "https://example.com/sitemap.xml",
};
}
Astro: posa un public/robots.txt literal al teu projecte, o genera’n un a src/pages/robots.txt.ts:
// src/pages/robots.txt.ts
import type { APIRoute } from "astro";
export const GET: APIRoute = ({ site }) => {
const body = `User-agent: *
Allow: /
Sitemap: ${new URL("sitemap-index.xml", site).href}
`;
return new Response(body, { headers: { "Content-Type": "text/plain" } });
};
Si fas servir @astrojs/sitemap, emet sitemap-index.xml, apunta la directiva a l’índex, no als sitemaps individuals.
WordPress: Yoast SEO i Rank Math afegeixen automàticament la línia Sitemap: al robots.txt virtual. Si tens un fitxer /robots.txt real al disc, el plugin no el pot sobreescriure, o esborres el fitxer o afegeixes la línia Sitemap: manualment.
Cloudflare Workers / Pages: robots.txt és només text estàtic, posa’l al teu directori public/. Si el generes via un Worker, configura content-type: text/plain perquè els rastrejadors l’analitzin correctament.
Combina-ho amb fitxer robots.txt, sitemap XML i permetre rastrejadors d’IA, els tres junts configuren tota la superfície de descobriment de rastreig.
Preguntes freqüents
Encara haig d’enviar el sitemap a Search Console si està al robots.txt?
Sí, per a Google. L’enviament a Search Console et dóna estadístiques d’indexació per sitemap, reports d’errors i diagnòstics de “descobert però no indexat” que l’autodescobriment no ofereix. Fes servir tots dos: robots.txt per a la resta del web, Search Console per a visibilitat específica a Google.
Puc tenir més d’una línia Sitemap:?
Sí. L’especificació permet múltiples declaracions de sitemap. O llista-les totes, o llista un fitxer índex de sitemaps que referenciï els altres (més net, més fàcil de mantenir).
I si canvia la URL del meu sitemap?
Actualitza la línia Sitemap: i Googlebot ho recollirà la pròxima vegada que llegeixi el robots.txt (normalment en 24 hores). Si tens un sitemap antic enviat a Search Console, treu-lo manualment, el robots.txt només diu als rastrejadors on és el nou, no fa caducar l’antic.
Fonts
Última actualització 2026-05-11