Redireccionamiento de WWW en Cloudflare

¿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.

Redirecionamento WWW no Cloudflare

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.

Redirecionamento WWW no Cloudflare

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.