Custom Post Type
Custom post type WordPress cria tipos de conteúdo além de posts e páginas. Veja quando usar, como criar e como afeta o SEO do site.
Custom post type WordPress é um tipo de conteúdo personalizado que você cria além dos posts e páginas padrão do CMS. Em sites mais complexos, posts e páginas não dão conta da estrutura: precisa de portfólio, depoimentos, eventos, catálogo de produtos. Cada um desses tipos é um custom post type (CPT), com URL própria, painel próprio e regras próprias.
O que é um Custom Post Type
O WordPress nasceu como blog e por isso só tinha post e página. Em 2010, na versão 3.0, foi introduzida a função register_post_type, que permitiu criar quantos tipos de conteúdo o site precisar. Cada tipo passa a ter sua própria entrada no menu administrativo, sua própria URL pública e suas próprias regras de exibição.
O conceito fica mais claro com exemplos. Um portfólio de design não é uma lista de posts: cada projeto tem campos como cliente, ano, categoria de design, tecnologias usadas. Um catálogo de imóveis não é uma página: cada imóvel tem preço, área, número de quartos, localização. Tratar essas estruturas como post comum funciona em sites pequenos, mas escala mal.
Tipo de post personalizado é a solução nativa do WordPress para esse problema. O sistema entende que aquele conteúdo é diferente, gera URLs como /portfolio/projeto-x/ ou /imoveis/cobertura-em-pinheiros/, e separa os registros do feed normal de posts. O painel administrativo mostra cada CPT como menu próprio: Portfólio, Imóveis, Eventos.
Posts e páginas continuam funcionando normalmente em paralelo. CPTs convivem com eles no mesmo site, no mesmo banco de dados (na tabela wp_posts), só com o campo post_type diferenciando o tipo. É a flexibilidade que tornou o WordPress capaz de rodar desde blogs simples até portais editoriais e sites de e-commerce complexos.
Quando criar um CPT
Cabe CPT quando o conteúdo tem estrutura própria, recorrente e diferente dos posts normais. A regra prática: se você precisa de mais que título, conteúdo e imagem destacada, ou se o conteúdo precisa aparecer em listagens próprias separadas do blog, é candidato a CPT.
Caso clássico um: portfólio. Cada projeto tem cliente, ano, categoria, link do projeto, depoimento. Listar tudo isso em posts normais polui o blog e não permite filtros decentes. Como CPT, fica organizado, com filtros próprios e templates específicos.
Caso clássico dois: depoimentos. Cada testemunho tem nome, foto, cargo, empresa, texto. Pode ser exibido em vários lugares do site (homepage, página de produto, página de quem somos) usando uma fonte única. Sem CPT, vira hard-code em cada página.
Caso clássico três: catálogo de produtos sem e-commerce. Sites de marca exibindo linha de produtos sem vender online. Cada produto tem nome, descrição, imagens, especificações. CPT entrega tudo isso sem instalar WooCommerce inteiro só para vitrine.
Caso clássico quatro: equipes, autores externos, locais físicos, eventos. Qualquer estrutura que se repete com campos próprios cabe em CPT. Combine com taxonomias customizadas (parecidas com categorias e tags WordPress) para classificar e filtrar os registros.
Como criar um Custom Post Type
Como criar custom post type tem dois caminhos: programático (via código) e visual (via plugin). Cada um tem trade-offs claros.
Caminho programático. Adicione no functions.php do child theme uma chamada à função register_post_type, dentro de uma action no hook init. Você define o slug (“projeto”), labels (singular e plural), suporte a campos (title, editor, thumbnail, custom-fields), público (true ou false), URL base, ícone do menu e capacidades. Em poucas linhas, o CPT está registrado e aparece no painel.
É o método dos desenvolvedores e o que a documentação oficial recomenda. Vantagens: código vive no controle de versão, pode ser replicado entre ambientes, performance melhor, sem dependência de plugin. Desvantagens: exige PHP, errar a configuração pode quebrar o site, manutenção é manual.
Caminho visual. Plugins como Custom Post Type UI, Pods, JetEngine (do Crocoblock) e Advanced Custom Fields PRO permitem criar CPT via interface. Você preenche um formulário com slug, labels e configurações, salva, e o plugin gera o CPT funcional. Sem escrever código.
Vantagens: rápido, visual, qualquer pessoa configura, atualizações são fáceis. Desvantagens: o CPT existe enquanto o plugin estiver ativo (desativou, sumiu do painel), performance levemente menor por overhead do plugin, exporta como código ou JSON para versionamento extra. Para sites em produção, exportar a configuração para functions.php depois de testar é prática comum.
Em ambos os caminhos, registrar o CPT é só o começo. É preciso configurar templates específicos no tema (single-projeto.php, archive-projeto.php), adicionar custom fields (via ACF, por exemplo) e definir como o conteúdo será exibido.
CPT e SEO no WordPress
CPTs herdam o SEO do WordPress por padrão: cada registro tem URL própria, título, conteúdo, meta description configurável. Plugins de SEO como Rank Math e Yoast detectam automaticamente os CPTs registrados e adicionam controles para cada um.
Decisão crítica número um: o CPT vai ao sitemap.xml? Se o conteúdo é público e relevante para busca (portfólio, imóveis, produtos), sim. Se é interno (formulários enviados, mensagens de contato), não. Plugins de SEO permitem essa configuração CPT por CPT.
Decisão crítica número dois: estrutura de URL. O slug do CPT entra na URL via permalink. “/projetos/cliente-x/” é melhor que “/cpt_projeto/cliente-x/” para SEO e usabilidade. Cuidado para escolher slug bom no início, porque mudar depois quebra todas as URLs indexadas.
Decisão crítica número três: schema markup. CPTs específicos se beneficiam de schemas próprios. Imóveis usam RealEstateListing, eventos usam Event, produtos usam Product. Configurar schema correto via schema markup destrava rich snippets nos resultados de busca, com fotos, preço e estrelas.
Decisão crítica número quatro: archive page. Cada CPT pode ter ou não uma página de listagem (/projetos/, /imoveis/). Se tiver, essa página merece tratamento de SEO próprio: título, descrição e conteúdo introdutório.
Para projetos que precisam de CPTs e taxonomias customizadas com builders visuais e relações entre conteúdos, a FULL Services entrega o Crocoblock (suite JetEngine) já licenciado e configurado dentro da stack profissional, com criador visual de CPTs, custom fields, listings dinâmicos e filtros AJAX. Em vez de o cliente combinar Custom Post Type UI com ACF e ainda templates manuais, roda em uma stack integrada com tudo conversando.
Termos relacionados
Taxonomia WordPress
Taxonomia WordPress organiza conteúdo via categorias e tags. Veja tipos padrão, como criar taxonomia customizada…
functions.php
functions.php WordPress adiciona funcionalidades programáticas ao tema. Veja como editar com segurança, child theme e…
Schema Markup
Schema markup WordPress entrega contexto estruturado ao Google e libera rich snippets. Veja tipos, implementação…
Child Theme
Child theme WordPress permite personalizar o tema sem perder mudanças quando atualizar. Veja por que…














