{"id":81064,"date":"2025-11-20T13:54:22","date_gmt":"2025-11-20T12:54:22","guid":{"rendered":"https:\/\/kinsta.com\/es\/?p=81064&#038;preview=true&#038;preview_id=81064"},"modified":"2025-11-24T15:38:42","modified_gmt":"2025-11-24T14:38:42","slug":"desarrollo-wordpress-radicle","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/","title":{"rendered":"Desarrollo de WordPress con Radicle: Despliegue en Kinsta"},"content":{"rendered":"<p>El desarrollo moderno de WordPress ha evolucionado m\u00e1s all\u00e1 de las configuraciones manuales y los flujos de trabajo de despliegue inconsistentes. Radicle combina <a href=\"https:\/\/roots.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Roots<\/a> y otras herramientas de desarrollo de WordPress, como <a href=\"https:\/\/roots.io\/bedrock\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bedrock<\/a>, <a href=\"https:\/\/roots.io\/sage\/\" target=\"_blank\" rel=\"noopener noreferrer\">Sage<\/a> y <a href=\"https:\/\/roots.io\/acorn\/\" target=\"_blank\" rel=\"noopener noreferrer\">Acorn<\/a>, en un \u00fanico stackde inicio.<\/p>\n<p>Esta integraci\u00f3n significa que puedes tener la experiencia de desarrollo de Laravel directamente en WordPress.<\/p>\n<p>Adem\u00e1s, instalar Radicle en Kinsta te proporciona un entorno de alojamiento que cumple los requisitos t\u00e9cnicos que exige este stack. Obtendr\u00e1s <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/conectar-a-ssh\/\">acceso SSH<\/a>, <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/gestion-del-sitio\/wordpress-wp-cli\/\">integraci\u00f3n WP-CLI<\/a> y la posibilidad de <a href=\"https:\/\/kinsta.com\/es\/changelog\/webroot-personalizado\/\">configurar el directorio ra\u00edz<\/a>.<\/p>\n<p>Esta gu\u00eda describe el proceso de configuraci\u00f3n y los pasos necesarios para que Radicle funcione en la infraestructura de Kinsta.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Radicle y sus componentes<\/h2>\n<p><a href=\"https:\/\/roots.io\/radicle\/\" target=\"_blank\" rel=\"noopener noreferrer\">Radicle<\/a> combina tres proyectos distintos de Roots en un entorno de desarrollo integrado:<\/p>\n<ul>\n<li><strong>Bedrock<\/strong> proporciona la base con su estructura de carpetas mejorada y la gesti\u00f3n de dependencias basada en Composer.<\/li>\n<li><strong>Sage<\/strong> se encarga del desarrollo de temas con la integraci\u00f3n de <a href=\"https:\/\/kinsta.com\/es\/blog\/tailwind-css\/\">CSS de Tailwind<\/a> y <a href=\"https:\/\/kinsta.com\/es\/blog\/vite-vs-webpack\/\">Vite<\/a> para la creaci\u00f3n de activos.<\/li>\n<li><strong>Acorn<\/strong> tiende un puente entre WordPress y <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-laravel\/\">Laravel<\/a> aportando <a href=\"https:\/\/kinsta.com\/es\/blog\/laravel-blade\/\">plantillas Blade<\/a>, migraciones, enrutamiento y mucho m\u00e1s a tus proyectos de WordPress.<\/li>\n<\/ul>\n<p>Este tipo de entorno de desarrollo te permite trabajar directamente desde la ra\u00edz del proyecto, en lugar de dentro de los t\u00edpicos directorios de temas. Tus plantillas se encuentran en <code>resources\/views\/<\/code> en la ra\u00edz del proyecto, mientras que la configuraci\u00f3n se realiza a trav\u00e9s de archivos espec\u00edficos del entorno en el directorio <code>bedrock<\/code>.<\/p>\n<p><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Composer<\/a> gestiona el n\u00facleo de WordPress, los plugins y las dependencias personalizadas a trav\u00e9s de un \u00fanico archivo <code>composer.json<\/code>. El stack requiere PHP 8.3 o superior, junto con extensiones espec\u00edficas. Tambi\u00e9n necesitas Composer para la gesti\u00f3n de dependencias y WP-CLI para las operaciones de l\u00ednea de comandos.<\/p>\n<h3>Radicle vs a WordPress tradicional<\/h3>\n<p>Las instalaciones est\u00e1ndar de WordPress (es decir, poner todo dentro del directorio <code>wp-content<\/code>) pueden complicar el control de versiones y dificultar el mantenimiento de instalaciones coherentes en distintos entornos.<\/p>\n<p>Sin embargo, Radicle reestructura esto para que puedas controlar la versi\u00f3n del c\u00f3digo de tu aplicaci\u00f3n sin rastrear los archivos del n\u00facleo de WordPress ni los medios subidos:<\/p>\n<ul>\n<li>El n\u00facleo de WordPress se encuentra en el directorio <code>public\/wp<\/code>, separado del c\u00f3digo de tu aplicaci\u00f3n.<\/li>\n<li>El directorio <code>public\/content<\/code> sustituye a <code>wp-content<\/code>, y el c\u00f3digo de tu tema personalizado vive en la ra\u00edz del proyecto.<\/li>\n<\/ul>\n<p>La configuraci\u00f3n al estilo Laravel utiliza un archivo <code>.env<\/code> en lugar de incrustar las credenciales de la base de datos y las claves de seguridad dentro de los archivos de configuraci\u00f3n. <a href=\"https:\/\/kinsta.com\/es\/blog\/variables-de-entorno\/\">Defines ajustes diferentes<\/a> para los entornos de desarrollo, staging y de producci\u00f3n mediante archivos de configuraci\u00f3n independientes en <code>bedrock\/environments\/<\/code>.<\/p>\n<p>Tu estrategia de control de versiones se beneficia porque s\u00f3lo realizas un seguimiento del c\u00f3digo y la configuraci\u00f3n de tu aplicaci\u00f3n. Las actualizaciones del n\u00facleo de WordPress se producen a trav\u00e9s de Composer, los plugins sirven como dependencias y los cambios de tema se almacenan en tu repositorio.<\/p>\n<h2>Configurar Radicle para Kinsta<\/h2>\n<p>Cuando despliegues en Kinsta, necesitar\u00e1s <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/conectar-a-ssh\/\">una clave de autenticaci\u00f3n SSH<\/a>, que est\u00e1 disponible a trav\u00e9s del panel MyKinsta.<\/p>\n<p>Localiza tus detalles de acceso SFTP\/SSH en la secci\u00f3n <strong>Informaci\u00f3n<\/strong> del sitio y a\u00f1ade tu clave SSH p\u00fablica si a\u00fan no lo has hecho.<\/p>\n<figure id=\"attachment_200394\" aria-describedby=\"caption-attachment-200394\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-200394 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/10\/ssh-keys.png\" alt=\"La p\u00e1gina de informaci\u00f3n de MyKinsta muestra la secci\u00f3n Usuario SFTP\/SSH principal con opciones para configurar los m\u00e9todos de autenticaci\u00f3n correctos.\" width=\"1200\" height=\"638\"><figcaption id=\"caption-attachment-200394\" class=\"wp-caption-text\">La informaci\u00f3n SSH\/SFTP dentro de MyKinsta.<\/figcaption><\/figure>\n<p>La infraestructura de Kinsta se ajusta a los requisitos t\u00e9cnicos de Radicle. Ejecuta <a href=\"https:\/\/kinsta.com\/es\/blog\/php-8-3\/\">PHP 8.3<\/a>, incluye Composer para la gesti\u00f3n de dependencias y tiene <a href=\"https:\/\/kinsta.com\/es\/blog\/wp-cli\/\">WP-CLI<\/a> preinstalado, para que puedas gestionar WordPress directamente desde la l\u00ednea de comandos.<\/p>\n<p>A diferencia de una instalaci\u00f3n tradicional de WordPress, Radicle utiliza una estructura de directorios basada en versiones. Cada despliegue crea una carpeta de versi\u00f3n con fecha y hora, y un enlace simb\u00f3lico <code data-start=\"2609\" data-end=\"2618\">current<\/code> apunta a la versi\u00f3n activa. La ra\u00edz web de tu aplicaci\u00f3n debe establecerse en <code>public\/current\/public<\/code>.<\/p>\n<p>A continuaci\u00f3n, configura tus variables de entorno. Copia el archivo <code data-start=\"2808\" data-end=\"2822\">.env.example<\/code> en la ra\u00edz de tu proyecto Radicle y c\u00e1mbiale el nombre a <code data-start=\"2874\" data-end=\"2880\">.env<\/code>. A continuaci\u00f3n, a\u00f1ade los <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/gestion-de-bases-de-datos\/acceso-a-la-base-de-datos-de-wordpress\/\">detalles de tu base de datos<\/a> y la configuraci\u00f3n del entorno:<\/p>\n<pre><code class=\"language-bash\">DB_NAME='your_database_name'\nDB_USER='your_database_user'\nDB_PASSWORD='your_database_password'\nDB_HOST='your_database_host'\nWP_ENV='staging'\nWP_HOME='https:\/\/{kinsta-staging-url}'\nWP_SITEURL=\"${WP_HOME}\/wp\"\n<\/code><\/pre>\n<p>Radicle instala el n\u00facleo de WordPress dentro de un subdirectorio <code data-start=\"3213\" data-end=\"3218\">\/wp<\/code>. Esto mantiene los archivos del n\u00facleo separados del c\u00f3digo de tu aplicaci\u00f3n personalizada, favoreciendo una estructura m\u00e1s limpia y controlada por versiones.<\/p>\n<h3>Configuraci\u00f3n del staging<\/h3>\n<p data-start=\"2099\" data-end=\"2431\">Tu directorio de configuraci\u00f3n se encuentra en la ra\u00edz de tu proyecto Radicle, junto a las carpetas <code data-start=\"2188\" data-end=\"2196\">public<\/code> y <code data-start=\"2201\" data-end=\"2212\">resources<\/code>. Abre <code data-start=\"2227\" data-end=\"2261\">bedrock\/environments\/staging.php<\/code> para definir los ajustes espec\u00edficos de tu entorno staging. Este archivo anula los valores de <code data-start=\"2351\" data-end=\"2376\">bedrock\/application.php<\/code> siempre que el archivo <code data-start=\"2390\" data-end=\"2396\">.env<\/code> establezca <code data-start=\"2407\" data-end=\"2415\">WP_ENV<\/code> en <code data-start=\"2419\" data-end=\"2428\">staging<\/code>.<\/p>\n<p data-start=\"2436\" data-end=\"2530\">Establece la URL de tu <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/entorno-staging\/\">sitio staging<\/a>\u00a0a\u00f1adiendo las siguientes constantes en la parte superior de <code data-start=\"2514\" data-end=\"2527\">staging.php<\/code>:<\/p>\n<pre><code class=\"language-php\">&lt;?php\ndefine('WP_HOME', 'https:\/\/staging-url');\ndefine('WP_SITEURL', WP_HOME . '\/wp');\n<\/code><\/pre>\n<p>La URL de staging sigue el patr\u00f3n de la secci\u00f3n <strong>Entornos<\/strong> de tu sitio al seleccionar el entorno staging.<\/p>\n<figure id=\"attachment_200395\" aria-describedby=\"caption-attachment-200395\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-200395 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/10\/site-environments.png\" alt=\"El panel de control de MyKinsta muestra el men\u00fa desplegable de entornos del sitio, en el que se pueden seleccionar tanto el entorno en producci\u00f3n como el de staging.\" width=\"1200\" height=\"423\"><figcaption id=\"caption-attachment-200395\" class=\"wp-caption-text\">Encontrar la URL de tu entorno de ensayo en MyKinsta.<\/figcaption><\/figure>\n<p>Tu ruta de despliegue determina d\u00f3nde aterrizan los archivos en el servidor Kinsta. En MyKinsta, observa la ruta en <strong>Detalles del entorno<\/strong>. Esta ruta suele ser <code>\/www\/sitename\/public<\/code> y representa tu destino de despliegue. Tu script de despliegue sincroniza los archivos aqu\u00ed, creando una estructura como <code>\/www\/sitename\/public\/releases\/timestamp<\/code> para cada despliegue, con <code>\/www\/sitename\/public\/current<\/code> como enlace simb\u00f3lico a la versi\u00f3n activa.<\/p>\n<p>Tambi\u00e9n es una buena idea activar el <a href=\"https:\/\/kinsta.com\/es\/blog\/depuracion-wordpress\/\">modo de depuraci\u00f3n<\/a> para tu entorno de pruebas en <code>bedrock\/environments\/staging.php<\/code>. Adem\u00e1s, copia y establece las credenciales de tu base de datos para el entorno de pruebas en tu archivo local <code>.env<\/code> (que no debe ser enviado al control de versiones). Alternativamente, config\u00faralas como variables de entorno en tu servidor de despliegue. Kinsta generar\u00e1 credenciales \u00fanicas para cada entorno.<\/p>\n<h3>Configuraci\u00f3n de producci\u00f3n<\/h3>\n<p>Una vez que cambies a tu entorno de producci\u00f3n desde el men\u00fa desplegable del panel de control de MyKinsta, el proceso de configuraci\u00f3n ser\u00e1 id\u00e9ntico al del entorno staging, pero utilizando valores espec\u00edficos de producci\u00f3n y ajustes de seguridad m\u00e1s estrictos.<\/p>\n<p>Para ello, abre <code>bedrock\/environments\/production.php<\/code> en el directorio <code>bedrock<\/code> de la ra\u00edz de tu proyecto y modifica la URL de producci\u00f3n:<\/p>\n<pre><code class=\"language-php\">&lt;?php\ndefine('WP_HOME', 'https:\/\/yourdomain.com');\ndefine('WP_SITEURL', WP_HOME . '\/wp');\n<\/code><\/pre>\n<p>El tratamiento de los errores de producci\u00f3n ser\u00e1 distinto al de staging. La principal diferencia consiste en desactivar la visualizaci\u00f3n de depuraci\u00f3n, manteniendo el registro de errores:<\/p>\n<pre><code class=\"language-php\">define('WP_DEBUG', false);\ndefine('WP_DEBUG_LOG', true);\ndefine('WP_DEBUG_DISPLAY', false);\ndefine('SCRIPT_DEBUG', false); <\/code><\/pre>\n<p>Adem\u00e1s, copia las credenciales de la base de datos de producci\u00f3n de la secci\u00f3n <strong>Acceso a la base de datos<\/strong> de MyKinsta mientras est\u00e9s en tu entorno en producci\u00f3n. Estas credenciales suelen diferir de las de staging. Sin embargo, las rutas de despliegue de producci\u00f3n siguen el mismo patr\u00f3n que las de staging, pero apuntan al directorio de tu entorno en producci\u00f3n. La ruta dentro de los<strong> detalles del Entorno <\/strong>de MyKinsta probablemente tendr\u00e1 una URL diferente (aunque similar). Tu script de despliegue apuntar\u00e1 a esta ruta para las versiones de producci\u00f3n.<\/p>\n<h3>Modificar las tareas de despliegue<\/h3>\n<p>El despliegue por defecto de Radicle asume un control del servidor que Kinsta no proporciona a trav\u00e9s del alojamiento administrado. Por ello, debes eliminar cualquier tarea de despliegue que intente gestionar los servicios del servidor.<\/p>\n<p>Si utilizas <a href=\"https:\/\/roots.io\/trellis\/\">Trellis<\/a> (la herramienta de despliegue por defecto de Radicle), edita <code>trellis\/roles\/deploy\/hooks\/finalize-after.yml<\/code> y elimina por completo la tarea <code>Reload php-fpm<\/code>. Kinsta gestiona autom\u00e1ticamente los reinicios de PHP-FPM cuando detecta cambios en los archivos.<\/p>\n<p>Adem\u00e1s, la limpieza de la cach\u00e9 se realiza a trav\u00e9s de la <a href=\"https:\/\/kinsta.com\/es\/blog\/como-configurar-pipeline-ci-cd\/\">API de Kinsta<\/a> en lugar de mediante comandos del servidor, por lo que deber\u00e1s sustituir cualquier limpieza de cach\u00e9 basada en el servidor por una solicitud HTTP al endpoint de limpieza de cach\u00e9 de Kinsta. Puedes a\u00f1adir esta tarea a tu hook de finalizaci\u00f3n del despliegue una vez que hayas <a href=\"https:\/\/kinsta.com\/es\/blog\/kinsta-api-key\/\">configurado una clave API<\/a>:<\/p>\n<pre><code class=\"language-php\">- name: Clear Kinsta cache\nuri:\n  url: \"{{ site_env.wp_home }}\/kinsta-clear-cache-endpoint\/\"\n  method: GET\n<\/code><\/pre>\n<p>Cada sitio tiene un endpoint \u00fanico por seguridad, que puedes obtener del equipo de soporte de Kinsta.<\/p>\n<p>La compilaci\u00f3n de activos se ejecuta antes del Despliegue, no en el servidor. Tu m\u00e1quina de desarrollo local o <a href=\"https:\/\/kinsta.com\/es\/blog\/como-configurar-pipeline-ci-cd\/\">el pipeline de CI\/CD<\/a> ejecuta <code>npm run build<\/code> para compilar JavaScript y CSS en el directorio <code>public\/build<\/code>. Estos activos compilados se implementar\u00e1n junto con tus archivos PHP.<\/p>\n<p>La instalaci\u00f3n de dependencias de Composer se produce despu\u00e9s de la sincronizaci\u00f3n de archivos mediante SSH para ejecutar lo siguiente:<\/p>\n<pre><code class=\"language-bash\">cd \/www\/sitename\/public\/current\ncomposer install --no-dev --optimize-autoloader --no-interaction\n<\/code><\/pre>\n<p>La bandera <code>--no-dev<\/code> excluye las dependencias de desarrollo, como los frameworks de pruebas y las herramientas de depuraci\u00f3n. La bandera <code>--optimize-autoloader<\/code> construye mapas de clases para una carga autom\u00e1tica m\u00e1s r\u00e1pida, reduciendo la sobrecarga de localizar archivos de clases durante las peticiones.<\/p>\n<h2>A\u00f1adir el plugin Kinsta MU a Radicle<\/h2>\n<p>El plugin Kinsta MU permite el almacenamiento en cach\u00e9 de toda la p\u00e1gina, la integraci\u00f3n con CDN y la gesti\u00f3n del cach\u00e9 de tu sitio a trav\u00e9s de MyKinsta. Debido a la estructura de directorios no est\u00e1ndar de Radicle, necesitar\u00e1s establecer algunas constantes de configuraci\u00f3n espec\u00edficas, aunque puedes a\u00f1adir el <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/plugin-kinsta-mu\/\">plugin Kinsta MU<\/a> a Radicle a trav\u00e9s de Composer. Puedes a\u00f1adir estas constantes a tu archivo <code>bedrock\/application.php<\/code> despu\u00e9s de instalar el plugin:<\/p>\n<pre><code class=\"language-php\">\/**\n* Kinsta CDN fix for Radicle\/Bedrock structure\n*\/\n\ndefine('KINSTA_CDN_USERDIRS', 'app');\n\n\/**\n* Fix Kinsta MU Plugins URL path with Radicle\/Bedrock\n*\/\n\n$mu_plugins_url = Config::get('WP_CONTENT_URL') . '\/mu-plugins';\n\ndefine('KINSTAMU_CUSTOM_MUPLUGIN_URL', \"{$mu_plugins_url}\/kinsta-mu-plugins\");\n<\/code><\/pre>\n<p>La primera constante especifica tu directorio de subidas en la estructura <code>app<\/code> de Bedrock. La segunda corrige las rutas URL de los activos del plugin para que cargue correctamente los archivos JavaScript y CSS.<\/p>\n<p>Una vez que hayas verificado la instalaci\u00f3n del plugin, puedes probar la limpieza de la cach\u00e9 a trav\u00e9s del panel de control de MyKinsta para confirmar que el plugin se comunica correctamente con la infraestructura de Kinsta.<\/p>\n<h2>C\u00f3mo configurar despliegues automatizados<\/h2>\n<p><a href=\"https:\/\/kinsta.com\/es\/blog\/desplegar-de-forma-continua-wordpress-github-actions\/\">GitHub Actions<\/a> es una forma sencilla de automatizar los despliegues de Radicle en Kinsta. Por ejemplo, puedes crear un archivo de flujo de trabajo en tu repositorio en <code>.github\/workflows\/deploy.yml<\/code>. Este flujo de trabajo se activa al enviar a ramas espec\u00edficas, que construyen activos y despliegan c\u00f3digo en el entorno correspondiente.<\/p>\n<p>Los secretos SSH almacenados en tu repositorio de GitHub permitir\u00e1n conexiones seguras a los servidores de Kinsta. Para ello, a\u00f1ade secretos para tu clave privada SSH, host Kinsta, puerto SSH y nombre de usuario dentro de GitHub.<\/p>\n<p>Un script de despliegue coordina el proceso de sincronizaci\u00f3n de archivos. Este script suele utilizar <code>rsync<\/code> para transferir archivos de forma eficiente, env\u00eda s\u00f3lo los archivos modificados y mantiene los permisos adecuados. Sin embargo, debes excluir del despliegue archivos de desarrollo como <code>node_modules<\/code>, <code>.git<\/code>, y <code>.env<\/code> para mantener limpio tu entorno de producci\u00f3n.<\/p>\n<p>Una vez que la sincronizaci\u00f3n de archivos se ha realizado correctamente, pueden ejecutarse las tareas de limpieza y limpieza del cach\u00e9. El proceso implica que el script de despliegue haga una petici\u00f3n al <a href=\"https:\/\/api-docs.kinsta.com\/tag\/WordPress-Site-Tools#operation\/clearSiteCache\">endpoint de limpieza de cach\u00e9<\/a> de Kinsta, espere la confirmaci\u00f3n y ejecute los comandos de limpieza necesarios.<\/p>\n<h3>Configuraci\u00f3n de GitHub Actions<\/h3>\n<p>Puedes definir tu automatizaci\u00f3n del despliegue dentro de la ra\u00edz del repositorio creando un archivo <code>.github\/workflows\/deploy.yml<\/code>. Esto se encargar\u00e1 de la compilaci\u00f3n de activos, la instalaci\u00f3n de dependencias y la sincronizaci\u00f3n de archivos con Kinsta.<\/p>\n<p>Aqu\u00ed, comienza con disparadores espec\u00edficos de rama que desplieguen la rama staging a tu entorno staging y la rama <code>main<\/code> a producci\u00f3n:<\/p>\n<pre><code class=\"language-bash\">name: Deploy to Kinsta\non:\npush:\nbranches:\n  - staging\n  - main\njobs:\ndeploy:\nruns-on: ubuntu-latest\nsteps:\n  - name: Checkout code\n    uses: actions\/checkout@v3\n  - name: Setup Node.js\n    uses: actions\/setup-node@v3\n    with:\n      node-version: '22'\n  - name: Install dependencies and build assets\n    run: |\n      npm ci\n      npm run build\n<\/code><\/pre>\n<p>Las matrix strategies (estrategias de matriz) permiten gestionar varios entornos sin duplicar el c\u00f3digo del flujo de trabajo. Las variables espec\u00edficas de cada entorno que a\u00f1adas pueden cambiar seg\u00fan la rama que haya activado el flujo:<\/p>\n<pre><code class=\"language-php\">strategy:\n  matrix:\n    include:\n      - branch: staging\n        ssh_host: ${{ secrets.KINSTA_STAGING_HOST }}\n        ssh_port: ${{ secrets.KINSTA_STAGING_PORT }}\n        ssh_user: ${{ secrets.KINSTA_STAGING_USER }}\n        deploy_path: \/www\/sitename_1\/public\n      - branch: main\n        ssh_host: ${{ secrets.KINSTA_PRODUCTION_HOST }}\n        ssh_port: ${{ secrets.KINSTA_PRODUCTION_PORT }}\n        ssh_user: ${{ secrets.KINSTA_PRODUCTION_USER }}\n        deploy_path: \/www\/sitename_2\/public\n<\/code><\/pre>\n<p>Los pasos de compilaci\u00f3n de activos crean archivos JavaScript y CSS optimizados antes del despliegue. El flujo de trabajo utiliza <code>npm ci<\/code> en lugar de <code>npm install<\/code> para construcciones reproducibles basadas en tu archivo <code>package-lock.json<\/code>. El comando <code>npm run build<\/code> ejecuta tu script de compilaci\u00f3n de producci\u00f3n definido en <code>package.json<\/code>, normalmente ejecutando Vite u otro bundler para compilar y minificar activos.<\/p>\n<p>En este punto, puedes a\u00f1adir la instalaci\u00f3n de Composer despu\u00e9s de los pasos de Node.js:<\/p>\n<pre><code class=\"language-php\">- name: Setup PHP\n  uses: server\/setup-php@v2\n  with:\n    php-version: '8.3'\n\n  - name: Install Composer dependencies\n    run: composer install --no-dev --optimize-autoloader --no-interaction\n<\/code><\/pre>\n<p>El flujo de trabajo tiene ahora los activos compilados y las dependencias instaladas, listos para su despliegue en Kinsta.<\/p>\n<h3>Detalles del script de despliegue<\/h3>\n<p>La sincronizaci\u00f3n de archivos a trav\u00e9s de <code>rsync<\/code> s\u00f3lo transfiere los archivos modificados, minimizando el tiempo de despliegue. Para solucionar esto, a\u00f1ade este paso a tu flujo de trabajo de <a href=\"https:\/\/kinsta.com\/es\/blog\/desplegar-de-forma-continua-wordpress-github-actions\/\">GitHub Actions<\/a> despu\u00e9s de compilar tus activos:<\/p>\n<pre><code class=\"language-bash\">- name: Deploy to Kinsta via rsync\n  env:\n    SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}\n  run: |\n    mkdir -p ~\/.ssh\n    echo \"$SSH_PRIVATE_KEY\" &gt; ~\/.ssh\/deploy_key\n    chmod 600 ~\/.ssh\/deploy_key\n    rsync -avz --delete \n      --exclude='.git' \n      --exclude='node_modules' \n      --exclude='.env' \n      --exclude='trellis' \n      -e \"ssh -i ~\/.ssh\/deploy_key -p ${{ matrix.ssh_port }} -o StrictHostKeyChecking=no\" \n      .\/ ${{ matrix.ssh_user }}@${{ matrix.ssh_host }}:${{ matrix.deploy_path }}\/releases\/$(date +%Y%m%d%H%M%S)\/<\/code><\/pre>\n<p>Las banderas rsync controlan el comportamiento de la transferencia:<\/p>\n<ul>\n<li><code>-a<\/code> activa el modo de archivo preservando los permisos y las marcas de tiempo.<\/li>\n<li><code>-v<\/code> proporciona una salida detallada para la depuraci\u00f3n.<\/li>\n<li><code>-z<\/code> comprime los datos durante la transferencia.<\/li>\n<\/ul>\n<p>La bandera <code>--delete<\/code> elimina del servidor los archivos que ya no existen en tu repositorio, lo que mantiene limpio tu despliegue.<\/p>\n<p>Los patrones de exclusi\u00f3n evitan la transferencia de archivos innecesarios. Adem\u00e1s, los metadatos Git, las dependencias de desarrollo, los archivos de entorno y las herramientas de despliegue permanecen fuera del servidor de producci\u00f3n. La estructura de directorios de lanzamiento crea directorios con fecha y hora para cada despliegue, para permitir una r\u00e1pida reversi\u00f3n cambiando los enlaces simb\u00f3licos.<\/p>\n<p>La gesti\u00f3n de enlaces simb\u00f3licos conecta tus datos persistentes a cada nueva versi\u00f3n. Tras sincronizar los archivos, puedes acceder por SSH al servidor y crear enlaces simb\u00f3licos:<\/p>\n<pre><code class=\"language-bash\">- name: Create symlinks and update current\n  run: |\n    ssh -i ~\/.ssh\/deploy_key -p ${{ matrix.ssh_port }} -o StrictHostKeyChecking=no \n      ${{ matrix.ssh_user }}@${{ matrix.ssh_host }} &lt;&lt; 'EOF'\n    cd ${{ matrix.deploy_path }}\n    # Link shared .env file\n    ln -nfs ${{ matrix.deploy_path }}\/shared\/.env \n      ${{ matrix.deploy_path }}\/releases\/$(ls -t releases | head -1)\/.env\n    # Link uploads directory\n    ln -nfs ${{ matrix.deploy_path }}\/shared\/public\/content\/uploads \n      ${{ matrix.deploy_path }}\/releases\/$(ls -t releases | head -1)\/public\/content\/uploads\n    # Update current symlink atomically\n    ln -nfs ${{ matrix.deploy_path }}\/releases\/$(ls -t releases | head -1) \n      ${{ matrix.deploy_path }}\/current\n    EOF<\/code><\/pre>\n<p>El archivo <code>.env<\/code> contiene la configuraci\u00f3n espec\u00edfica de cada entorno y se mantiene entre despliegues.<br \/>\nLos archivos subidos que se almacenan fuera del directorio de la versi\u00f3n evitan la p\u00e9rdida de contenido multimedia cuando se eliminan lanzamientos antiguos. La actualizaci\u00f3n at\u00f3mica del symlink <code>(ln -nfs)<\/code> garantiza cero interrupciones, ya que las solicitudes nunca apuntan a una versi\u00f3n a medio desplegar.<\/p>\n<p>La limpieza elimina las versiones antiguas despu\u00e9s de un despliegue correcto para conservar s\u00f3lo las cinco m\u00e1s recientes:<\/p>\n<pre><code class=\"language-bash\">- name: Clean up old releases\n  run: |\n    ssh -i ~\/.ssh\/deploy_key -p ${{ matrix.ssh_port }} -o StrictHostKeyChecking=no \n      ${{ matrix.ssh_user }}@${{ matrix.ssh_host }} &lt;&lt; 'EOF'\n    cd ${{ matrix.deploy_path }}\/releases\n    ls -t | tail -n +6 | xargs rm -rf\n    EOF<\/code><\/pre>\n<p>Esta estrategia de limpieza logra un equilibrio entre la utilizaci\u00f3n del espacio en disco y la capacidad de reversi\u00f3n. Cinco versiones proporcionan varios puntos de reversi\u00f3n a la vez que evitan un crecimiento indefinido del almacenamiento.<\/p>\n<h2>Resumen<\/h2>\n<p>Radicle transforma el desarrollo de WordPress al integrar la estructura mejorada de Bedrock, el moderno flujo de trabajo de temas de Sage y las funcionalidades de Laravel de Acorn en un solo stack.<\/p>\n<p>El despliegue en Kinsta requiere una configuraci\u00f3n m\u00e1s all\u00e1 del alojamiento para WordPress est\u00e1ndar, pero ofrece ventajas en materia de seguridad, facilidad de mantenimiento y experiencia de desarrollo que justifican el esfuerzo de configuraci\u00f3n.<\/p>\n<p>Cuando est\u00e9s listo para desplegar aplicaciones modernas de WordPress con confianza, <a href=\"https:\/\/kinsta.com\/es\/wordpress-hosting\/\">explora el alojamiento administrado para WordPress de Kinsta<\/a> y experimenta una infraestructura de alojamiento compatible con el flujo de trabajo de desarrollo personalizado que desees.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El desarrollo moderno de WordPress ha evolucionado m\u00e1s all\u00e1 de las configuraciones manuales y los flujos de trabajo de despliegue inconsistentes. Radicle combina Roots y otras &#8230;<\/p>\n","protected":false},"author":287,"featured_media":81065,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1345],"class_list":["post-81064","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-desarrollo-wordpress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Desarrollo de WordPress con Radicle: Despliegue en Kinsta<\/title>\n<meta name=\"description\" content=\"El desarrollo de WordPress necesita mejores herramientas y flujos de trabajo. Te mostramos c\u00f3mo configurar y ejecutar el Despliegue de Radicle en Kinsta.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Desarrollo de WordPress con Radicle: Despliegue en Kinsta\" \/>\n<meta property=\"og:description\" content=\"El desarrollo de WordPress necesita mejores herramientas y flujos de trabajo. Te mostramos c\u00f3mo configurar y ejecutar el Despliegue de Radicle en Kinsta.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-20T12:54:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-24T14:38:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1470\" \/>\n\t<meta property=\"og:image:height\" content=\"735\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"El desarrollo de WordPress necesita mejores herramientas y flujos de trabajo. Te mostramos c\u00f3mo configurar y ejecutar el Despliegue de Radicle en Kinsta.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Desarrollo de WordPress con Radicle: Despliegue en Kinsta\",\"datePublished\":\"2025-11-20T12:54:22+00:00\",\"dateModified\":\"2025-11-24T14:38:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/\"},\"wordCount\":2465,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png\",\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/\",\"name\":\"Desarrollo de WordPress con Radicle: Despliegue en Kinsta\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png\",\"datePublished\":\"2025-11-20T12:54:22+00:00\",\"dateModified\":\"2025-11-24T14:38:42+00:00\",\"description\":\"El desarrollo de WordPress necesita mejores herramientas y flujos de trabajo. Te mostramos c\u00f3mo configurar y ejecutar el Despliegue de Radicle en Kinsta.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png\",\"width\":1470,\"height\":735},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Desarrollo WordPress\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/desarrollo-wordpress\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Desarrollo de WordPress con Radicle: Despliegue en Kinsta\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Desarrollo de WordPress con Radicle: Despliegue en Kinsta","description":"El desarrollo de WordPress necesita mejores herramientas y flujos de trabajo. Te mostramos c\u00f3mo configurar y ejecutar el Despliegue de Radicle en Kinsta.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/","og_locale":"es_ES","og_type":"article","og_title":"Desarrollo de WordPress con Radicle: Despliegue en Kinsta","og_description":"El desarrollo de WordPress necesita mejores herramientas y flujos de trabajo. Te mostramos c\u00f3mo configurar y ejecutar el Despliegue de Radicle en Kinsta.","og_url":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2025-11-20T12:54:22+00:00","article_modified_time":"2025-11-24T14:38:42+00:00","og_image":[{"width":1470,"height":735,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png","type":"image\/png"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"El desarrollo de WordPress necesita mejores herramientas y flujos de trabajo. Te mostramos c\u00f3mo configurar y ejecutar el Despliegue de Radicle en Kinsta.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Joel Olawanle","Tiempo de lectura":"15 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Desarrollo de WordPress con Radicle: Despliegue en Kinsta","datePublished":"2025-11-20T12:54:22+00:00","dateModified":"2025-11-24T14:38:42+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/"},"wordCount":2465,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png","inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/","url":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/","name":"Desarrollo de WordPress con Radicle: Despliegue en Kinsta","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png","datePublished":"2025-11-20T12:54:22+00:00","dateModified":"2025-11-24T14:38:42+00:00","description":"El desarrollo de WordPress necesita mejores herramientas y flujos de trabajo. Te mostramos c\u00f3mo configurar y ejecutar el Despliegue de Radicle en Kinsta.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2025\/11\/radicle.png","width":1470,"height":735},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/desarrollo-wordpress-radicle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"Desarrollo WordPress","item":"https:\/\/kinsta.com\/es\/secciones\/desarrollo-wordpress\/"},{"@type":"ListItem","position":3,"name":"Desarrollo de WordPress con Radicle: Despliegue en Kinsta"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/es\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/81064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=81064"}],"version-history":[{"count":10,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/81064\/revisions"}],"predecessor-version":[{"id":81095,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/81064\/revisions\/81095"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/81064\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/81064\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/81064\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/81064\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/81064\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/81064\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/81064\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/81064\/translations\/es"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/81064\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/81065"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=81064"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=81064"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=81064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}