WordPress trae de fábrica un editor de código dentro del escritorio: Apariencia → Editor de archivos de temas y Plugins → Editor de plugins. Permite modificar cualquier fichero PHP del sitio desde el navegador, sin FTP y sin dejar rastro fuera del propio fichero.
Es cómodo. Y es, probablemente, la forma más rápida de convertir un acceso robado en una puerta trasera permanente. Desactivarlo cuesta una línea y no quita nada que necesites.
Por qué importa tanto esa pantalla
Piensa en lo que hace un atacante cuando consigue entrar como administrador —por una contraseña reutilizada, por un plugin vulnerable, por lo que sea. Necesita persistencia: algo que siga funcionando cuando cambies la contraseña.
Con el editor activo, lo tiene en tres clics: abre el fichero de funciones del tema, añade unas líneas al final y ya tiene una entrada que no depende de ningún usuario. Le da igual que después rotes credenciales o actives la verificación en dos pasos: el código ya está dentro.
Sin el editor, necesita FTP, SFTP o un fallo adicional que le permita escribir ficheros. Son más pasos, más ruido y más posibilidades de que algo se lo impida.
En las revisiones que hacemos, el rastro «usuario administrador que no reconoces + fichero de tema modificado el mismo día» es un clásico. Cómo detectar lo segundo lo cuenta leer los logs de tu web; lo primero, la revisión de roles y permisos.
Cómo se desactiva
Abre wp-config.php (está en la raíz de la web) y añade esta línea antes del comentario que dice «eso es todo, deja de editar»:
define('DISALLOW_FILE_EDIT', true);
Guarda y recarga el escritorio: los dos editores desaparecen del menú. No rompe nada: los temas y plugins siguen funcionando igual.
La versión más estricta
Si además quieres impedir que se instalen o actualicen extensiones desde el escritorio:
define('DISALLOW_FILE_MODS', true);
Esto bloquea el editor y la instalación, actualización y borrado de plugins y temas desde el navegador. Es lo correcto en webs que se despliegan desde un repositorio, y una mala idea si la persona que mantiene la web actualiza desde el escritorio: dejaría de poder aplicar parches, que es peor problema que el que resuelve. Si eliges esta vía, asegúrate de tener un proceso alternativo de actualización antes de activarla, como explicamos en cómo actualizar los plugins sin romper la web.
Cómo saber si ya lo tienes puesto
- Entra al escritorio y mira en Apariencia. Si no aparece «Editor de archivos de temas», está desactivado.
- Ve a Herramientas → Salud del sitio → Información → WordPress: allí se listan las constantes activas.
- Si tu web la mantiene una agencia, pregúntales directamente. Forma parte de lo que deberías poder auditar: tienes la lista completa en cómo auditar la web que te ha entregado una agencia.
«Pero yo lo uso para tocar el CSS»
Es el motivo real por el que mucha gente lo deja activo, y tiene solución mejor:
- CSS: usa Apariencia → Personalizar → CSS adicional. No toca ficheros, se guarda en la base de datos y se puede revertir.
- Funciones PHP: van en el tema hijo, no en el padre, y se suben por FTP o se despliegan desde el repositorio. Editarlas a pelo en producción es cómo se rompen las webs un viernes por la tarde.
- Cambios puntuales de un plugin: no se tocan. Se pierden en la siguiente actualización y, si no se pierden, es porque has dejado de actualizar, que es peor. El caso de los plugins que vienen con el tema lo tratamos en cuando el plugin viene incluido en el tema.
Qué más cerrar en la misma sesión
Si vas a abrir wp-config.php, aprovecha y revisa estas tres cosas de una vez:
| Ajuste | Para qué sirve |
|---|---|
define('WP_DEBUG', false); |
Que los errores no se muestren al visitante: revelan rutas y versiones |
| Claves de seguridad únicas (salts) | Invalidar sesiones robadas; genéralas de nuevo si sospechas de un acceso |
Permisos 640 en el propio wp-config.php |
Que no lo lea cualquiera; ver permisos de ficheros en WordPress |
Lo que no hace
Desactivar el editor no impide entrar: impide que entrar salga barato. Sigue haciendo falta lo de siempre —contraseñas propias de cada servicio, segundo factor en las cuentas de administrador y plugins al día— y sigue sin sustituir a una revisión seria si ya sospechas que hay algo dentro.
Encaja como pieza pequeña y barata de la configuración segura de tu web: cinco minutos, cero mantenimiento, ningún efecto secundario. De las pocas medidas de seguridad que se pueden decir así.
La constante está documentada oficialmente en el manual de configuración de WordPress.
Seguir leyendo en esta sección
- xmlrpc.php: qué es, por qué lo atacan y cómo desactivarlo sin romper nada
- Mi web sale como «No es seguro» en Chrome: qué significa y cómo quitarlo
- Herramientas para saber si tu web está hackeada (y cuál usamos nosotros)
- Cabeceras de seguridad HTTP: qué son y cómo saber si tu web las tiene
- CDN y WAF para pymes: qué son, cuál necesitas y cuánto cuesta
- CSP (Content Security Policy): cómo activarla sin romper tu web