Forzar el uso de “www” en la URL implica redirigir automáticamente las solicitudes sin “www” hacia su versión con “www”. Este proceso mejora la consistencia del sitio web y puede tener beneficios en términos de SEO y preferencia del usuario. Aquí te explico cómo hacerlo, añadiendo ejemplos y fuentes fiables.
1. Redirección en el archivo `.htaccess`:
Si tu servidor web es Apache, puedes usar el archivo `.htaccess` ubicado en la raíz de tu sitio web. Este archivo permite realizar configuraciones a nivel de directorio sin necesidad de acceder al archivo de configuración principal del servidor.
**Ejemplo de configuración `.htaccess`:
```apache
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
```
Explicación:
- `RewriteEngine On`: Activa el motor de reescritura de URLs.
- `RewriteCond %{HTTP_HOST} !^www\.`: Esta condición verifica si la URL no tiene el prefijo “www”.
- `RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]`: Redirige todas las solicitudes a la versión con “www” utilizando una redirección 301 (redirección permanente).
Fuentes:
- [Apache HTTP Server Documentation: mod_rewrite](https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html)
- [Mozilla Developer Network (MDN): .htaccess files](https://developer.mozilla.org/en-US/docs/Learn/Server-side/Apache_Configuration_htaccess)
2. Redirección en servidores Nginx:
Si tu servidor utiliza Nginx, necesitas editar el archivo de configuración correspondiente a tu sitio web.
**Ejemplo de configuración Nginx:
```nginx
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
}
```
Explicación:
- `listen 80;`: Indica que el servidor escucha las solicitudes en el puerto 80.
- `server_name example.com;`: Define el nombre del servidor sin “www”.
- `return 301 http://www.example.com$request_uri;`: Redirige a la versión con “www” utilizando una redirección 301.
Fuentes:
- [Nginx Documentation: Rewriting URLs](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html)
- [DigitalOcean Community: How To Redirect URLs with Nginx](https://www.digitalocean.com/community/tutorial_series/redirect-urls-with-nginx)
3. Redirección a través de DNS:
A nivel de DNS, puedes configurar un registro CNAME que redirija de example.com a www.example.com. Aunque este método no es tan común ni configurable como los anteriores, es otra opción que podrías considerar.
Ejemplo de configuración DNS:
- Tipo: CNAME
- Nombre: @
- Valor: www.example.com
Fuentes:
- [Cloudflare: Understanding DNS CNAME Flattening](https://www.cloudflare.com/learning/dns/dns-records/#cname-record)
- [Namecheap: How do I set up a CNAME record for my domain?](https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-do-i-set-up-a-cname-record-for-my-domain)
Beneficios de forzar el uso de www
1. Consistencia: Redirigir todas las solicitudes a una misma versión del dominio evita la existencia de contenidos duplicados, lo cual ayuda a SEO.
2. Configuración de cookies: Los subdominios con “www” suelen manejar mejor las cookies, especialmente en sitios complejos o con múltiples subdominios.
3. Facilidad de configuración para redes de distribución de contenido (CDN): Algunas configuraciones de CDN funcionan mejor o incluso requieren el uso de “www”.
Al implementar estos métodos, asegúrate de verificar las redirecciones que has configurado para garantizar que todas las rutas y recursos están correctamente direccionados a su versión con “www” sin problemas.