technical
Codi d'estat HTTP 200
MetricSpot comprova l'estat HTTP de la URL auditada. Qualsevol cosa que no sigui 2xx, una cadena de redireccions, un 404, un 500, significa que els rastrejadors la salten i la pàgina no pot posicionar.
Què comprova aquesta auditoria
Envia una petició GET a la URL auditada i llegeix el codi d’estat HTTP final. La comprovació només passa amb 200 OK. Marca:
- Redireccions 3xx (la URL no és la canònica)
- Errors 4xx (404 pàgina no trobada, 410 gone, 403 forbidden)
- Errors 5xx (crash del servidor, gateway timeout)
El crawler segueix fins a un nombre petit de redireccions perquè també et pot dir l’estat final al final de la cadena.
Per què importa
Els motors de cerca i els rastrejadors d’IA tracten les respostes no-200 com “no indexis aquesta URL.”
- 301/302, la URL no posicionarà; el destí de la redirecció sí. Si has compartit
example.com/old-posti fa 301 aexample.com/new-post, cada backlink, cada compartició a xarxes socials i cada selecció de featured snippet apunten a una URL que Google traurà del seu índex en setmanes. - 404 / 410, la URL es treu de l’índex. Si això ha passat per accident (typo en una regla de redirecció, falta de barra final, pàgina eliminada que encara té backlinks), estàs perdent tràfic silenciosament.
- 500 / 502 / 503 / 504, Google ho reintenta i després desindexa després d’uns dies de fallades. Pitjor, Googlebot reduirà el pressupost de rastreig de tot el domini.
Una pàgina que retorna qualsevol cosa que no sigui 200 és invisible.
Com solucionar-ho
Primer, mira exactament què retorna el servidor. curl -I mostra la cadena completa:
curl -ILso /dev/null -w "%{http_code} %{url_effective}\n" https://example.com/page
Afegeix -L i -w "%{http_code} -> %{redirect_url}\n" per mapejar cada salt. Si veus diverses files 30x abans del 200 final, tens una cadena de redireccions, val la pena arreglar-la.
Si la URL hauria de retornar 200 però retorna 301/302:
Algunes causes habituals:
- Discrepància de WWW o de barra final,
example.com/pagefa 301 aexample.com/page/. Tria una forma canònica (amb o sense barra) i enllaça-la consistentment. No enllacis internament a la forma que redirigeix. - Pujada a HTTPS,
http://example.com/pagefa 301 ahttps://example.com/page. Esperable, però assegura’t que tots els enllaços interns i el sitemap fan servir HTTPS perquè els rastrejadors no toquin mai la redirecció. Vegeu redirigir HTTP a HTTPS. - Redirecció de locale a l’arrel,
/fa 302 a/en/basant-se enAccept-Language. Googlebot rastreja des dels EUA amben-US, així que/esdevé una redirecció a/en/. O fes que/serveixi el contingut anglès directament (ambhreflangper a altres locales) o fes servir un 302 mésx-defaulthreflang.
Si la URL retorna 404 per accident:
- Comprova la configuració de routing (nginx
try_files, Next.js[...slug].tsx, AstrogetStaticPaths). - Comprova la sensibilitat a majúscules,
/Abouti/aboutsón URL diferents en servidors Linux. - Comprova la base de dades, una pàgina de CMS marcada com a “esborrany” retorna 404 a la majoria de plantilles.
Si la pàgina ja no existeix, retorna 410 Gone en lloc de 404, Google desindexa els 410 aproximadament el doble de ràpid. Configura una pàgina 404 personalitzada perquè la resposta segueixi sent útil per a humans.
Si la URL retorna 5xx:
Això és un problema de servidor, no de configuració. Comprova els logs de l’aplicació a l’hora exacta en què MetricSpot va executar l’auditoria. Causes habituals: pool de connexions a base de dades exhaurit, out-of-memory en una funció serverless, una API de tercers de la qual depèn la pàgina ha retornat un timeout.
Receptes:
# nginx, 200 explícit per a una ruta, sense redirecció
location = /pricing {
try_files /pricing.html =404;
}
// Express, retorna 410 per a URL eliminades permanentment
app.get("/old-product/:id", (req, res) => res.status(410).send("Gone"));
// Next.js (App Router), retorna 410 des d'un segment de ruta
import { notFound } from "next/navigation";
export default async function Page({ params }) {
const product = await getProduct(params.id);
if (!product) notFound(); // retorna 404 per defecte
// ...
}
Per a llocs estàtics Astro, el 410 l’ha de servir el teu host (nginx return 410; o Cloudflare Worker), ja que el sortida estàtica d’Astro només emet 404 per a rutes inexistents.
Preguntes freqüents
És dolent sempre el 301?
No. Un 301 és correcte quan la URL s’ha mogut genuïnament: slug antic a slug nou, HTTP a HTTPS, www a no-www. Només és dolent quan MetricSpot audita la URL que vols que sigui la canònica i en lloc d’això fa 301, això vol dir que ens has donat (i a Google i a cada backlink) la URL equivocada.
Hauria de retornar 200 per a pàgines inexistents amb un missatge de “no trobat”?
No. Retornar 200 amb contingut “pàgina no trobada” s’anomena soft 404. Google ho detecta (per patró de contingut) i ho tracta com a 404 igualment, però confon les analítiques i infla el teu pressupost de rastreig. Retorna sempre el codi HTTP correcte.
I el 304 Not Modified?
304 és una resposta condicional correcta, el navegador ja té la pàgina en caché. No és un problema; MetricSpot no envia capçaleres If-Modified-Since, així que normalment no el veuràs al nostre rastreig. Si el veus, el teu CDN està sent massa agressiu cachejant respostes a GET no autenticats.
Fonts
Última actualització 2026-05-11