Códigos de estado HTTP de una URL.
Resumen.
En este artículo veremos cómo podemos saber que código de respuesta o código de estado HTTP que devuelven las URLs de nuestro sitio Web, algo que puede ser de gran importancia en términos SEO. Veremos a grandes rasgos los códigos de respuesta y cómo podemos determinar una cierta respuesta por parte de nuestras páginas.Artículo.
Para comprender de qué va este artículo, lo primero que debemos conocer es que es el estado HTTP y que esta respuesta tiene importantes implicaciones en términos SEO.
Cada vez que desde nuestro navegador accedemos a una Web, a un archivo o hacemos una descarga, el navegador envía una solicitud, a la que el servidor devuelve una respuesta HTTP.
Estas respuestas del servidor vienen en forma de códigos de 3 dígitos, que pueden empezar por 1, 2, 3, 4 o 5.
Para obtener respuestas, como el código 200, no es preciso que hagamos nada, pero si queremos crear una página de error 404, podemos hacer que la página devuelva este código con la siguiente sintaxis, que irá antes del código HTML.
Y dicho esto, vamos a ver como podemos saber como obtener los códigos de respuesta de una determinada página. Para ello nos vamos a valer de cURL, que es una librería de PHP que simula el comportamiento de un navegador a la hora de hacer peticiones a un servidor. Esto lo podemos hacer mediante la siguiente función:
Cada vez que desde nuestro navegador accedemos a una Web, a un archivo o hacemos una descarga, el navegador envía una solicitud, a la que el servidor devuelve una respuesta HTTP.
Estas respuestas del servidor vienen en forma de códigos de 3 dígitos, que pueden empezar por 1, 2, 3, 4 o 5.
- Códigos que comienzan por 1**.- Son respuestas de naturaleza informativa.
- Códigos que comienzan por 2**.- Son respuestas que indican que la solicitud ha sido aceptada y procesada por el servidor.
- Códigos que comienzan por 3**.- Son respuestas que indican que se va a proceder a un redireccionamiento.
- Códigos que comienzan por 4**.- Son respuestas que indican una solicitud no valida que el servidor no puede procesar.
- Códigos que comienzan por 5**.- Son respuestas que indican la existencia de un problema en el servidor que imposibilita procesar una solicitud.
- Código 200 “OK”.- Es el código que debe proporcionar cualquier página que deseemos sea indizada por los motores de búsqueda.
- Código 301 “Moved Permanently”.- Este código indica que una página está siendo enviada, redirigida a otra diferente. Es un direccionamiento permanente, es decir, el motor de búsqueda ignorará la página que hace el direccionamiento y su valor SEO pasará a la nueva página.
- Código 302 “Found” (antes Moved Temporarily).- Como el anterior, es un direccionamiento, pero en este caso temporal, por lo que la página que hace el direccionamiento conservará su valor SEO.
- Código 400 “Bad Request”.- Este tipo de respuesta se da cuando llega una solicitud incorrecta por parte del navegador a la que el servidor no es capaz de responder.
- Código 404 “Not found”.- Probablemente sea este el más conocido, y se produce cuando se solicita una página que no existe.
- Código 500 “Internal Server Error”.- El servidor no puede procesar una solicitud por causas indeterminadas.
Para obtener respuestas, como el código 200, no es preciso que hagamos nada, pero si queremos crear una página de error 404, podemos hacer que la página devuelva este código con la siguiente sintaxis, que irá antes del código HTML.
Si lo que queremos es hacer un direccionamiento, lo podemos hacer de la siguiente manera:header("HTTP/1.0 404 Not Found");
Tras cada direccionamiento incluimos la función exit(), que puede ser usada con o sin paréntesis, esta instrucción lo que hace es detener la ejecución del código, lo que puede tener sentido si lo que vamos a hacer es un direccionamiento, pero si el direccionamiento es demorado, puede alterar la respuesta de la página, por lo que en ese caso, puede estar desaconsejado su uso.// Para un direccionamiento temporal header("HTTP/1.1 302 Found"); // Antes Moved Temporarily header("Location: http://www.dominio.com/destino-provisional.php"); exit(); // Si queremos demorar el direccionamiento lo haremos así, 10 segundos en este caso header("HTTP/1.1 302 Found"); header("refresh:10; url = http://www.dominio.com/destino-provisional.php"); // Para un direccionamiento permanente header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.dominio.com/destino-definitivo.php"); exit();
Y dicho esto, vamos a ver como podemos saber como obtener los códigos de respuesta de una determinada página. Para ello nos vamos a valer de cURL, que es una librería de PHP que simula el comportamiento de un navegador a la hora de hacer peticiones a un servidor. Esto lo podemos hacer mediante la siguiente función:
Esta función devuelve un array, uno con el código de respuesta, y otra con el contenido de la página que corresponde a la URL de entrada de la función. La key del array de código de respuesta es el 0, mientras que la 1 devuelve el contenido de la página Web.<?php // Devuelve codigos HTTP sobre una URL con cURL function Resp_URL($url){ $cu = curl_init(); curl_setopt($cu, CURLOPT_URL, $url); curl_setopt($cu, CURLOPT_TIMEOUT, 15); curl_setopt($cu, CURLOPT_RETURNTRANSFER, true); $contenido = curl_exec($cu); $estado = curl_getinfo($cu, CURLINFO_HTTP_CODE); curl_close($cu); $respuesta = array($estado,$contenido); return $respuesta; } // Aplicamos la funcion $url = 'https://www.artesaniaweb.es/mas-leido-programacion-web.php'; $respuesta_url = Resp_URL($url); echo "$respuesta_url[0]<br />"; /* Codigos de respuesta Code 200 - OK (Correcto) Code 206 - Partial Content (Contenido parcial) Code 301 - Moved Permanently (Movido permanentemente) Code 302 - Found (Movida temporalmente) Code 304 - Not Modified (No modificada) Code 400 - Bad Request (Solicitud incorrecta) Code 403 - Forbidden (Prohibida) Code 500 - Internal Server (Error Interno del Servidor) */ ?>
Tags: CURL || respuesta URL || códigos de estado || direccionamiento