Redirección 301 eliminar parámetros de la URL. Elimine la barra al final del enlace principal si no tiene www. Solución de problemas

Lo que sucede es que una página web o un sitio completo se mueve a una nueva URL de forma permanente. En este caso, es necesario registrar una redirección 301. ¿Qué es esto? Una redirección 301 es una redirección de visitantes y robots de búsqueda de una URL a otra.

Una redirección 301 suele escribirse en los siguientes casos:

  1. al pegar espejos de sitios web con www y sin www;
  2. al trasladar un sitio web a un nuevo dominio;
  3. al trasladar un sitio web a un nuevo CMS;
  4. cuando cambian las URL de las páginas;
  5. al eliminar páginas duplicadas del sitio.

Curiosamente, el último caso se considera extremadamente raro, aunque a la hora de eliminar duplicados, las redirecciones 301 ayudan como ningún otro, a menos, por supuesto, que desees jugar con el código del propio CMS. Y si se dedica a la optimización de sitios web para motores de búsqueda, entonces la cuestión de la presencia o ausencia de duplicados en las páginas del sitio web definitivamente debería preocuparle.

La redirección 301 es notable porque transfiere páginas pr y el sitio y, en consecuencia, vincula el jugo a la nueva URL. Pero no transfiere las sanciones impuestas al antiguo dominio por los motores de búsqueda, lo cual es doblemente bueno.

Entonces, descubrimos qué es una redirección 301. Pasemos directamente a cómo hacerlo.

Cómo configurar una redirección 301

Primero te daré una lista. operadores de expresiones regulares, que le resultará útil a la hora de configurar redireccionamientos 301.

  • ^ — restricción a la izquierda;
  • $—restricción derecha;
  • * - 0 o más caracteres;
  • + — 1 o más caracteres;
  • . - cualquier símbolo;
  • \ - blindaje;
  • () - variable;
  • - rango de valores.

Hay diferentes formas de realizar una redirección 301. Personalmente, yo, como muchos otros webmasters, lo configuro mediante el archivo .htaccess. Casi todos los CMS populares tienen este archivo y se encuentra en la raíz de su sitio. Puede descargar .htaccess usando el cliente FileZila:

El archivo .htaccess debe abrirse con un editor de texto, por ejemplo, Notepad++. Además de todos los códigos de redireccionamiento, debes escribir la siguiente línea:

Reescribir motor encendido

De lo contrario, las redirecciones no funcionarán.

Mucha gente cree erróneamente que pueden prescindir de las redirecciones 301. Puedo decirles que es necesario al optimizar casi todos los sitios web. Por ejemplo, absolutamente todos los sitios web están disponibles inicialmente en dos direcciones: con www y sin www. El problema es que esto conduce a la erosión de la masa de referencia. Te explicaré por qué. A otros sitios no les importa cuál de las dos grafías de su dominio es la principal. Si se vinculan con usted, pueden incluir una opción con www o sin www en la dirección. La masa de referencias acabará por desdibujarse y los motores de búsqueda indexarán sólo una opción en cualquier caso. Érase una vez, generalmente los percibían como sitios completamente diferentes.

Para que su sitio crezca activamente en posiciones y no pierda masa de enlaces, debe registrar una redirección 301 en el archivo .htaccess.

De www a sin www:

RewriteCond %(HTTP_HOST) ^www.site.ru$ RewriteRule (.*) http://site.ru/$1

De sin www a www:

RewriteCond %(HTTP_HOST) ^site.ru$ RewriteRule (.*) http://www.site.ru/$1

Si los códigos de redireccionamiento anteriores no funcionan, utilice la siguiente entrada para redirigir desde www a sin www:

RewriteCond %(HTTP_HOST) ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1

Recuerde que en lugar de site.ru necesita registrar el dominio de su sitio. Después de estos pasos, guarde el archivo .htaccess y cárguelo en el servidor, reemplazando el archivo antiguo con él.

Los redireccionamientos 301 a menudo me ayudan cuando tengo problemas con páginas duplicadas en un sitio. Y hago esto casi cada vez que realizo una optimización interna de otro sitio web. Personalmente, nunca he conocido un CMS que no genere duplicados. Aunque si hablamos de un sitio pequeño, hay excepciones. ¿No tienes idea de lo que estoy hablando ahora? Entonces suscríbete, pronto escribiré un artículo completo sobre duplicados.

Sucede que se puede acceder a la página de un sitio a través de dos URL del tipo: http://site.ru/category/page.html y http://site.ru/page.html. En este caso estamos hablando de duplicados. Por ejemplo, queremos que se pueda acceder a la página solo en la dirección del segundo tipo. En este caso, para deshacerse del doble, debe escribir la siguiente redirección:

RewriteRule ^(.*)categoría/page.html$ http://site.ru/page.html

Ahora imagine la situación en la que ha cambiado la dirección de una página web. ¿Para qué? Sí, puede haber una variedad de razones. Por ejemplo, recientemente hice esto para acortar la longitud de la URL. Para hacer esto necesitarás la siguiente redirección:

RewriteRule ^(.*)old-page.html$ http://site.ru/new-page.html

Si el código de redireccionamiento anterior no funciona, intente lo siguiente:

RewriteRule ^old-page.html$ http://site.ru/new-page.html

O esto:

RewriteRule ^página-antigua.html$ /página-nueva.html

Si necesitas hacer redireccionar desde una URL antigua en cirílico a una nueva URL (ya sea en cirílico o en latín), la entrada se verá así:

RewriteRule ^old-url.html /nueva-página.html

Como comprenderá, lo discutimos anteriormente. redirige de una URL a otra dentro del mismo sitio. Para hacer esto, usamos mod_rewrite y la directiva RewriteRule. Pero puedes arreglártelas con una opción más sencilla para escribir una redirección usando la directiva Redirect:

Redirección 301 /old-page.html http://site.ru/new-page.html

Ambas opciones de grabación de redireccionamiento son correctas y transmiten contenido de enlace y otros indicadores. Se diferencian únicamente en que utilizan directivas de diferentes módulos y, por lo tanto, tienen una sintaxis diferente. Cuando se utiliza la directiva Redirect, primero se escribe la dirección de la página anterior sin http://site.ru y luego la nueva dirección completa.

Es posible que necesites una redirección 301 al mover tu sitio Del dominio antiguo al nuevo.:

RewriteEngine en RewriteCond %(HTTP_HOST) ^www\.old-domen\.ru$ RewriteRule ^(.*)$ http://new-domen.ru/$1 RewriteCond %(HTTP_HOST) ^old-domen\.ru$ RewriteRule ^(.*)$ http://new-domen.ru/$1

Una redirección similar usando la directiva Redirect:

Redirección 301 / http://nuevo-dominio.ru

Puedes configurar una redirección 301 URL con un parámetro a cualquier otra página del sitio., por ejemplo, el principal:

RewriteCond %(QUERY_STRING) ^cPath=373_703 RewriteRule ^index\.php$ http://site.ru/?

El ejemplo anterior es de mi práctica, cuando realicé la optimización interna de un sitio en Joomla, que tenía una gran cantidad de duplicados diferentes.

Redirigir de site.ru/index.php a site.ru(deshacerse de la página principal duplicada):

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://site.ru/

Como resultado de la presencia de un duplicado del formulario site.ru/index.php en la página principal del sitio, pueden aparecer duplicados similares en las páginas internas del sitio, por ejemplo, site.ru/index.php/ page.html es un duplicado de la página site.ru/page.html. En este caso, todos los duplicados de este tipo se pueden eliminar inmediatamente mediante una redirección:

Reescribir regla ^index\.php/(.*)$ /$1

Si la página de inicio de su sitio tiene duplicado del formulario site.ru/main.html, entonces debes ingresar la siguiente redirección:

RewriteEngine en RewriteCond %(THE_REQUEST) ^(3,9)\ /main\.html\ HTTP/ RewriteRule ^main\.html$ http://vash-sait.ru/

o esta opción:

Redirección 301 /main.html http://site.ru/

Ahora imagina una situación en la que lo quieres todo. Las páginas internas del sitio eran accesibles solo en la dirección c.html al final.. Luego debes ingresar la siguiente redirección:

RewriteCond %(REQUEST_URI) (.*/[^/.]+)($|\?) RewriteRule .* %1.html RewriteRule ^(.*)/$ /$1.html

Si por el contrario quieres todo interno las páginas del sitio tenían una dirección sin .html al final, es decir, una dirección como site.ru/page, entonces debes registrar una redirección:

RewriteCond %(REQUEST_URI) \.html$ RewriteRule ^(.*)\.html$ /$1

Si la tarea es redirigir desde URL con .htm al final hasta direcciones con .html al final, entonces se debe agregar la siguiente entrada a .htaccess:

RewriteBase / RewriteRule ^(.*)\.htm$ $1.html

Es posible que necesites realizar redirecciones. desde URL sin sufijos hasta direcciones con una barra al final. Luego en el archivo .htaccess deberás escribir lo siguiente:

RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_URI) !\..+$ RewriteCond %(REQUEST_URI) !/$ RewriteRule (.*) http://www.site.ru/$1/

Si la tarea es completamente opuesta y se requieren redirecciones desde URL con una barra diagonal hasta direcciones sin sufijo luego agregue el siguiente código:

RewriteCond %(REQUEST_FILENAME) !-d RewriteCond %(REQUEST_URI) ^(.+)/$ RewriteRule ^(.+)/$ /$1

Para registrar una redirección desde URL con parámetro como http://site.ru/?page_id=111, agregue lo siguiente a .htaccess:

RewriteCond %(QUERY_STRING) page_id=111 RewriteRule ^ http://site.ru/new-page/

Además, recientemente me encontré con un sitio para el cual se había recibido un certificado de seguridad y era necesario registrarse. redirigir de http a https:

RewriteCond %(HTTPS) de RewriteRule ^(.*)$ https://%(HTTP_HOST)%(REQUEST_URI)

Ahora ya sabes cómo configurar una redirección 301. Por supuesto, hay otros casos en los que es necesario, pero he enumerado los más populares. Después de cualquier tarea relacionada con la optimización del sitio web, recomiendo comprobar si hay errores.

Cómo comprobar la redirección 301

Las redirecciones 301 son muy fáciles de comprobar. Todo lo que necesita hacer es ingresar la dirección de la página anterior en su navegador. Si se produce una redirección a una nueva URL, lo más probable es que la redirección se haya registrado correctamente. En algunos casos, antes de comprobar una redirección 301, debes borrar la memoria caché de tu navegador. Entonces, si la redirección no se produce, es posible que se haya olvidado de hacerlo.

Para finalmente asegurarte de que la redirección 301 esté configurada correctamente, también recomiendo comprobar la respuesta del servidor utilizando servicios especiales, por ejemplo, 2ip.ru, o mejor aún, utilizar el programa Netpeak Spider, con el que podrás conocer muchas otras información sobre el sitio. La respuesta del servidor debe ser "301" o "301 MovedPermanfully -> 200 OK".

Espero que ahora entiendas cómo configurar correctamente una redirección 301. Arriba di una cantidad suficiente de ejemplos diferentes. Si un tipo de registro de redireccionamiento no funciona, lo más probable es que funcione otro. Intentalo. No puedo decir con seguridad de qué depende exactamente qué entrada de redireccionamiento funcionará, ya que no soy programador. Posiblemente desde el CMS o la configuración del servidor. La ubicación del código de redireccionamiento en el archivo .htaccess también lo afecta a veces. Si la redirección no funciona, intente mover su código un poco más arriba en el archivo. Eso es todo para mí. ¡Buena suerte en la optimización del sitio web!

Probablemente ya se hayan dicho y vuelto a contar unas redirecciones 301 muchas veces en blogs, foros, etc. Pero resulta que no todo el mundo recibe esta información a tiempo (aquí parece que me estoy insinuando a mí mismo :). Durante más de 3 años en Internet, escuché muchas veces acerca de las redirecciones 301, a veces incluso iba a "probarlo", pero seamos realistas, nunca lo hice. ¡Pero en vano! Todo empezó de forma bastante prosaica: tengo un sitio web que lucha constantemente en términos de indexación por parte de los motores de búsqueda. Parece que hay enlaces allí y el contenido es normal, pero todavía no quiere funcionar de manera estable. Casi me había quedado sin opciones para tal comportamiento, pero luego recordé los conceptos básicos de SEO y promoción en general: redireccionamientos 301.

Una rápida encuesta en Twitter mostró que en realidad soy casi el único que pasa por alto este importante punto. La mayoría respondió por unanimidad que es obligatorio instalar redireccionamientos 301 inmediatamente al crear un sitio web. Además, recientemente me pidieron que desarrollara un sitio web para agregarles este mismo redireccionamiento 301, ya que la solicitud provino de una empresa promotora. Teniendo en cuenta todos estos puntos y “indicios del destino”, ¡me di cuenta de que habría una redirección 301!

¿Por qué necesitas una redirección 301?? - preguntas - hay varias situaciones en las que se puede utilizar:

  1. Para fusionar un dominio con www y sin www. En este caso, los indicadores y el peso del enlace se combinarán; de lo contrario, a veces sucede que para un dominio con y sin www pueden diferir.
  2. Al cambiar un dominio de uno antiguo a uno nuevo, una redirección 301 nuevamente le permitirá guardar los indicadores y el enlace (no sé sobre TCI, pero sí PR, seguro).
  3. Al mover una página en un sitio web, para que los motores de búsqueda y los visitantes terminen en una página nueva en lugar de la anterior rota.
  4. Si hay dominios de relaciones públicas con enlaces que por alguna razón no usa, tal vez simplemente no tiene tiempo, entonces, en teoría, puede usar redireccionamientos 301 a sus otros sitios. Aunque este método es una posibilidad adicional o algo así, los principales siguen siendo los tres primeros.

En general, la redirección 301 es necesaria tanto para los usuarios como para los robots de búsqueda: permite a ambos indicar que hay un nuevo sitio, dominio o página y los redirecciona allí sin hacer preguntas. Además, una redirección 301 combinará indicadores del sitio y le permitirá no perder posiciones en los motores de búsqueda.

Cómo hacer una redirección 301

Hay muchas soluciones para este problema, todo depende de los medios técnicos que tenga tu hosting. También hay muchos artículos sobre redirecciones 301 en Internet que puedes leer; te daré sólo algunas, en mi opinión, las situaciones más típicas.

Redirección sencilla

Esto se hace en el archivo .htaccess o httpd.conf para Apache. La versión más simple de una redirección 301 simple para redirigir a un nuevo dominio se ve así:

Redirección 301 /site1/page1.htm http://www.site2.com/page2.htm

Aquí hay un par de ejemplos más de una redirección 301 simple:

Redireccionamiento permanente /prueba http://www.test.com/ Redireccionamiento permanente / http://enter.test.com/

Aquí, cuando un usuario o robot ingresa al directorio de prueba, será redirigido a www.test.com, todos los demás irán a enter.test.com. Para esta redirección 301, los módulos mod_alias deben estar habilitados en el alojamiento (para admitir Redirect, RedirectPermanent y RedirectMatch).

Redirección 301 usando mod_rewrite en .htaccess

Te has encontrado con el módulo mod_rewrite con bastante frecuencia sin siquiera darte cuenta. En particular, estamos hablando de los enlaces permanentes como una herramienta útil en la optimización SEO de WordPress. Si configura estos mismos enlaces en el panel de administración y luego va al archivo .htaccess, encontrará allí toda una serie de reglas para redirigir a través de la directiva RewriteRule. Además, debe verificar que la opción FollowSymLinks esté habilitada.

Redirigir un dominio de www a no www

Opciones +FollowSymLinks RewriteEngine On RewriteCond %(HTTP_HOST) ^www.domain\.com$ RewriteRule ^(.*)$ http://domain.com/$1

Redirigir solicitudes sin www a un dominio con el prefijo www

Opciones +FollowSymLinks RewriteEngine On RewriteCond %(HTTP_HOST) !^www\.(.*) RewriteRule ^(.*)$ http://www.%1/$1

En general, el uso de www en el nombre de un sitio está desactualizado, pero a veces todavía ocurre. Si está creando un nuevo sitio web, por supuesto, indica inmediatamente en todas partes sin www, pero si recibió un "producto terminado", entonces debe observar cómo se muestra el dominio en los resultados de Google y Yandex; reeditarlo para no cambiar nada radicalmente.

Redirección 301 de un dominio antiguo a uno nuevo:

RewriteEngine en RewriteBase / RewriteRule ^rewrite\.htm$ rewrite.html

Para reemplazar todos los archivos .htm con archivos .html:

HTTP/1.1 301 Ubicación movida permanentemente: http://www.newdomain.ru/newdir/newpage.htm

Para hacer esto, por ejemplo, en PHP usamos:

"HTTP/1.1 301 movido permanentemente") ; encabezamiento( "Ubicación: http://www.newdomain.ru/newdir/newpage.htm") ; salida();

?>

Es mejor insertar este código al principio del script PHP para que no se genere nada antes (eco o impresión). Gracias por la explicación al autor de este artículo, donde también encontrarás información sobre cómo instalar un redireccionamiento a ASP, ColdFusion, etc., solo que PHP es la opción más popular.

Notas sobre redirecciones 301

  • Finalmente, un par de puntos sobre las redirecciones 301 que debes recordar y con los que me he encontrado de una forma u otra:
  • En primer lugar, se tiene en cuenta la secuencia de reglas de redireccionamiento. Entonces, si no se sigue alguna regla, verifique si hay otras redirecciones y si están interfiriendo.
  • En segundo lugar, recordar la sintaxis y todas las características de una redirección 301 es bastante difícil, por lo que a veces la lógica y probar algunas opciones ayuda mucho :) Aunque, por supuesto, es mejor leer la documentación oficial.

En tercer lugar, después de implementar una redirección 301, asegúrese de verificar las reglas de funcionalidad, vaya no solo a la página principal, sino también a las secciones y páginas del sitio para que no haya problemas con esto más adelante.

Si tienes algo que añadir respecto a las redirecciones 301, escribe :)
PD Guardia. Hoy en día, cada día aparecen muchos proyectos interesantes en Internet. Si desea saber todo sobre las startups, lea el nuevo e interesante blog StartupWay.

Después de la auditoría y optimización del proyecto web, sigue la promoción integral del sitio web en los motores de búsqueda Google y Yandex.

Una redirección 301 se utiliza principalmente cuando una página o grupo de páginas ha cambiado su dirección. Esto sucede en los casos en que cambia la estructura del sitio, cuando cambia la página URL formativa, etc. Muchos propietarios de sitios no piensan en esto y, por lo tanto, surgen páginas duplicadas, lo que puede provocar la pérdida de posiciones o la superposición. Además(por ejemplo, dominio con www y sin www). Esto puede ayudar a mejorar los parámetros TCI y PR, ya que para los motores de búsqueda la dirección del sitio con "www" y sin "www" son URL diferentes. Si el propietario decide cambiar la dirección del proyecto debido a un cambio en los bienes y servicios proporcionados anteriormente, o decide registrar un dominio más corto y hermoso, entonces es muy importante que cuando los visitantes accedan a la dirección del dominio anterior, terminará en la misma página que antes, pero solo la que ya está ubicada en el nuevo dominio.

Redirigir 301 en .htaccess

La redirección 301 en htaccess es la forma más fácil y popular de instalar redirecciones. Una de las ventajas de este método es el hecho de que se activa en el servidor antes de que se inicien varios scripts de recursos y no crea una carga adicional. Estos son algunos de los ejemplos más comunes (reemplace "sitio" con la dirección de su sitio web):

Redirección 301 en .htaccess para un dominio con www. a un dominio sin www.

Opciones +SeguirEnlacesSim
Reescribir motor encendido
RewriteCond %(HTTP_HOST) ^www\.raskruty\.ru$
Reescribir regla ^(.*)$ http://sitio/$1

Redirección inversa desde un dominio sin www. a un dominio de www.

Opciones +SeguirEnlacesSim
Reescribir motor encendido
ReescribirCond %(HTTP_HOST) ^raskruty\.ru$
Reescribir regla ^(.*)$ http://www.site/$1

Redirigir la dirección 301 desde /index.php a la raíz del sitio /

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.site/

Un ejemplo más:

RewriteCond %(THE_REQUEST) ^(GET|HEAD)\ /index\.php
Reescribir regla.*/

Se puede hacer lo mismo con /index.html, simplemente reemplace php con html en el ejemplo.

Redirigir a nginx:

Redirección 301 en nginx para un dominio con www. a un dominio sin www.

Servidor (
nombre_servidor www.sitio;
reescribir ^ http://site$request_uri? permanente;
}
servidor (
sitio nombre_servidor;
.... configuración principal....
}

Otro ejemplo (indeseable):

Si ($host = "www.sitio") (
reescribir ^/(.*)$ http://sitio/$1 permanente;
}

Redirección PHP:

header("HTTP/1.1 301 movido permanentemente");
encabezado(“Ubicación: http://www..html”);
salida();
?>

Una redirección 301 se utiliza a menudo como respuesta del servidor, reemplazando el tradicional error 404 – No encontrado con esta acción. En pocas palabras, cuando un visitante sigue un enlace incorrecto o una página eliminada, no encontrará un mensaje como: "Lo siento, pero esta página ha sido eliminada", sino que será redirigido a otra página válida. Aunque este punto es controvertido entre los expertos y por tanto existen varias soluciones posibles.

En primer lugar, hay dos categorías de errores 404: la primera es tradicional (clásica), cuando la página realmente falta, y la segunda, cuando dicho error ocurre debido a enlaces externos "torcidos". Por tanto, en el primer caso, es mejor dejar todo como está, es decir, “error 404”. Pero en el segundo caso, es mejor encargarse de redirigir a la URL correcta si es posible restaurarla desde un enlace roto o redirigir al usuario a la página principal.

En el caso de que sea necesario reelaborar un proyecto grande o una estructura de sitio compleja, el propietario a menudo se enfrenta a múltiples redirecciones o cadenas largas. Esto significa que la redirección no se realiza en un solo paso, sino en varios; esta es una situación negativa y debe evitarse. Si un robot de búsqueda sigue dicho enlace y recibe varias redirecciones seguidas, comenzará a pensar que quiere engañarlo y detendrá sus acciones y, en general, dejará de indexar dichos enlaces.

Si es posible, debes esforzarte por evitar redireccionamientos dentro del recurso. Por ejemplo, si los enlaces que conducen desde otros recursos al sitio no se pueden corregir y se requiere una redirección, entonces se deben corregir los enlaces internos rotos. Aunque es posible que esto no afecte las clasificaciones o la indexación, es mejor ir a lo seguro y evitar cuestiones tan controvertidas.

Al crear reglas de redireccionamiento en .htaccess, debe excluir direcciones reales de archivos y directorios en el servidor y monitorear la selección.

Hola. Es muy posible que muchos de vosotros ya sepáis cómo hacer una redirección 301 y cómo configurarla. Pero, como sabes, mi blog es mi hoja de trucos. Por eso, creo que no estará de más escribir este post y, cuando sea necesario, tú y yo podremos pedir esta información. Porque es imposible tener todos estos códigos en la cabeza y no es necesario.

¿Qué es una redirección 301 y dónde puede resultar útil?

Se trata de una especie de redirección automática de una página a otra, y con esta redirección se transfiere todo: el peso de la página, TCI, PR, el peso de la masa del enlace entrante, etc. Es decir, la página antigua queda pegada a la nueva. Un usuario que llegue a la página anterior será transferido automáticamente a la nueva.

Donde una redirección 301 puede resultar útil:

  • Ha decidido mudarse a un nuevo dominio. En este caso, esto se puede hacer de forma más sencilla utilizando este tipo de redirección.
  • ¿Tenías un sitio web en algún motor (por ejemplo, Joomla)? Las páginas tenían la dirección site.ru/?id=1245. En WordPress, la misma página se ve así: site.ru/rubrika/post.html. Y, para no perder el rendimiento de las páginas antiguas, es necesario realizar una redirección 301 a páginas nuevas.
  • Se puede acceder a su sitio web desde 2 direcciones, por ejemplo con www y sin www. En este caso, también deberás registrar una redirección 301.
  • El contenido de la página anterior debe transferirse a la página nueva. O, por ejemplo, es necesario combinar 3 artículos pequeños en uno grande. En tales casos, también es mejor moverlo a 1 de las 3 URL y establecer una redirección 301 a las dos restantes.

Cómo hacer una redirección 301 en htaccess

Prefiero hacer redireccionamientos 301 usando un archivo htaccess. Además, existe no sólo en los sitios de WordPress, por lo que este método de redirección es universal. El archivo .htaccess se encuentra en la raíz del sitio:

Este archivo se edita usando un editor de texto, es mejor usar .

¡Atención! Para principiantes: si no está completamente seguro de sus acciones, asegúrese de hacer una copia de seguridad antes de realizar cambios en el archivo htaccess.

De WWW a sin WWW (y viceversa)

El sitio debe ser accesible de una sola manera: con WWW o sin WWW. Está mal si el sitio se “regala” de dos maneras. Sólo necesitas dejar uno.

Si el sitio es joven, es mejor elegir sin WWW, pero si es antiguo, es mejor elegir la opción que esté indexada. Sucede que en Yandex está indexado con WWW, pero en Google sin WWW, en este caso, seleccione la opción que "surgió" en el motor de búsqueda de mayor prioridad para usted.

Comprenda que www.site.ru y site.ru son dos sitios diferentes para motores de búsqueda, por lo que solo debería haber una opción disponible. Con WordPress generalmente no hay problemas con esto, solo hay una opción disponible de forma predeterminada, pero en otros motores a menudo puedes ver que el sitio está disponible en ambas formas.

Redirección 301 de www a sin www:

RewriteEngine activado RewriteCond %(HTTP_HOST) !^www\.(.*) RewriteRule ^(.*)$ http://www.%1/$1

Redirección 301 desde un sitio sin www a con www:

RewriteEngine activado RewriteCond %(HTTP_HOST) ^www\.(.*) RewriteRule ^(.*)$ http://%1/$1

De una página a otra usando htaccess

Si necesita configurar una redirección 301 de una página a otra, debe escribir este código en el archivo htaccess:

Redirección 301 /staraya-stranica.html http://site.ru/novaya-stranica.html

Desde index.php (index.html) hasta la raíz (página principal)

En algunos motores, es posible que la página principal del sitio también esté disponible en: site.ru/index.php. No está bien. Esta página necesita enviar una redirección 301 a la página principal, así es como se hace (no olvide reescribir "sitio" en su dominio).

Si desde index.php:

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://sitio/

Si con index.html:

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://sitio/

De http a https:

Si necesita registrar una redirección 301 desde http al protocolo seguro httpS, utilice este código:

RewriteCond %(HTTPS) de RewriteRule ^(.*)$ https://%(HTTP_HOST)%(REQUEST_URI)

De una categoría (directorio/carpeta) a otra

Existe la necesidad de redirigir todas las páginas de una determinada categoría a otra dirección, aquí está el código:

RedirectMatch 301 ^/categoría-antigua/(.*) /categoría-nueva/$1

De un dominio a otro

Si de repente se mudó a un nuevo dominio, debe escribir esto en el htaccess del dominio anterior:

RewriteEngine activado RewriteCond %(HTTP_HOST) old-domen.ru RewriteRule (.*) http://new-domen.ru/$1

Además, asegúrese de especificar la nueva dirección del sitio en la directiva del host.

Redirecciones 301 en WordPress usando el complemento Simple 301 Redirects

Si el sitio de un cliente está en WordPress y él mismo quiere agregar redireccionamientos 301 en algunos lugares, instalo el complemento Simple 301 Redirects. Sí, y es bueno para principiantes. El complemento es muy fácil de usar y todo se hace en el área de administración familiar de WordPress, por lo que este método puede parecer más fácil para algunos.

Conclusión

Después de registrar una redirección 301, asegúrese de verificar la funcionalidad del sitio. Un pequeño error puede hacer que todo su sitio no esté disponible. Asegúrese de hacer copias de seguridad del archivo htaccess antes de cambiarlo, o use CTRL+Z para devolver el archivo a su posición original.

Además: tenga en cuenta que el peso de las redirecciones 301 no se transfiere inmediatamente. Sí, el pegado ocurre más rápido en Google, pero en Yandex todo sucede lentamente. Normalmente hay que esperar de 1 a 3 meses.

No olvides marcar esta página como favorita, te resultará útil. Y por supuesto gracias por los retuits.

Redirigir 301 o 301 Permanent Redirect es una regla que redirige automáticamente al usuario a otra dirección de página. Con su ayuda, puede fusionar páginas antiguas con otras nuevas o mover el sitio a otro dominio, eliminar muchos duplicados del sitio y mucho más. Algo extremadamente útil, ¡así que debes aprender a hacerlo correctamente!

Además, con una redirección 301, TCI (lectura) y PR se fusionan, es decir. puede almacenar el valor anterior en la nueva dirección. Es posible que no pierda nada a los ojos de los motores de búsqueda. Pasemos de la teoría a la práctica.

Cómo configurar la redirección 301 en htaccess

Un archivo llamado .htaccess se encuentra en la categoría principal de su sitio. Este es un archivo de servicio en el que especificaremos las reglas de pegado. Abra el archivo con el bloc de notas (recomiendo bloc de notas++, para que no haya problemas con la codificación). No olvides que este es uno de los puntos importantes.

La plantilla general para .htaccess que usaremos:

Opciones +FollowSymLinks RewriteEngine On #Aquí especificamos las reglas

Todas las reglas están escritas en la forma:

RewriteCond [Comparación] [Condición] [Banderas] RewriteCond [Comparación] [Condición] [Banderas] RewriteRule [Patrón] [Sustitución] [Banderas]

Ahora tratemos directamente la redirección y veamos ejemplos específicos.

Ya he escrito un artículo al respecto, pero por si acaso lo resumiré aquí para que le resulte más cómodo utilizar la página.

Ejemplos de uso de redirecciones 301

Redirigir desde index.php a la página de inicio

Para configurarlo, debe escribir el siguiente código en su archivo, que redirigirá a los visitantes de site.ru/index.php a site.ru:

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP RewriteRule ^index\.php$ http://site.ru/

Si también necesita redirigir desde index.html, simplemente reemplace .php con .html en el código anterior

Alias ​​de sitios de pegado

Si tiene varios dominios y desea redirigirlos todos al sitio principal, utilizamos:

RewriteCond %(HTTP_HOST) ^vash-sait.com$ RewriteCond %(HTTP_HOST) ^www.vash-sait.com$ RewriteCond %(REQUEST_URI) !^/robots.* RewriteRule ^(.*)$ http://vash- sait.ru/$1

Presta atención a las 2 primeras líneas, indica un espejo en zona.com, si tienes otra o varias zonas, entonces agrega reglas.

Redirigir de www a sin www

Ya describí este método anteriormente, pero lo repetiré. Para pegar espejos y seleccionar el dominio principal sin www, escribimos:

RewriteCond %(HTTP_HOST) ^www.site\.ru$ RewriteRule ^(.*)$ http://site.ru/$1

Redirigir desde un dominio sin www a un dominio con www

Esta acción es la contraria a la anterior, solo el espejo principal está aquí www.site.ru:

RewriteCond %(HTTP_HOST) ^sitio\.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1

Redirección 301 de páginas con y sin barra diagonal

Este es otro tipo de duplicado, aquí fusionaremos las páginas site.ru/category/ y site.ru/category, como puede ver, no hay barra al final de la segunda URL:

RewriteCond %(REQUEST_FILENAME) !-d RewriteCond %(REQUEST_URI) ^(.+)/$ RewriteRule ^(.+)/$ /$1

Si por el contrario necesitas dejar una barra al final de la URL, entonces necesitas esta opción:

RewriteBase / RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_URI) !(.*)/$ RewriteRule ^(.*[^/])$ $1/

Si por alguna razón tiene URL como site.ru/category//article.html, utilice el código:

RewriteCond %(REQUEST_URI) ^(.*)//(.*)$ RewriteRule. %1/%2

donde "//" se puede reemplazar con "—" o cualquier carácter doble en la URL.

Reemplazo de categoría masiva

Sucede que cambiaste el nombre de una categoría, pero se le asignan miles de URL. Para evitar envejecer mientras escribes miles de redirecciones idénticas, utiliza:

RewriteRule ^(.*)/categoría-antigua/(.*)$ $1/categoría-nueva/$2

RewriteRule categoría antigua /(.*) / categoría antigua /$1

Redirigir a nueva página

La redirección más sencilla de una página a otra, simplemente escríbela así:

Redirección 301 /old-post.html http://new-site.ru/new-post.html

Donde old-post.html es su página anterior y new-site.ru/new-post.html es una página nueva y puede estar en cualquier dominio (incluido su dominio actual).

Redirigir para URL con parámetros

Las páginas con parámetros son más difíciles de redirigir; tomemos el ejemplo de http://site.ru/page.php?sort=articles. El parámetro aquí es "ordenar = artículos". El código será el siguiente:

RewriteCond %(QUERY_STRING) sort=articles RewriteRule .* http://site.ru/page.php?

Trabajar con extensiones

Eliminamos .html de la URL (para eliminar .php, no olvides reemplazar $1.html por $1.php):

Reescribir regla ^(([^/]+/)*[^.]+)$ /$1.html [L]

Cambiamos .php a .html en las URL y viceversa (no olvides intercambiar lugares en el código):

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Corregir redireccionamiento 301 a un nuevo dominio

Destaqué este punto por separado, porque... está más relacionado con la transferencia a otro dominio. Aquí hay un punto importante: no se pierda la directiva para editar robots; se indica en la línea 3 del código.

RewriteCond %(REQUEST_FILENAME) robots.txt$ RewriteRule ^([^/]+) $1 [L] RewriteCond %(HTTP_HOST) ^site\.ru RewriteRule ^(.*)$ http://new-site.ru/$1 RewriteCond %(HTTP_HOST) ^www.site\.ru RewriteRule ^(.*)$ http://new-site.ru/$1

Con la ayuda de maquinaciones tan simples, nos desharemos de las páginas duplicadas, mejorando así nuestra optimización interna y, en consecuencia, la calidad del sitio.

Si tienes alguna duda, escribe en los comentarios y lo solucionaremos :)




Arriba