Saltar al contenido

Cómo evitar que .htaccess se sobrescriba en WordPress y cPanel

Cómo Evitar que .htaccess se Sobrescriba en WordPress y cPanel

Cuando administras un sitio web en WordPress alojado en cPanel, es común enfrentarte a situaciones frustrantes: añades reglas personalizadas al archivo .htaccess para bloquear bots, redirigir tráfico o mejorar la seguridad, pero al guardar y volver a abrir el archivo, ¡tu código ha desaparecido! Este problema puede hacerte perder tiempo y poner en riesgo la estabilidad de tu sitio. ¿Te suena familiar? No estás solo. Muchos usuarios experimentan cómo plugins como LiteSpeed Cache o WordPress sobrescriben el .htaccess, eliminando cambios manuales sin previo aviso.

En este artículo, te explicaré por qué ocurre esto y cómo evitar que .htaccess se sobrescriba, con pasos claros y soluciones prácticas que funcionan en entornos reales. Si usas WordPress, cPanel y Namecheap, esta guía te ahorrará dolores de cabeza y te dará el control total sobre tu archivo de configuración.


¿Por qué se sobrescribe el archivo .htaccess?

El archivo .htaccess es el corazón de las configuraciones de Apache y LiteSpeed en tu servidor. Permite personalizar redirecciones, bloquear accesos y optimizar el rendimiento. Sin embargo, en un entorno gestionado como WordPress con cPanel, varios sistemas automatizados pueden interferir:

  • Plugins de caché: Herramientas como LiteSpeed Cache generan reglas automáticamente y las insertan entre marcadores como # BEGIN LSCACHE y # END LSCACHE. Si editas manualmente fuera de su control, el plugin puede regenerar el archivo y descartar tus cambios.
  • WordPress: Los ajustes de enlaces permanentes reescriben las secciones entre # BEGIN WordPress y # END WordPress, eliminando cualquier código fuera de su ámbito.
  • Seguridad: Plugins como Wordfence también añaden sus propias reglas, lo que puede provocar conflictos.

Este comportamiento es especialmente común en servidores de Namecheap con LiteSpeed, donde la combinación de WordPress y plugins de optimización crea un entorno dinámico que prioriza la automatización sobre las ediciones manuales.


Solución paso a paso para proteger tus cambios en .htaccess

Aquí tienes una guía práctica para evitar que .htaccess se sobrescriba y mantener tus reglas personalizadas intactas:

1. Identifica las Secciones Gestionadas

Abre tu .htaccess en el Administrador de Archivos de cPanel (disponible en Namecheap). Busca bloques como:


Kingsta, hosting administrado para WordPress
  • # BEGIN LSCACHE y # END LSCACHE
  • # BEGIN WordPress y # END WordPress
  • # Wordfence WAF

Nunca coloques tu código dentro de estos marcadores, ya que serán sobrescritos por los respectivos sistemas.

2. Añade tu Código en una Zona Segura

Inserta tus reglas personalizadas fuera de las secciones gestionadas. Una ubicación ideal es justo después de # END NON_LSCACHE (si usas LiteSpeed Cache) o antes de las reglas de WordPress. Por ejemplo (solo ejemplo, no lo uses si no lo necesitas):

# END NON_LSCACHE

# Bloqueo de bots personalizados
RewriteCond %{HTTP_USER_AGENT} ^(OAI-SearchBot|Scrapy|curl|wget|AhrefsBot) [NC]
RewriteRule ^.* - [F,L]

Esto asegura que tu código no sea eliminado por los plugins.

3. Controla LiteSpeed Cache

LiteSpeed Cache es un culpable frecuente. Para evitar que sobrescriba:

  • Ve a WordPress > LiteSpeed Cache > Configuración > General.
  • Desactiva temporalmente la caché.
  • Edita el .htaccess, guarda tus cambios y verifica que persistan.
  • Reactiva la caché y revisa nuevamente.

Alternativamente, usa la pestaña Avanzado > Editar .htaccess del plugin para añadir tus reglas directamente desde la interfaz.

4. Prueba y Valida

Después de guardar, abre el archivo de nuevo en cPanel. Si tus cambios siguen ahí, ¡éxito! Si desaparecen, desactiva plugins uno por uno (empezando por LiteSpeed Cache) para identificar al responsable.

5. Optimiza con Namecheap y cPanel

En Namecheap, asegúrate de que los permisos del archivo sean 644 (lectura/escritura para el propietario, lectura para otros). Usa el Administrador de Archivos o un cliente FTP para editar con precisión y evitar procesos automáticos del servidor.


Ejemplo práctico: Bloqueo de bots sin perder tus cambios

Supongamos que quieres bloquear bots como AhrefsBot o Scrapy. Aquí está el código optimizado y su ubicación correcta:

# END NON_LSCACHE

# Bloqueo de bots no deseados
RewriteCond %{HTTP_USER_AGENT} ^(OAI-SearchBot|Scrapy|curl|wget|AhrefsBot) [NC]
RewriteRule ^.* - [F,L]

# Redirección a HTTPS
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tudominio.com/$1 [R=301,L]

Este enfoque respeta las reglas existentes de WordPress y LiteSpeed, evitando conflictos.


Consejos avanzados para expertos

  • Logs personalizados: Añade un registro de accesos bloqueados con CustomLog para monitorear bots.
  • Copias de seguridad: Antes de editar, guarda una copia del .htaccess en tu computadora o en cPanel.
  • Reglas combinadas: Si ya tienes RewriteEngine On en otra sección, omítelo en tu bloque para mantener el archivo limpio.

Conclusión

Saber cómo evitar que .htaccess se sobrescriba te da el poder de personalizar tu sitio sin temor a perder tus cambios. Con esta guía, puedes gestionar tu WordPress en cPanel y Namecheap como un profesional, bloqueando bots, optimizando redirecciones y manteniendo el control total. Prueba estos pasos hoy y dile adiós a las reglas que desaparecen.

¿Has enfrentado este problema antes? Comparte tu experiencia en los comentarios o contáctame para más consejos personalizados.