FS_METHOD en WordPress: cómo elegirlo y solucionar errores

FS_METHOD es una constante de WordPress que indica cómo debe acceder el CMS a los archivos cuando instala, actualiza o modifica componentes. Normalmente no tienes que tocarla: WordPress comprueba qué transporte puede usar y elige el que encaja con los permisos del servidor. Solo merece la pena fijarla cuando aparecen errores de actualización, problemas de propiedad de archivos o una configuración de alojamiento poco habitual.

Esta guía sustituye el enfoque antiguo de copiar credenciales FTP sin más. En la mayoría de instalaciones actuales conviene corregir primero los permisos y la propiedad de los archivos. Si eso no basta, entonces puedes elegir el método adecuado en wp-config.php, siempre con una copia de seguridad y sin guardar contraseñas en un repositorio público.

Las claves de FS_METHOD en 20 segundos

  • Los valores válidos son direct, ssh2, ftpext y ftpsockets.
  • WordPress prioriza el acceso directo y después prueba transportes SSH o FTP según el servidor.
  • No fuerces un método si las actualizaciones ya funcionan; puedes crear un problema que antes no existía.
  • FTP seguro mediante SSL no es lo mismo que SFTP por SSH.

Qué hace WordPress cuando actualiza un plugin o el núcleo

WordPress utiliza su Filesystem API para abstraer la lectura, escritura, modificación y eliminación de archivos. La función get_filesystem_method() comprueba el entorno y devuelve el transporte que puede utilizar. El orden documentado es direct, ssh2, ftpext y ftpsockets, aunque el resultado depende de los permisos, las extensiones de PHP y la configuración del alojamiento.

Por eso un aviso como «No se pudo crear el directorio» o una pantalla que pide credenciales FTP no significa automáticamente que debas añadir FS_METHOD. Puede haber un propietario incorrecto, permisos demasiado restrictivos, una ruta equivocada o una extensión que falta. Consulta primero el registro del servidor y el estado de la carpeta wp-content.

Los cuatro valores válidos

ValorCuándo se utilizaQué necesita
directPHP puede escribir directamente en los archivos.Propiedad y permisos correctos en el servidor.
ssh2La conexión se hace mediante SSH.Extensión SSH2 y datos de conexión o claves.
ftpextSe usa la extensión FTP de PHP.Extensión FTP y credenciales FTP.
ftpsocketsSe conecta mediante la clase de sockets de PHP.Acceso FTP y soporte para sockets.

Cómo configurar FS_METHOD en wp-config.php

Si necesitas probar un método concreto, coloca la constante en wp-config.php, antes de la línea que indica que dejes de editar el archivo. El ejemplo mínimo sería:

define( 'FS_METHOD', 'direct' );

Sustituye direct por ssh2, ftpext o ftpsockets según tu servidor. Haz una sola prueba cada vez y vuelve a dejar que WordPress elija el transporte si el cambio no resuelve el error. La documentación oficial recomienda definir el menor número posible de constantes de actualización y cambiar FS_METHOD solo cuando haya problemas.

Cuándo usar direct

direct es el método más sencillo cuando el proceso PHP pertenece al mismo usuario que los archivos de WordPress o tiene permisos de escritura controlados. No es malo por sí mismo ni conviene presentarlo como un riesgo automático: el problema aparece cuando el servidor permite escribir más de lo necesario o cuando los archivos tienen una propiedad incoherente.

Si WordPress solicita credenciales en cada actualización, revisa primero el propietario y el grupo de los archivos, la ruta real de la instalación y las reglas del alojamiento. Cambiar a direct puede ocultar el problema de permisos y dejar una configuración difícil de mantener.

Cuándo usar SSH2 o FTP

ssh2 tiene sentido cuando tu alojamiento ofrece acceso SSH y la extensión correspondiente está disponible para la versión de PHP que usa la web. También puedes autenticarte mediante claves, una opción preferible a escribir una contraseña en el archivo de configuración. Si el proveedor solo ofrece FTP, ftpext y ftpsockets son los transportes previstos por WordPress.

FTP mediante SSL se configura con FTP_SSL, pero no convierte la conexión en SFTP. SFTP utiliza SSH y se relaciona con el transporte ssh2. Confundir ambos protocolos suele terminar en credenciales correctas que no funcionan porque se está usando el puerto o el método equivocado.

Constantes de conexión y rutas

Cuando el método necesita conexión, WordPress admite constantes como FTP_HOST, FTP_USER, FTP_PASS, FTP_SSL, FTP_BASE, FTP_CONTENT_DIR y FTP_PLUGIN_DIR. Un ejemplo orientativo sería:

define( 'FS_METHOD', 'ftpext' );
define( 'FTP_HOST', 'ftp.example.org' );
define( 'FTP_USER', 'usuario-ftp' );
define( 'FTP_PASS', 'contraseña-solo-como-ejemplo' );
define( 'FTP_BASE', '/ruta/a/wordpress/' );
define( 'FTP_SSL', true );

No copies este bloque sin adaptarlo. La ruta y el puerto dependen del proveedor. Además, evita subir wp-config.php a GitHub, enviarlo por correo o reutilizar la misma contraseña en otros servicios. Si ya has expuesto una contraseña real, cámbiala desde el panel del alojamiento.

Para claves SSH existen FTP_PUBKEY y FTP_PRIKEY. Deben apuntar a las rutas correctas y el usuario del servidor tiene que poder leerlas. El equipo que administra el alojamiento puede confirmar si la extensión SSH2 está activa y qué transporte soporta.

Cómo diagnosticar el error sin empeorar la instalación

  • Haz una copia de los archivos y la base de datos antes de editar wp-config.php. Puedes revisar nuestra guía de copias con Duplicator.
  • Anota el mensaje exacto y comprueba si afecta a un plugin, al tema, al núcleo o a la carpeta de idiomas.
  • Revisa propietario, grupo y permisos de wp-content y de las carpetas que WordPress intenta modificar.
  • Confirma la versión de PHP y las extensiones SSH2 o FTP disponibles.
  • Prueba un solo método y repite la actualización. Si no cambia nada, elimina la constante y vuelve a la configuración automática.

Si el sitio muestra errores de escritura después de un cambio, no amplíes los permisos a todo el servidor para salir del paso. Es más seguro pedir al proveedor una configuración de propiedad coherente y mantener actualizados WordPress, PHP y los plugins. La guía de requisitos de WordPress y PHP ayuda a comprobar esa parte.

Preguntas frecuentes

¿Tengo que definir siempre FS_METHOD?
No. Si las actualizaciones funcionan, deja que WordPress elija el transporte automáticamente.

¿Qué valor debo usar?
Depende del servidor. direct suele ser suficiente cuando PHP puede escribir con permisos correctos; ssh2, ftpext y ftpsockets requieren sus transportes y credenciales correspondientes.

¿Es más seguro usar FTP que direct?
No hay una respuesta universal. La seguridad depende de la propiedad de los archivos, los permisos, el protocolo y la configuración del servidor. Forzar FTP no arregla por sí solo una instalación mal configurada.

¿FTP_SSL es lo mismo que SFTP?
No. FTP_SSL protege una conexión FTP mediante SSL, mientras que SFTP funciona sobre SSH y se relaciona con el transporte ssh2.

¿Puedo guardar la contraseña FTP en wp-config.php?
WordPress admite FTP_PASS, pero debes proteger el archivo y evitar que llegue a repositorios o copias compartidas. Siempre que sea posible, usa claves SSH o las credenciales temporales del panel del proveedor.

Fuentes: get_filesystem_method(); edición de wp-config.php; Filesystem API de WordPress.

David Carrero Fernández-Baillo

Experimentando con un sitio web sobre WordPress, este popular gestor de contenidos, entre otros muchos proyectos.

Te puede interesar...

    Comments are closed

    WordPress Directo
    WPDirecto.com es una revista especializada en WordPress y WooCommerce que ofrece una amplia gama de recursos, incluyendo tutoriales, análisis de plugins y plantillas, consejos de optimización y estrategias de SEO, para ayudar a los usuarios a mejorar y personalizar sus sitios web, manteniéndolos informados sobre las últimas novedades y tendencias en el mundo de WordPress.

    © 1995-2025 Color Vivo Internet, SLU (Medios y Redes Online).. Otros contenidos se cita fuente. Infraestructura cloud servidores dedicados de Stackscale.