En la World Wide Web , HTTP 301 es el código de estado de respuesta HTTP para 301 Moved Permanently . Se utiliza para redireccionamiento permanente, lo que significa que los enlaces o registros que devuelven esta respuesta deben actualizarse. La nueva URL debe proporcionarse en el campo Ubicación, incluido con la respuesta. La redirección 301 se considera una práctica recomendada para actualizar usuarios de HTTP a HTTPS .
Si un cliente tiene capacidades de edición de enlaces, debe actualizar todas las referencias a la URL de solicitud.
La respuesta se puede almacenar en caché a menos que se indique lo contrario.
A menos que el método de solicitud fuera HEAD, la entidad debe contener una pequeña nota de hipertexto con un hipervínculo a las nuevas URL.
Si se recibe el código de estado 301 en respuesta a una solicitud de cualquier tipo que no sea GET o HEAD, el cliente debe preguntar al usuario antes de redirigir.
Tanto Bing como Google recomiendan utilizar una redirección 301 para cambiar la URL de una página tal como se muestra en los resultados del motor de búsqueda, siempre que la URL cambie de forma permanente y no esté previsto que vuelva a cambiar en un futuro próximo. [2] [3]
Detalles técnicos
El código de estado HTTP 301 tiene varios matices técnicos que los desarrolladores deben tener en cuenta al implementar y administrar redirecciones:
Manejo del navegador
Comportamiento de almacenamiento en caché : muchos navegadores web almacenan en caché las redirecciones 301. Esto significa que, una vez que el navegador de un usuario encuentra una redirección 301, las solicitudes posteriores a la URL original se dirigirán automáticamente a la nueva URL sin comunicarse con el servidor.
Actualización de marcadores : los navegadores pueden actualizar los marcadores para reflejar la nueva URL después de encontrar una redirección 301.
Lado del servidor
Apache : Apache tiene mod_alias y mod_rewrite para manejar redirecciones 301. El uso de ambos suele generar un comportamiento impredecible porque los módulos no respetan otras reglas de módulos. [4]
Comparación con otros códigos de estado
302 Found : a diferencia de un 301, un código de estado 302 indica una redirección temporal. Es posible que los motores de búsqueda no transmitan el valor SEO a la nueva URL. [5]
307 Redirección temporal : como 302, pero garantiza que el método y el cuerpo no se modificarán cuando se realice la solicitud redirigida.
303 Ver otros : se utiliza cuando el resultado de un POST u otro método de solicitud no idempotente es un recurso que debe recuperarse mediante un GET.
Encabezado de ubicación
Inclusión obligatoria : la nueva URL siempre debe proporcionarse en el campo "Ubicación" cuando se envía una redirección 301. Omitir el encabezado de ubicación confundirá a los navegadores y puede generar un comportamiento inesperado.
Uso de URL absoluta : si bien algunos navegadores pueden aceptar URL relativas, el uso de URL absolutas en el encabezado de ubicación es el estándar y garantiza un comportamiento consistente en todos los agentes de usuario.
Impacto en el SEO
Transferencia de equidad de enlace : los motores de búsqueda generalmente transfieren la mayor parte de la equidad de enlace (o “link juice”) de la URL de origen a la URL de destino para las redirecciones 301. [6]
Retrasos en la indexación : puede haber un retraso antes de que los motores de búsqueda reconozcan la redirección y actualicen sus índices en consecuencia.
Errores comunes
Redirecciones múltiples : el uso de múltiples redirecciones 301 en sucesión (A a B, luego B a C) puede generar mayores tiempos de carga de la página y puede diluir el valor de SEO.
Problemas de contenido mixto : al redirigir de HTTP a HTTPS, asegúrese de que todos los recursos (imágenes, scripts, hojas de estilo) de la página también se carguen mediante HTTPS para evitar advertencias de contenido mixto.