O Astro é um framework de frontend moderno que possibilita aos desenvolvedores criar sites estáticos, rápidos e eficientes. Com o Astro, é possível tirar proveito do poder dos frameworks JavaScript modernos, como React, Vue.js e Svelte, para desenvolver interfaces de usuário dinâmicas. Ao mesmo tempo, são gerados arquivos estáticos HTML, CSS e JavaScript durante o processo de build.
Quando combinado com o WordPress como um sistema de gerenciamento de conteúdo (CMS) headless, o Astro possibilita uma integração sem falhas entre APIs de backend e código frontend, permitindo o desenvolvimento eficiente de sites estáticos com conteúdo dinâmico. Essa abordagem oferece diversos benefícios.
Os sites estáticos criados usando o Astro e um backend do WordPress oferecem um desempenho superior. Podem ser distribuídos diretamente de uma rede de distribuição de conteúdo (CDN), removendo a necessidade de processamento no servidor e, consequentemente, resultando em tempos de carregamento mais rápidos e em uma experiência de usuário mais fluida.
Este tutorial orienta você no processo de configuração de um site estático usando o Astro hospedado no serviço de Hospedagem de Site Estático da Kinsta e usando o WordPress como backend.
O papel do WordPress como um CMS headless
Um CMS headless, como o WordPress, separa as camadas de gerenciamento e entrega de conteúdo. Ele permite que o backend mantenha o conteúdo enquanto um sistema diferente, como o Astro, lida com o frontend.
O WordPress funciona como um repositório de conteúdo, fornecendo dados para o frontend, que exibe o conteúdo para os usuários por meio de uma API. Essa arquitetura aumenta a flexibilidade, permitindo que você redirecione o conteúdo para várias saídas, proporcionando aos usuários do WordPress uma experiência familiar de gerenciamento de conteúdo.
Separar o frontend do backend também traz uma maior flexibilidade no design do frontend e na migração de conteúdo. Além disso, ao permitir a acessibilidade por meio de APIs, você protege o conteúdo para o futuro.
Configure seu ambiente de desenvolvimento
Há três etapas que você deve seguir para configurar seu ambiente:
- Instalar o Astro.
- Configurar um site WordPress.
- Criar um ambiente de teste WordPress.
Pré-requisitos
Para seguir este tutorial, verifique se você tem o seguinte:
- Conhecimento fundamental de HTML, CSS e JavaScript
- Node.js e npm (Node Package Manager) ou yarn instalados em seu computador
- Uma conta Kinsta. Inscreva-se para hospedar um site estático gratuitamente e acesse o painel MyKinsta.
Instale o Astro
- Para o seu projeto, crie um novo diretório e navegue até ele.
- Crie um novo projeto executando o comando abaixo em seu terminal:
npm create astro@latest
Esta etapa cria prompts de configuração. Configure com base no que você deseja.
- Depois que o projeto for criado com sucesso, execute
npm run dev
para iniciar o servidor de desenvolvimento local em http://localhost:4321/.
Crie um site WordPress na Kinsta
A Kinsta é um provedor de hospedagem de sites WordPress de alto nível, conhecido por sua interface intuitiva e infraestrutura de alto desempenho. Siga estas etapas para criar um site WordPress na Kinsta.
- Em seu painel MyKinsta, clique em Sites WordPress e depois em Criar site.
- Selecione a opção Instalar WordPress e clique em Continuar.
- Forneça um nome do site, selecione um Local de centro de dados e clique em Continuar.
- Forneça todas as outras informações e clique em Continuar.
- Depois que seu site for criado, você verá a mensagem “Seu site foi criado!”
Crie um ambiente de teste WordPress
Toda instalação WordPress na Kinsta tem a opção de estabelecer um ambiente de teste gratuito separado do site de produção real. Isso é ótimo para você testar novas versões de WordPress, plugins, código e trabalho de desenvolvimento geral.
As etapas para criar um ambiente de teste WordPress na Kinsta são as seguintes.
- Na barra de menu, clique em Produção e depois em Criar novo ambiente.
- Selecione Ambiente padrão e clique em Continuar.
- Clique em Clonar um ambiente existente, forneça um Nome de ambiente, selecione Produção para o ambiente a ser clonado e clique em Continuar.
- Depois de implantado, você pode encontrar o ambiente de teste WordPress no menu Produção.
Integração do WordPress com o Astro
Existem dois métodos principais para integrar o WordPress ao Astro: Uma API REST e o GraphQL. Este guia usa a abordagem GraphQL.
Para integrar o WordPress ao Astro, você deve:
- Instalar o WPGraphQL.
- Conectar o Astro ao WordPress.
Instale o WPGraphQL
Primeiro, instale o plugin WPGraphQL em seu site WordPress antes de usar o GraphQL para conectar o Astro a ele.
- No painel MyKinsta, selecione seu site WordPress.
- Na barra de menu, clique em Teste e depois em Abrir WP Admin no canto superior direito.
- Forneça as credenciais que você usou ao criar seu site WordPress.
- Clique no menu Plugins na barra de navegação à esquerda.
- Clique em Add New Plugin para adicionar o plugin WPGraphQL.
- Procure por “WPGraphQL”, clique em Install New para instalar o plugin WPGraphQL e, em seguida, clique em Activate.
- Para testar se o plugin WPGraphQL que você instalou está funcionando conforme o esperado, abra o menu GraphQL na barra de navegação e clique em GraphiQL IDE.
- Use o código a seguir no GraphiQL IDE e clique em Run no canto superior esquerdo para executar a consulta GraphQL:
{ posts { nodes { slug excerpt title } } }
Essa consulta GraphQL recupera de forma eficiente os endereços
slugs
,excerpts
etitles
dos artigos do site WordPress.No lado esquerdo do GraphiQL IDE, você pode ver a lista de artigos retornados pela execução da consulta GraphQL. Você pode acessar o endpoint do WordPress GraphQL em
https://your_wordpress_staging_url/graphql
.
Conecte o Astro ao WordPress
Para conectar o Astro ao WordPress, siga estas instruções:
- Crie uma pasta chamada graphql dentro da pasta src do seu projeto Astro.
- Crie um arquivo wordPressQuery.ts dentro da pasta graphql.
- Use o seguinte código dentro do arquivo wordPressQuery.ts. Certifique-se de substituir
https://your_wordpress_staging_url/graphql
pela URL de teste do WordPress.interface gqlParams { query: String; variables?: object; } export async function wpquery({ query, variables = {} }: gqlParams) { const res = await fetch('https://your_wordpress_staging_url/graphql', { method: "post", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ query, variables, }), }); if (!res.ok) { console.error(res); return {}; } const { data } = await res.json(); return data; }
Esse código define uma interface
gqlParams
e uma função assíncronawpquery
que facilita as consultas GraphQL ao site WordPress.
Desenvolva seu site com o Astro e o WordPress
- Para criar uma nova página estática no Astro, crie um arquivo chamado blog.astro no diretório src/pages.
- Cole o seguinte código no arquivo recém-criado:
--- import Layout from "../layouts/Layout.astro"; import { wpquery } from "../graphql/wordPressQuery"; const data = await wpquery({ query: ` { posts{ nodes{ slug excerpt title } } } `, }); --- <Layout title="Astro-WordPress Blog Posts"> <main> <h1><span class="text-gradient">Blog Posts</span></h1> { data.posts.nodes.map((post: any) => ( <> <h2 set:html={post.title} /> <p set:html={post.excerpt} /> </> )) } </main> </Layout> <style> main { margin: auto; padding: 1rem; width: 800px; max-width: calc(100% - 2rem); color: white; font-size: 20px; line-height: 1.6; } h1 { font-size: 4rem; font-weight: 700; line-height: 1; text-align: center; margin-bottom: 1em; } </style>
Esse código demonstra como usar a função
wpquery
para buscar dados do site do WordPress usando GraphQL e renderizá-los no site do Astro. - Use
npm run dev
para iniciar o servidor de desenvolvimento local e ver os últimos artigos do blog WordPress no site do Astro emhttp://localhost:4321/blog
.
Para lidar com o roteamento dinâmico de artigos de blog individuais, você precisa usar uma combinação das rotas dinâmicas do Astro e das variáveis de consulta do WordPress GraphQL. Ao passar o ID ou slug do artigo como uma variável de consulta, você pode gerar dinamicamente o conteúdo da página para cada artigo. Isso permite que você tenha uma experiência de usuário mais personalizada no seu site.
Implante seu site estático na Kinsta
Agora, envie seus códigos para o provedor Git de sua preferência (Bitbucket, GitHub ou GitLab). Em seguida, siga estas etapas para implantar seu site estático na Kinsta:
- No painel MyKinsta, clique em Sites estáticos e depois em Adicionar site.
- Autorize a Kinsta com seu provedor Git.
- Selecione um Repositório GitHub e uma Branch padrão. Forneça um Nome de exibição para o seu site estático e selecione a caixa Implantação automática no commit. Isso permite a implantação automática de todas as novas alterações feitas no repositório. Clique em Continuar.
- Na seção Configurações de build, a Kinsta preenche automaticamente todos os campos. Deixe tudo como está e clique em Criar site.
- Você pode acessar o site do Astro acessando a URL que aparece como domínio na página Visão geral do site implantado. Você pode acessar os artigos do blog via
https://your_kinsta_site_url/blog
.
Resumo
Há mais coisas que você pode fazer com o Astro e o WordPress. A API do WordPress pode ser usada para acessar vários dados do seu site e criar casos de uso exclusivos com o Astro.
Com a hospedagem gerenciada de WordPress da Kinsta, você obtém acesso a uma infraestrutura robusta, CDN global, Edge Caching, vários centros de dados e recursos de nível empresarial. Isso garante um ambiente rápido e seguro para o seu site WordPress.
Além disso, quando você usa frameworks de frontend como o Astro com o WordPress headless, pode hospedar seus arquivos estáticos na Hospedagem de Site Estático da Kinsta gratuitamente. Isso significa que você só paga pela hospedagem de sites WordPress, maximizando a eficiência e a relação custo-benefício.
O que você acha do WordPress headless e do Astro? Você já explorou o potencial deles para criar soluções exclusivas? Compartilhe suas experiências na seção de comentários abaixo.
Deixe um comentário