Los navegadores y los servidores web se comunican por medio de un protocolo de aplicación llamado «Protocolo de Transferencia de Hipertexto» (HTTP). Cada vez que los visitantes acceden a una página web, el navegador envía una solicitud de recursos al servidor web, lo que les permite ver el contenido.
Sin embargo, en caso de error, los navegadores web devolverán una página en blanco con un código HTTP en lugar del contenido de la web. Uno de los códigos de estado HTTP que puedes encontrar es la redirección HTTP 302 found, que genera una redirección temporal.
Normalmente, los propietarios de páginas web utilizan este redireccionamiento para dirigir el tráfico a una nueva URL y no generar una mala experiencia de usuario cuando la página de destino está en mantenimiento. Sin embargo, debido a la complejidad de los códigos de estado HTTP, el servidor y el cliente pueden procesar el código de respuesta 302 incorrecto.
De esta forma, repasaremos los pasos para identificar y solucionar el error 302. También veremos el impacto que pueden tener en el SEO.
Lo primero que veremos es una explicación más detallada de la redirección HTTP 302.
¿Qué es el código HTTP 302?
Los códigos de estado indican si la solicitud HTTP ha sido exitosa. Para aprender a identificarlos correctamente, mira los cinco códigos de estado HTTP que aparecen a continuación:
- 1xx – solicitudes de información
- 2xx – solicitudes exitosas
- 3xx – redirecciones
- 4xx – errores del cliente
- 5xx – errores del servidor
Por lo tanto, un código de estado HTTP que comience por «3» indica que tu navegador web necesita realizar más acciones para satisfacer la solicitud.
El código HTTP 302 se genera cuando el recurso solicitado ha sido trasladado temporalmente a una nueva ubicación. Por consiguiente, el sistema automáticamente redirige a los visitantes a una URL que tiene el recurso.
La redirección HTTP empieza cuando el servidor web que aloja el contenido devuelve un código de estado 3xx y un encabezado de ubicación que incluye la nueva URL. Una vez que el navegador web recibe esta respuesta, carga automáticamente la URL en lugar de mostrar el error 404 not found.
Uno de los usos más comunes del código de estado HTTP 302 es la localización. Por ejemplo, cuando accedes a https://www.google.com/, el navegador te redirige a la versión localizada de Google, dependiendo de tu país.
Por lo tanto, si vives en la India, la respuesta 302 found te llevará a https://www.google.co.in/ para facilitar el acceso al contenido local. Grandes empresas como eBay y Amazon también utilizan redireccionamientos 302 para dirigir el tráfico a un servidor local.
5 métodos para solucionar el código de estado 302
La respuesta 302 found determina que el recurso solicitado ha sido trasladado a una nueva dirección. Por lo tanto, un servidor puede malinterpretar y enviar códigos HTTP 302 incorrectos en lugar de pasar una solicitud informativa o exitosa.
Por esta razón, incluimos los cinco métodos para saber la razón por la cual se está enviando la respuesta 302 found incorrecta, además de sus respectivos pasos para solucionarlo.
1. Restaurar el sitio desde una copia de seguridad
Hacer una copia de seguridad completa del sitio web antes de realizar cualquier cambio en el sistema es primordial.
Una copia de seguridad confiable evitará la pérdida de datos, las brechas de seguridad y la infección de malware. Por esto mismo, el primer paso que debes llevar a cabo es restaurar tu sitio a su estado seguro.
Para esto, accede a tu panel de control del hosting. Los clientes de DonWeb deben dirigirse al panel de control Ferozo y presionar «Mi Sitio Web».
Cuando hayas entrado a «Mi Sitio Web», haz clic en «Copias de Seguridad».
Una vez dentro, debes presionar «Crear nueva». Allí, elige el tipo y haz clic en «Generar».
Cuando hayas hecho clic en «Generar», presiona «Restaurar» y luego en «Confirmar y restaurar». El panel se bloqueara temporalmente hasta que se complete la recuperación del backup.
Una vez completado el proceso de restauración, se revertirán todos los cambios realizados hasta la fecha de la copia de seguridad. Por lo tanto, el código HTTP 302 debería desaparecer.
2. Desactivar el software obsoleto
Los estándares de Internet se documentan mediante una «solicitud de comentarios» (RFC). En este sentido, la especificación RFC para HTTP 1.0 determina que la función del código de respuesta 302 found es darle la orden al navegador web que realice una redirección temporal.
Si el código de estado HTTP 302 se entrega a través de la solicitud post, el navegador web no debería redirigir el contenido sin la confirmación del usuario. Sin embargo, muchos navegadores modernos procesan automáticamente este código HTTP 302 como una solicitud GET.
Cuando pasa esto, el software que procesa la solicitud no puede realizar la redirección correcta. Por lo tanto, el documento RFC de HTTP 1.1 incluye el código 303 See Other para manejar específicamente las peticiones post to get.
Por esta razón, es recomendable desactivar el software obsoleto que no cumple con la RFC HTTP 1.1. Así, evitarás que los usuarios visualicen contenidos irrelevantes en tu web.
3. Inspeccionar la configuración del servidor web
Lo siguiente que puedes hacer para solucionar el error de redireccionamiento 302 es verificar la configuración del servidor web. Los dos programas más populares son Nginx y Apache, lo más probable es que tus aplicaciones web se ejecuten en uno de ellos.
A continuación, repasaremos los pasos para inspeccionar los archivos de configuración en ambos programas.
Apache
Para identificar cuál está utilizando tu sitio web, tendrás que buscar un archivo clave que regule las características del sitio. En el caso de Apache, puedes empezar localizando el archivo .htaccess.
Ve a tu panel de control Ferozo y abre el «Administrador de Archivos».
Allí dentro, presiona el archivo «public_html».
Una vez que hayas localizado tu archivo .htaccess, ábrelo con un editor de texto.
A partir de ahí, verás una serie de directivas RewriteXXX que gestionan las redirecciones HTTP y las estructuras permalink. Presta especial atención a estas dos:
RewriteRule: define las reglas para el motor de reescritura.
RewriteCond: determina si la URL solicitada coincide con la condición de la regla definida.
Si la solicitud tiene una URL que coincide, la RewriteRule que sigue a las directivas RewriteCond iniciará una redirección temporal a la URL correcta.
A continuación, se muestra un ejemplo de ejecución de una redirección temporal 302 adecuada:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sitioweb\.com$
RewriteRule ^(.*)$ HTTP://www.sitioweb-temporal.com/$1 [R=302]
En el ejemplo anterior, la combinación de RewriteCond y RewriteRule coincide con las peticiones a sitioweb.com. Por lo tanto, el sistema genera una redirección temporal a la misma URL en el dominio sitioweb.com temporal.
Observa la bandera extra que sigue a la directiva RewriteRule – indica que el código de respuesta entregado tiene que ser un 302 found. Esto hace que los agentes de usuario realicen una redirección temporal.
Si hay directivas de rewrite extrañas en el archivo .htaccess, continúa y coméntalo. Hazlo añadiendo un prefijo # delante de la línea que comentas. Una vez que hayas terminado, intenta reiniciar el servidor web para ver si el error 302 se ha resuelto.
Nginx
Si tu web funciona con Nginx, debes localizar un archivo clave diferente. En lugar de un archivo .htaccess, busca el archivo nginx.conf ubicado en los siguientes directorios:
- /usr/local/nginx/conf
- /etc/nginx
- /usr/local/etc/nginx
Una vez que hayas encontrado el archivo, ábrelo a través del editor de texto, y busca las directivas de rewrite que incluyan una bandera de redirección.
Para entender el funcionamiento del sistema Nginx, echa un vistazo al ejemplo de directiva ablock que aparece a continuación:
server {
listen 80;
listen 443 ssl;
server_name www.ejemplo.com;
rewrite ^/$ http://www.ejemplo-temporal.com redirect;
}
Las directivas de rewrite en Nginx funcionan de forma similar a las de Apache. Un conjunto de directivas en el ejemplo anterior regula un servidor virtual generando una redirección HTTP temporal de ejemplo.com a temporal-ejemplo.com.
Para asegurarte de que todo funciona correctamente en tu servidor Nginx, intenta detectar cualquier directiva de reescritura inusual que contenga una bandera de redirección. Comenta estas líneas y reinicia el sistema para ver si el problema se ha resuelto.
4. Borrar los registros de errores
Los cambios y actualizaciones recientes también pueden causar el código 302 found. Por eso mismo, después de completar uno, no te olvides de comprobar el registro de errores de tu sitio web.
La mayoría de las aplicaciones web tienen registros del servidor conectados al hardware real en el que se están ejecutando. Registran toda la actividad realizada, desde proporcionar el historial de las páginas solicitadas hasta recopilar información específica del usuario.
Normalmente, el proveedor de alojamiento otorga acceso para habilitar el registro del servidor desde el panel de control del usuario. Sin embargo, también puedes habilitar el registro de errores en tu sitio de WordPress utilizando la constante WP_DEBUG de PHP, que genera el proceso de depuración en todo el sitio.
Lo primero que tienes que hacer, es copiar y pegar las siguientes líneas en tu archivo wp-config.php:
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
Una vez hecho esto, todos los errores quedarán registrados en el archivo wp-content/debug.log, lo que facilitará la identificación del componente que está causando las redirecciones temporales inesperadas.
Una recomendación profesional que te brindamos, es que puedes localizar manualmente las aplicaciones en tu servidor y revisar todos los registros de las mismas. Esto te ayudará a detectar las irregularidades en el código de la aplicación y te mostrará la causa de la aparición del código de respuesta 302.
Además, si deseas comprobar el registro de errores en el software, accede al siguiente archivo según corresponda:
Servidor Nginx: /var/log/nginx/error.log/
Servidor Apache: /var/log/apache2/error.log/
5. Desinstalar o desactivar temporalmente nuevos plugins o temas
La causa más común de problemas o errores de un sitio web en WordPress son los plugins o temas conflictivos. En ciertos casos, un plugin puede intentar configurar redirecciones que se interponen a las mismas que vienen por defecto en WordPress. De esta forma, se genera un código de respuesta HTTP incorrecto.
Una manera sencilla y eficaz de resolver este problema es desactivar temporalmente los plugins. Para hacerlo, dirígete al directorio wp-content y modifica el nombre de la carpeta plugins a, por ejemplo, plugins-disable.
Si tu web volvió a la normalidad sin plugins activos, lo que debes hacer a continuación es encontrar el plugin que causa el HTTP 302. Empieza por renombrar el directorio de plugins al original y activa los plugins uno por uno.
Cuando aparezca el código 302, habrás detectado el plugin defectuoso. Desinstalarlo debería eliminar el error. Si este método no da resultados, intenta seguir los mismos pasos con tus temas de WordPress.
¿Cuándo utilizar la redirección temporal 302?
En primer lugar, la respuesta HTTP 302 esta destinada a la redirección, no a los errores. A menos que el servidor entregue una respuesta incorrecta, la causa de la redirección 302 temporal suele ser intencional.
Estas son algunas de las razones más comunes para usar la respuesta 302 found:
- Proporcionar contenido localizado: Generalmente implementado por empresas internacionales o plataformas de eCommerce para dirigir el tráfico de una ubicación geográfica específica a su URL de destino.
- Indicar a los visitantes que vayan a una página específica: Esto es muy útil cuando tu sitio web está todavía en mantenimiento. Al indicar a los visitantes que vayan a una página funcional, la experiencia del usuario no se vera afectada y estarán al día con tu contenido.
- Redirección para pruebas A/B: Cuando una plataforma está desarrollando una nueva funcionalidad y aún está en proceso de pruebas A/B, pueden dirigir el tráfico a esta nueva página y recoger los comentarios de los visitantes.
- Realizar una estrategia de marketing: Muchas empresas redirigen a los visitantes a una página promocional que contiene ofertas especiales o banners de descuentos.
Para realizar una redirección permanente, deberás redirigir tu sitio web utilizando la Redirección 301. Las características más notables de esta redirección son mantener todos los valores SEO de tu antigua página y transferirlos a la nueva URL.
El SEO y el código de estado 302
Cuando se implementa correctamente, la redirección 302 found no perjudica el SEO de tu sitio. De hecho, desempeña un papel importante en la conservación del valor SEO de una página web.
La redirección HTTP 302 le informa a Google y a otros motores de búsqueda que la redirección es temporal y no se puede desindexar del recurso original. De esta manera, puede mantener los valores de SEO que podría tener la página original, como clasificaciones y permisos de dominio.
Cómo identificar si tu sitio tiene el error 302
Para verificar si tu sitio web tiene un error 302, empieza por introducir la URL original en la barra de direcciones y observa la misma. Si tu URL original se convierte en la de destino, significa que la redirección HTTP está funcionando correctamente.
Por otro lado, si la dirección sigue siendo la misma, tienes que identificar la causa. Empieza por borrar la caché de tu navegador para ver si al hacerlo la URL cambia. Si no ocurre nada, intenta aplicar los métodos que vimos anteriormente.