{"id":73684,"date":"2025-11-20T10:04:09","date_gmt":"2025-11-20T13:04:09","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=73684&#038;preview=true&#038;preview_id=73684"},"modified":"2025-11-27T10:51:08","modified_gmt":"2025-11-27T13:51:08","slug":"desenvolvimento-wordpress-radicle","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/","title":{"rendered":"Desenvolvimento com WordPress usando Radicle: implantando na Kinsta"},"content":{"rendered":"<p>O desenvolvimento moderno com WordPress evoluiu al\u00e9m das configura\u00e7\u00f5es manuais e fluxos de implanta\u00e7\u00e3o inconsistentes. O Radicle combina o <a href=\"https:\/\/roots.io\/\">Roots<\/a> e outras ferramentas de desenvolvimento para 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> e <a href=\"https:\/\/roots.io\/acorn\/\" target=\"_blank\" rel=\"noopener noreferrer\">Acorn<\/a>, em uma \u00fanica pilha.<\/p>\n<p>Essa integra\u00e7\u00e3o significa que voc\u00ea pode ter a experi\u00eancia de desenvolvimento do Laravel diretamente no WordPress.<\/p>\n<p>Al\u00e9m disso, a configura\u00e7\u00e3o do Radicle na Kinsta oferece a voc\u00ea um ambiente de hospedagem compat\u00edvel com os requisitos t\u00e9cnicos que essa pilha exige. Voc\u00ea obt\u00e9m <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/conectar-via-ssh\/\">acesso por SSH<\/a>, <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/gerenciamento-de-site\/wp-cli-wordpress\/\">integra\u00e7\u00e3o com WP-CLI<\/a> e a capacidade de <a href=\"https:\/\/kinsta.com\/pt\/changelog\/webroot-personalizados\/\">configurar seu diret\u00f3rio raiz<\/a>.<\/p>\n<p>Este guia descreve o processo de configura\u00e7\u00e3o e as etapas de implanta\u00e7\u00e3o necess\u00e1rias para executar o Radicle na infraestrutura da 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 e seus componentes<\/h2>\n<p>O <a href=\"https:\/\/roots.io\/radicle\/\" target=\"_blank\" rel=\"noopener noreferrer\">Radicle<\/a> combina tr\u00eas projetos Roots distintos em um ambiente de desenvolvimento integrado:<\/p>\n<ul>\n<li><strong>O Bedrock<\/strong> fornece a base com sua estrutura de pastas aprimorada e o gerenciamento de depend\u00eancias baseado no Composer.<\/li>\n<li><strong>O Sage<\/strong> lida com o desenvolvimento de temas com a integra\u00e7\u00e3o do <a href=\"https:\/\/kinsta.com\/pt\/blog\/tailwind-css\/\">Tailwind CSS<\/a> e o <a href=\"https:\/\/kinsta.com\/pt\/blog\/vite-vs-webpack\/\">Vite<\/a> para a cria\u00e7\u00e3o de ativos.<\/li>\n<li><strong>O Acorn<\/strong> faz a ponte entre o WordPress e o <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-laravel\/\">Laravel<\/a>, trazendo <a href=\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/\">modelos Blade<\/a>, migra\u00e7\u00f5es, roteamento e muito mais para seus projetos WordPress.<\/li>\n<\/ul>\n<p>Esse tipo de ambiente de desenvolvimento permite que voc\u00ea trabalhe diretamente a partir da raiz do projeto, em vez de dentro dos diret\u00f3rios t\u00edpicos de temas. Seus templates ficam em <code>resources\/views\/<\/code> na raiz do projeto, enquanto a configura\u00e7\u00e3o ocorre por meio de arquivos espec\u00edficos do ambiente no diret\u00f3rio <code>bedrock<\/code>.<\/p>\n<p>O <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Composer<\/a> gerencia o n\u00facleo, os plugins e as depend\u00eancias personalizadas do WordPress por meio de um \u00fanico arquivo <code>composer.json<\/code>. A pilha requer PHP 8.3 ou superior, juntamente com extens\u00f5es espec\u00edficas. Voc\u00ea tamb\u00e9m precisa do Composer para o gerenciamento de depend\u00eancias e do WP-CLI para opera\u00e7\u00f5es de linha de comando.<\/p>\n<h3>Radicle vs WordPress tradicional<\/h3>\n<p>As instala\u00e7\u00f5es padr\u00e3o do WordPress (ou seja, colocar tudo dentro do diret\u00f3rio <code>wp-content<\/code> ) podem complicar o controle de vers\u00e3o e dificultar a manuten\u00e7\u00e3o de instala\u00e7\u00f5es consistentes em diferentes ambientes.<\/p>\n<p>No entanto, o Radicle reestrutura isso para que voc\u00ea possa controlar a vers\u00e3o do c\u00f3digo do aplicativo sem rastrear os arquivos principais do WordPress ou a m\u00eddia carregada:<\/p>\n<ul>\n<li>O n\u00facleo do WordPress fica no diret\u00f3rio <code>public\/wp<\/code>, separado do c\u00f3digo do aplicativo.<\/li>\n<li>O diret\u00f3rio <code>public\/content<\/code> substitui o <code>wp-content<\/code>e o c\u00f3digo do seu tema personalizado fica na raiz do projeto.<\/li>\n<\/ul>\n<p>A configura\u00e7\u00e3o no estilo Laravel usa um arquivo <code>.env<\/code> em vez de incorporar credenciais do banco de dados e chaves de seguran\u00e7a nos arquivos de configura\u00e7\u00e3o. Voc\u00ea <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-sao-variaveis-de-ambiente\/\">define configura\u00e7\u00f5es diferentes<\/a> para os ambientes de desenvolvimento, teste e produ\u00e7\u00e3o por meio de arquivos de configura\u00e7\u00e3o separados em <code>bedrock\/environments\/<\/code>.<\/p>\n<p>Sua estrat\u00e9gia de controle de vers\u00e3o \u00e9 beneficiada porque voc\u00ea rastreia apenas o c\u00f3digo e a configura\u00e7\u00e3o do aplicativo. As atualiza\u00e7\u00f5es do n\u00facleo do WordPress ocorrem por meio do Composer, os plugins servem como depend\u00eancias e as altera\u00e7\u00f5es de tema s\u00e3o armazenadas em seu reposit\u00f3rio.<\/p>\n<h2>Configurando o Radicle para a Kinsta<\/h2>\n<p>Ao implantar na Kinsta, voc\u00ea precisa de <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/conectar-via-ssh\/\">autentica\u00e7\u00e3o de chave SSH<\/a>, que est\u00e1 dispon\u00edvel no painel MyKinsta.<\/p>\n<p>Localize seus detalhes de acesso SFTP\/SSH na se\u00e7\u00e3o <strong>Informa\u00e7\u00f5es<\/strong>\u00a0do site e adicione sua chave SSH p\u00fablica, se voc\u00ea ainda n\u00e3o o fez.<\/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=\"A p\u00e1gina Info do MyKinsta mostrando a se\u00e7\u00e3o Primary SFTP and SSH user, com op\u00e7\u00f5es para definir os m\u00e9todos corretos de autentica\u00e7\u00e3o.\" width=\"1200\" height=\"638\"><figcaption id=\"caption-attachment-200394\" class=\"wp-caption-text\">As informa\u00e7\u00f5es de SSH\/SFTP no MyKinsta.<\/figcaption><\/figure>\n<p>A infraestrutura da Kinsta est\u00e1 alinhada com os requisitos t\u00e9cnicos da Radicle. Ela executa o <a href=\"https:\/\/kinsta.com\/pt\/blog\/php-8-3\/\">PHP 8.3<\/a>, inclui o Composer para gerenciamento de depend\u00eancias e tem o <a href=\"https:\/\/kinsta.com\/pt\/blog\/wp-cli-v2\/\">WP-CLI<\/a> pr\u00e9-instalado, para que voc\u00ea possa gerenciar o WordPress diretamente da linha de comando.<\/p>\n<p>Diferentemente de uma configura\u00e7\u00e3o tradicional do WordPress, a Radicle usa uma estrutura de diret\u00f3rios baseada em vers\u00f5es. Cada implanta\u00e7\u00e3o cria uma pasta de vers\u00e3o com registro de data e hora, e um link simb\u00f3lico <code data-start=\"2609\" data-end=\"2618\">current<\/code> aponta para a vers\u00e3o ativa. O diret\u00f3rio raiz da web para seu aplicativo deve ser definido como <code>public\/current\/public<\/code>.<\/p>\n<p>Em seguida, configure suas vari\u00e1veis de ambiente. Copie o arquivo <code data-start=\"2808\" data-end=\"2822\">.env.example<\/code> na raiz do projeto Radicle e renomeie-o para <code data-start=\"2874\" data-end=\"2880\">.env<\/code>. Em seguida, adicione os <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/gerenciamento-de-banco-de-dados\/acesso-ao-banco-de-dados-wordpress\/\">detalhes do banco de dados<\/a> e as configura\u00e7\u00f5es de ambiente:<\/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>O Radicle instala o n\u00facleo do WordPress em um subdiret\u00f3rio <code data-start=\"3213\" data-end=\"3218\">\/wp<\/code>. Isso mant\u00e9m os arquivos principais separados do c\u00f3digo do aplicativo personalizado, oferecendo suporte a uma estrutura mais limpa e com controle de vers\u00e3o.<\/p>\n<h3>Configura\u00e7\u00e3o do ambiente de teste<\/h3>\n<p data-start=\"2099\" data-end=\"2431\">O diret\u00f3rio de configura\u00e7\u00e3o fica na raiz do seu projeto Radicle, junto com as pastas <code data-start=\"2188\" data-end=\"2196\">public<\/code> e <code data-start=\"2201\" data-end=\"2212\">resources<\/code>. Abra <code data-start=\"2227\" data-end=\"2261\">bedrock\/environments\/staging.php<\/code> para definir configura\u00e7\u00f5es espec\u00edficas para o ambiente de teste. Esse arquivo substitui os valores de <code data-start=\"2351\" data-end=\"2376\">bedrock\/application.php<\/code> sempre que o arquivo <code data-start=\"2390\" data-end=\"2396\">.env<\/code> define <code data-start=\"2407\" data-end=\"2415\">WP_ENV<\/code> para <code data-start=\"2419\" data-end=\"2428\">staging<\/code>.<\/p>\n<p data-start=\"2436\" data-end=\"2530\">Defina a URL do seu <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/ambiente-de-teste\/\">site de teste<\/a> adicionando as seguintes constantes na 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>A URL do ambiente de teste segue o padr\u00e3o exibido na se\u00e7\u00e3o <strong>Ambientes<\/strong> do seu site ao selecionar o ambiente de teste.<\/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=\"O painel MyKinsta mostrando o menu suspenso de ambientes do site, exibindo os ambientes live e staging dispon\u00edveis.\" width=\"1200\" height=\"423\"><figcaption id=\"caption-attachment-200395\" class=\"wp-caption-text\">Encontrando a URL do ambiente de teste no MyKinsta.<\/figcaption><\/figure>\n<p>Seu caminho de implanta\u00e7\u00e3o determina onde os arquivos ficam no servidor Kinsta. No MyKinsta, observe o caminho em <strong>Detalhes do ambiente<\/strong>. Normalmente, esse caminho \u00e9 <code>\/www\/sitename\/public<\/code> e representa seu destino de implanta\u00e7\u00e3o. Seu script de implanta\u00e7\u00e3o sincroniza os arquivos aqui, criando uma estrutura como <code>\/www\/sitename\/public\/releases\/timestamp<\/code> para cada implanta\u00e7\u00e3o, com o link simb\u00f3lico <code>\/www\/sitename\/public\/current<\/code> apontando por symlink para a release ativa.<\/p>\n<p>Tamb\u00e9m \u00e9 uma boa pr\u00e1tica habilitar o <a href=\"https:\/\/kinsta.com\/pt\/blog\/wordpress-debug\/\">modo de depura\u00e7\u00e3o<\/a> para o ambiente de teste em <code>bedrock\/environments\/staging.php<\/code>. Al\u00e9m disso, copie e defina as credenciais do banco de dados para o ambiente de teste no arquivo local <code>.env<\/code> (que n\u00e3o deve ser confirmado no controle de vers\u00e3o). Como alternativa, configure-as como vari\u00e1veis de ambiente em seu servidor de implanta\u00e7\u00e3o. A Kinsta gera credenciais exclusivas para cada ambiente.<\/p>\n<h3>Configura\u00e7\u00e3o de produ\u00e7\u00e3o<\/h3>\n<p>Quando voc\u00ea mudar para o ambiente de produ\u00e7\u00e3o no menu suspenso do painel MyKinsta, o processo de configura\u00e7\u00e3o espelhar\u00e1 o ambiente de teste, mas usar\u00e1 valores espec\u00edficos de produ\u00e7\u00e3o e configura\u00e7\u00f5es de seguran\u00e7a mais r\u00edgidas.<\/p>\n<p>Para fazer isso, abra <code>bedrock\/environments\/production.php<\/code> no diret\u00f3rio <code>bedrock<\/code> da raiz do seu projeto e altere a URL de produ\u00e7\u00e3o:<\/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>O tratamento de erros em produ\u00e7\u00e3o difere do ambiente de teste. A principal diferen\u00e7a \u00e9 desabilitar a exibi\u00e7\u00e3o de erros enquanto mant\u00e9m o registro de logs:<\/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>Al\u00e9m disso, copie as credenciais do banco de dados de produ\u00e7\u00e3o na se\u00e7\u00e3o <strong>Acesso ao banco de dados<\/strong> do MyKinsta enquanto estiver no ambiente de produ\u00e7\u00e3o. Essas credenciais normalmente s\u00e3o diferentes das do ambiente de teste. No entanto, os caminhos de implanta\u00e7\u00e3o em produ\u00e7\u00e3o seguem o mesmo padr\u00e3o do ambiente de teste, mas apontam para o diret\u00f3rio do ambiente de produ\u00e7\u00e3o. O caminho exibido em <strong>Detalhes do<\/strong> <strong>ambiente<\/strong> no MyKinsta provavelmente ter\u00e1 uma URL diferente, embora semelhante. Seu script de implanta\u00e7\u00e3o usar\u00e1 esse caminho como destino para as releases de produ\u00e7\u00e3o.<\/p>\n<h3>Modificando tarefas de implanta\u00e7\u00e3o<\/h3>\n<p>As configura\u00e7\u00f5es padr\u00e3o de implanta\u00e7\u00e3o do Radicle assumem um controle de servidor que a Kinsta n\u00e3o oferece em hospedagem gerenciada. Por isso, voc\u00ea precisa remover quaisquer tarefas de implanta\u00e7\u00e3o que tentem gerenciar servi\u00e7os do servidor.<\/p>\n<p>Se voc\u00ea estiver usando o <a href=\"https:\/\/roots.io\/trellis\/\">Trellis<\/a> (a ferramenta de implanta\u00e7\u00e3o padr\u00e3o da Radicle), edite <code>trellis\/roles\/deploy\/hooks\/finalize-after.yml<\/code> e exclua completamente a tarefa <code>Reload php-fpm<\/code>. A Kinsta gerencia reinicializa\u00e7\u00f5es do PHP-FPM automaticamente ao detectar altera\u00e7\u00f5es nos arquivos.<\/p>\n<p>Al\u00e9m disso, a limpeza do cache ocorre por meio da <a href=\"https:\/\/kinsta.com\/pt\/blog\/como-configurar-pipeline-ci-cd\/\">API da Kinsta<\/a> e n\u00e3o por comandos no servidor. Portanto, substitua qualquer limpeza de cache baseada no servidor por uma requisi\u00e7\u00e3o HTTP ao endpoint de limpeza da Kinsta. Voc\u00ea pode adicionar esta tarefa ao hook de finaliza\u00e7\u00e3o da implanta\u00e7\u00e3o depois de <a href=\"https:\/\/kinsta.com\/pt\/blog\/chave-api-kinsta\/\">configurar uma chave 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 site tem um endpoint exclusivo para seguran\u00e7a, que voc\u00ea pode obter com a equipe de suporte da Kinsta.<\/p>\n<p>A build de assets \u00e9 executada antes da implanta\u00e7\u00e3o, n\u00e3o no servidor. Sua m\u00e1quina de desenvolvimento local ou <a href=\"https:\/\/kinsta.com\/pt\/blog\/como-configurar-pipeline-ci-cd\/\">pipeline de CI\/CD<\/a> executa <code>npm run build<\/code> para compilar JavaScript e CSS no diret\u00f3rio <code>public\/build<\/code>. Esses ativos compilados ser\u00e3o implantados junto com seus arquivos PHP.<\/p>\n<p>A instala\u00e7\u00e3o das depend\u00eancias do Composer ocorre ap\u00f3s a sincroniza\u00e7\u00e3o de arquivos usando SSH para executar o seguinte:<\/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>A flag <code>--no-dev<\/code> exclui depend\u00eancias de desenvolvimento, como estruturas de teste e ferramentas de depura\u00e7\u00e3o. O sinalizador <code>--optimize-autoloader<\/code> cria mapas de classe para carregamento autom\u00e1tico mais r\u00e1pido, reduzindo a sobrecarga de localiza\u00e7\u00e3o de arquivos de classe durante as solicita\u00e7\u00f5es.<\/p>\n<h2>Adicionando o plugin Kinsta MU ao Radicle<\/h2>\n<p>O plugin Kinsta MU habilita cache de p\u00e1gina completa, integra\u00e7\u00e3o com CDN e gerenciamento de cache no MyKinsta. Como o Radicle utiliza uma estrutura de diret\u00f3rios n\u00e3o padr\u00e3o, voc\u00ea precisar\u00e1 definir constantes espec\u00edficas, embora o <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/plugin-mu-kinsta\/\">plugin Kinsta MU<\/a> possa ser adicionado ao Radicle via Composer. As constantes devem ser adicionadas em <code>bedrock\/application.php<\/code> ap\u00f3s instalar o 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>A primeira constante especifica o diret\u00f3rio de uploads na estrutura <code>app<\/code> do Bedrock. A segunda corrige os caminhos de URL dos assets do plugin, garantindo que os arquivos JS e CSS sejam carregados corretamente.<\/p>\n<p>Depois de confirmar a instala\u00e7\u00e3o, voc\u00ea pode testar a limpeza de cache pelo MyKinsta para verificar se o plugin est\u00e1 se comunicando corretamente com a infraestrutura da Kinsta.<\/p>\n<h2>Como configurar implanta\u00e7\u00f5es automatizadas<\/h2>\n<p>O <a href=\"https:\/\/kinsta.com\/pt\/blog\/implantacao-continua-wordpress-github-actions\/\">GitHub Actions<\/a> \u00e9 uma maneira direta de automatizar as implementa\u00e7\u00f5es do Radicle na Kinsta. Por exemplo, voc\u00ea pode criar um arquivo de fluxo de trabalho em seu reposit\u00f3rio em <code>.github\/workflows\/deploy.yml<\/code>. Esse fluxo de trabalho \u00e9 acionado quando voc\u00ea faz push para branches espec\u00edficos, que criam ativos e implantam o c\u00f3digo no ambiente correspondente.<\/p>\n<p>Os segredos SSH armazenados em seu reposit\u00f3rio GitHub permitir\u00e3o conex\u00f5es seguras com os servidores da Kinsta. Para isso, adicione segredos para sua chave privada SSH, host Kinsta, porta SSH e nome de usu\u00e1rio no GitHub.<\/p>\n<p>Um script de implanta\u00e7\u00e3o orquestra o processo de sincroniza\u00e7\u00e3o de arquivos. Normalmente, esse script usa <code>rsync<\/code> para transferir arquivos de forma eficiente, envia apenas arquivos alterados e mant\u00e9m as permiss\u00f5es adequadas. No entanto, voc\u00ea deve excluir arquivos de desenvolvimento como <code>node_modules<\/code>, <code>.git<\/code> e <code>.env<\/code> da implanta\u00e7\u00e3o para manter seu ambiente de produ\u00e7\u00e3o limpo.<\/p>\n<p>Quando voc\u00ea tiver uma sincroniza\u00e7\u00e3o de arquivos bem-sucedida, poder\u00e1 executar as tarefas de limpeza do cache. O processo envolve o script de implanta\u00e7\u00e3o que faz uma solicita\u00e7\u00e3o ao <a href=\"https:\/\/api-docs.kinsta.com\/tag\/WordPress-Site-Tools#operation\/clearSiteCache\">endpoint de limpeza de cache<\/a> da Kinsta, aguardando confirma\u00e7\u00e3o e executando eventuais comandos adicionais.<\/p>\n<h3>Configura\u00e7\u00e3o do GitHub Actions<\/h3>\n<p>Voc\u00ea pode definir toda a automa\u00e7\u00e3o de implanta\u00e7\u00e3o criando um arquivo <code>.github\/workflows\/deploy.yml<\/code>. Isso gerencia a build de assets, instala\u00e7\u00e3o de depend\u00eancias e sincroniza\u00e7\u00e3o de arquivos com a Kinsta.<\/p>\n<p>O workflow come\u00e7a com triggers baseados na branch, enviando a branch <code>staging<\/code> para o ambiente de teste e a <code>main<\/code> para o ambiente de produ\u00e7\u00e3o:<\/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>As estrat\u00e9gias de matriz lidam com m\u00faltiplos ambientes sem duplicar o c\u00f3digo do workflow. As vari\u00e1veis espec\u00edficas de ambiente que voc\u00ea adiciona podem mudar com base na branch que acionou o workflow.<\/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>As etapas de build de assets criam arquivos JavaScript e CSS otimizados antes da implanta\u00e7\u00e3o. O fluxo de trabalho usa <code>npm ci<\/code> em vez de <code>npm install<\/code> para obter compila\u00e7\u00f5es reproduz\u00edveis com base em seu arquivo <code>package-lock.json<\/code>. O comando <code>npm run build<\/code> executa o script de build de produ\u00e7\u00e3o definido em <code>package.json<\/code>, normalmente executando o Vite ou outro bundler para compilar e minificar assets.<\/p>\n<p>Neste ponto, voc\u00ea pode adicionar a instala\u00e7\u00e3o do Composer ap\u00f3s as etapas 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>O fluxo de trabalho agora tem ativos compilados e depend\u00eancias instaladas prontas para serem implantadas na Kinsta.<\/p>\n<h3>Detalhes do script de implanta\u00e7\u00e3o<\/h3>\n<p>A sincroniza\u00e7\u00e3o de arquivos via <code>rsync<\/code> transfere apenas os arquivos alterados, minimizando o tempo de implanta\u00e7\u00e3o. Para resolver isso, adicione esta etapa ao seu fluxo de trabalho do <a href=\"https:\/\/kinsta.com\/pt\/blog\/implantacao-continua-wordpress-github-actions\/\">GitHub Actions<\/a> depois de criar seus ativos:<\/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>As flags do rsync controlam o comportamento da transfer\u00eancia:<\/p>\n<ul>\n<li><code>-a<\/code> habilita o modo arquivo que preserva permiss\u00f5es e timestamps.<\/li>\n<li><code>-v<\/code> fornece sa\u00edda detalhada para depura\u00e7\u00e3o.<\/li>\n<li><code>-z<\/code> comprime dados durante a transfer\u00eancia.<\/li>\n<\/ul>\n<p>O sinalizador <code>--delete<\/code> remove arquivos do servidor que n\u00e3o existem mais no seu reposit\u00f3rio, o que mant\u00e9m a implanta\u00e7\u00e3o limpa.<\/p>\n<p>Os padr\u00f5es de exclus\u00e3o evitam a transfer\u00eancia de arquivos desnecess\u00e1rios. Al\u00e9m disso, os metadados do Git, as depend\u00eancias de desenvolvimento, os arquivos de ambiente e as ferramentas de implanta\u00e7\u00e3o ficam fora do servidor de produ\u00e7\u00e3o. A estrutura de diret\u00f3rio da vers\u00e3o cria diret\u00f3rios com registro de data e hora para cada implanta\u00e7\u00e3o, permitindo revers\u00f5es r\u00e1pidas por meio da altera\u00e7\u00e3o de links simb\u00f3licos.<\/p>\n<p>O gerenciamento de links simb\u00f3licos conecta seus dados persistentes a cada nova vers\u00e3o. Depois de sincronizar os arquivos, voc\u00ea pode entrar no servidor por SSH e criar links 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>O arquivo <code>.env<\/code> cont\u00e9m a configura\u00e7\u00e3o espec\u00edfica do ambiente que persiste entre as implementa\u00e7\u00f5es. Uploads armazenados fora do diret\u00f3rio de release evitam perda de arquivos de m\u00eddia quando releases antigas s\u00e3o removidas. A atualiza\u00e7\u00e3o at\u00f4mica do symlink, feita com (<code>ln -nfs<\/code>) garante zero tempo de inatividade, pois as requisi\u00e7\u00f5es nunca atingem uma release parcialmente implantada.<\/p>\n<p>A limpeza remove releases antigas ap\u00f3s uma implanta\u00e7\u00e3o bem-sucedida para manter apenas as cinco mais recentes:<\/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>Essa estrat\u00e9gia de limpeza atinge um equil\u00edbrio entre a utiliza\u00e7\u00e3o do espa\u00e7o em disco e a capacidade de revers\u00e3o. Cinco vers\u00f5es oferecem v\u00e1rios pontos de revers\u00e3o e, ao mesmo tempo, evitam o crescimento indefinido do armazenamento.<\/p>\n<h2>Resumo<\/h2>\n<p>O Radicle transforma o desenvolvimento com WordPress ao integrar a estrutura aprimorada do Bedrock, o fluxo moderno de desenvolvimento de temas do Sage e os recursos do Laravel fornecidos pelo Acorn em uma \u00fanica pilha.<\/p>\n<p>A implanta\u00e7\u00e3o na Kinsta exige uma configura\u00e7\u00e3o al\u00e9m da hospedagem padr\u00e3o do WordPress, mas oferece benef\u00edcios em seguran\u00e7a, capacidade de manuten\u00e7\u00e3o e experi\u00eancia do desenvolvedor que justificam o esfor\u00e7o de configura\u00e7\u00e3o.<\/p>\n<p>Quando voc\u00ea estiver pronto para implantar aplicativos modernos em WordPress com confian\u00e7a, <a href=\"https:\/\/kinsta.com\/pt\/hospedagem-wordpress\/\">explore a hospedagem gerenciada para WordPress da Kinsta<\/a> e experimente uma infraestrutura de hospedagem que oferece suporte ao fluxo de desenvolvimento personalizado que voc\u00ea deseja.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O desenvolvimento moderno com WordPress evoluiu al\u00e9m das configura\u00e7\u00f5es manuais e fluxos de implanta\u00e7\u00e3o inconsistentes. O Radicle combina o Roots e outras ferramentas de desenvolvimento para &#8230;<\/p>\n","protected":false},"author":287,"featured_media":73685,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1026],"class_list":["post-73684","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-desenvolvimento-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>Desenvolvimento com WordPress usando Radicle: implantando na Kinsta<\/title>\n<meta name=\"description\" content=\"O desenvolvimento moderno com WordPress requer ferramentas e fluxos de trabalho melhores. Este artigo explora como configurar e implantar o Radicle na 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\/pt\/blog\/desenvolvimento-wordpress-radicle\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Desenvolvimento com WordPress usando Radicle: implantando na Kinsta\" \/>\n<meta property=\"og:description\" content=\"O desenvolvimento moderno com WordPress requer ferramentas e fluxos de trabalho melhores. Este artigo explora como configurar e implantar o Radicle na Kinsta.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-20T13:04:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-27T13:51:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/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=\"O desenvolvimento moderno com WordPress requer ferramentas e fluxos de trabalho melhores. Este artigo explora como configurar e implantar o Radicle na Kinsta.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle-1024x512.png\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\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\/pt\/blog\/desenvolvimento-wordpress-radicle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Desenvolvimento com WordPress usando Radicle: implantando na Kinsta\",\"datePublished\":\"2025-11-20T13:04:09+00:00\",\"dateModified\":\"2025-11-27T13:51:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/\"},\"wordCount\":2457,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle.png\",\"inLanguage\":\"pt-PT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/\",\"name\":\"Desenvolvimento com WordPress usando Radicle: implantando na Kinsta\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle.png\",\"datePublished\":\"2025-11-20T13:04:09+00:00\",\"dateModified\":\"2025-11-27T13:51:08+00:00\",\"description\":\"O desenvolvimento moderno com WordPress requer ferramentas e fluxos de trabalho melhores. Este artigo explora como configurar e implantar o Radicle na Kinsta.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle.png\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle.png\",\"width\":1470,\"height\":735},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Desenvolvimento WordPress\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/desenvolvimento-wordpress\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Desenvolvimento com WordPress usando Radicle: implantando na Kinsta\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"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\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/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\/pt\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Desenvolvimento com WordPress usando Radicle: implantando na Kinsta","description":"O desenvolvimento moderno com WordPress requer ferramentas e fluxos de trabalho melhores. Este artigo explora como configurar e implantar o Radicle na 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\/pt\/blog\/desenvolvimento-wordpress-radicle\/","og_locale":"pt_PT","og_type":"article","og_title":"Desenvolvimento com WordPress usando Radicle: implantando na Kinsta","og_description":"O desenvolvimento moderno com WordPress requer ferramentas e fluxos de trabalho melhores. Este artigo explora como configurar e implantar o Radicle na Kinsta.","og_url":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2025-11-20T13:04:09+00:00","article_modified_time":"2025-11-27T13:51:08+00:00","og_image":[{"width":1470,"height":735,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle.png","type":"image\/png"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"O desenvolvimento moderno com WordPress requer ferramentas e fluxos de trabalho melhores. Este artigo explora como configurar e implantar o Radicle na Kinsta.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle-1024x512.png","twitter_creator":"@olawanle_joel","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Joel Olawanle","Tempo estimado de leitura":"15 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Desenvolvimento com WordPress usando Radicle: implantando na Kinsta","datePublished":"2025-11-20T13:04:09+00:00","dateModified":"2025-11-27T13:51:08+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/"},"wordCount":2457,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle.png","inLanguage":"pt-PT"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/","url":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/","name":"Desenvolvimento com WordPress usando Radicle: implantando na Kinsta","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle.png","datePublished":"2025-11-20T13:04:09+00:00","dateModified":"2025-11-27T13:51:08+00:00","description":"O desenvolvimento moderno com WordPress requer ferramentas e fluxos de trabalho melhores. Este artigo explora como configurar e implantar o Radicle na Kinsta.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle.png","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2025\/11\/radicle.png","width":1470,"height":735},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/desenvolvimento-wordpress-radicle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Desenvolvimento WordPress","item":"https:\/\/kinsta.com\/pt\/topicos\/desenvolvimento-wordpress\/"},{"@type":"ListItem","position":3,"name":"Desenvolvimento com WordPress usando Radicle: implantando na Kinsta"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","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\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/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\/pt\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/73684","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=73684"}],"version-history":[{"count":8,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/73684\/revisions"}],"predecessor-version":[{"id":73753,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/73684\/revisions\/73753"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/73684\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/73684\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/73684\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/73684\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/73684\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/73684\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/73684\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/73684\/translations\/es"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/73684\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/73685"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=73684"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=73684"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=73684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}