¿Tiene problemas con la redirección dual 301 en su dominio con WWW? ¿Algunas páginas no redireccionan de HTTP a HTTPS? En este artículo te daré un consejo rápido sobre cómo resolver este problema.
Esta función es la solución a diversos problemas como la ausencia de redireccionamiento, el acceso al sitio desde la versión http, errores de múltiples redireccionamientos y muchos otros.
Double Redirect 301 en [http: // www.]
Hoy fui a verificar el SSL de mi sitio en httpstatus.io y me encontré con dos redirecciones 301 en mi versión con www y sin https del sitio. Puede parecer algo insignificante, pero es estrictamente importante para el SEO de tu sitio.
Como puede ver en la imagen a continuación, la URL del sitio web con HTTP: // WWW tiene dos redireccionamientos 301, probablemente uno para la versión HTTPS y el otro para la versión no WWW del sitio web.
Para solucionar este problema es bastante simple. Yo uso Cloudflare, así que accedí a mi panel y dominio en CloudFlare y fui a la pestaña Page Rules.
Allí creé un redireccionamiento único de la versión www directo a la versión https sin www. Esta regla, además de solucionar el problema, descarta en la mayoría de los casos la necesidad de usar algún plugin o regla de redireccionamiento en el servidor nginx o en el .htaccess de apache.
Al acceder a las Page Rules, solo debes crear una nueva regla redirigiendo www.meusite.com/* a https://meusite.com/$1 utilizando la regla de redireccionamiento 301.
Los valores [*] y [$1] son importantes porque identifican qué página está ingresando el usuario y redirigen directamente a la versión https de esa página en lugar de redirigir a la página de inicio.
Vea cómo configuro mi dominio a continuación. Haga lo mismo, luego haga clic en guardar y borre su caché de CloudFlare. Así dejará de existir el doble redireccionamiento, quedando solo un 301.
Recomendamos leer también nuestra Guía sobre SEO y Herramientas.
Redirección por archivo .HTACCESS
La misma regla de redireccionamiento se puede aplicar directamente desde el servidor, si no usa Cloudflare. Aunque recomendamos encarecidamente usar un CDN y hacerlo en él.
La regla que se aplicará al archivo .HTACCESS estará a continuación. Recuerde, solo haga esto si no está utilizando Cloudflare.
<IfModule mod_rewrite.c
>
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.seusite\.com [NC]
RewriteRule (.*) https://seusite.com/$1 [L,R=301]
</IfModule
>
Redirigir WWW en Nginx
Si tu servidor es puramente Nginx como el mío, sin duda es mucho más fácil usar CloudFlare y el primer tutorial. En caso de que sigas siendo terco, dejaré una configuración para Nginx, pero no perderé mi tiempo explicándola, ya que no soy un profesional de Nginx Config:
#=========================#
# domain settings #
#=========================#
# Catch http://domain, and http://www.domain
server {
listen 80;
server_name www.domain domain;
# Redirect to https://domain
return 301 https://domain$request_uri;
}
# Catch https://www.domain
server {
listen 443;
server_name www.domain;
# Redirect to https://domain
return 301 https://domain$request_uri;
}
# Catch https://domain
server {
listen 443;
server_name domain;
root /usr/share/nginx/domain;
index index.html index.htm;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ =404;
}
}
Espero que los consejos de este artículo resuelvan tu problema con el doble redireccionamiento o la ausencia de redireccionamiento WWW. Si te gustó, compártelo con tus amigos, no dejes que sus sitios tengan redireccionamiento doble y perjudique su SEO.