Como evitar perda de conteúdo ao atualizar tema no VTEX IO

Durante o desenvolvimento em VTEX IO, é comum realizar atualizações de versão major dos apps, especialmente do tema.
No entanto, esse processo pode trazer um problema sério: a perda de conteúdo configurado via Site Editor.

Felizmente, é possível evitar esse cenário. Neste post, você vai aprender como preservar o conteúdo existente mesmo após uma atualização de versão major do tema.

Por que o conteúdo pode ser perdido?

Antes de tudo, é importante entender o motivo do problema.

No VTEX IO, o conteúdo criado pelo Site Editor fica associado às IDs do tema.
Quando você altera a versão major de um app, essas IDs mudam.

Como consequência, o sistema passa a enxergar o tema como algo totalmente novo. Assim, o conteúdo anterior deixa de ser aplicado.

Por isso, se nenhuma ação for tomada, a perda de conteúdo pode acontecer.

Como preservar o conteúdo ao atualizar a versão major

Para resolver esse problema, o VTEX IO oferece uma solução via GraphQL.
Com ela, você consegue atualizar as IDs do tema, mantendo todo o conteúdo existente.

A seguir, veja o passo a passo.

Primeiramente, verifique se o GraphQL IDE está instalado no seu ambiente.

Caso ainda não esteja, execute o comando abaixo no terminal:

				
					vtex install vtex.admin-graphql-ide@3.x
				
			

Depois disso, acesse o admin da loja e entre em:

				
					/admin/graphql-ide

				
			

Passo 1: instalar o GraphQL IDE no admin

Primeiramente, verifique se o GraphQL IDE está instalado no seu ambiente.

Caso ainda não esteja, execute o comando abaixo no terminal:

				
					vtex install vtex.admin-graphql-ide@3.x
				
			

Depois disso, acesse o admin da loja e entre em:

				
					/admin/graphql-ide

				
			

Passo 2: acessar o app correto no GraphQL IDE

Dentro do GraphQL IDE, siga estes passos:

  1. Abra o seletor “Escolher um aplicativo”

  2. Selecione o app vtex.pages-graphql@2.x

Esse app é responsável pelas operações relacionadas às páginas e temas.

Passo 3: executar a mutation de atualização de IDs

Agora, com o app correto selecionado, execute a mutation abaixo:

				
					mutation {
  updateThemeIds(
    from: "{appvendor}.{appname}@{oldmajor}.x",
    to: "{appvendor}.{appname}@{newmajor}.x"
  )
}

				
			

O que essa mutation faz?

De forma simples, ela:

  • Mapeia as IDs do tema antigo

  • Atualiza essas IDs para a nova versão major

  • Mantém o vínculo com o conteúdo já cadastrado

Assim, o Site Editor continua exibindo os dados corretamente após a atualização.

Quando aplicar esse procedimento?

Sempre que você for:

  • Atualizar a versão major do tema

  • Subir uma nova major para produção

  • Migrar conteúdo entre versões incompatíveis

Nesse contexto, essa mutation se torna essencial.

Boas práticas para evitar problemas

Além disso, vale seguir algumas recomendações importantes:

  • Execute a mutation antes de validar o novo tema

  • Garanta que o vendor e o app name estejam corretos

  • Documente a mudança para o time

Dessa forma, você reduz riscos e evita retrabalho.

Conclusão

Atualizar a versão major do tema no VTEX IO não precisa significar perda de conteúdo.

Com o uso correto do GraphQL IDE e da mutation updateThemeIds, é possível manter toda a estrutura já criada no Site Editor.
Assim, você garante continuidade, consistência e mais segurança no processo de evolução do tema.

Quer se aprofundar em Front-end e VTEX IO?​

Na DFreedom, trabalhamos com uma formação prática e orientada ao mercado. Por isso, nosso foco está no desenvolvimento web e no ecossistema da VTEX. Assim, atendemos desde quem está começando até profissionais em nível avançado.

Compartilhe
LinkedIn
Facebook
X
Email
WhatsApp