Domínios personalizados para um SaaS WordPress: como funciona o mapeamento de domínios de tenant
Se você está construindo um SaaS WordPress, mais cedo ou mais tarde um cliente fará a mesma pergunta: “Posso usar meu próprio domínio?”. A forma como você responde a isso molda todo o seu produto. Este guia aborda como o mapeamento de domínios de tenant funciona na prática com o plugin GrabWP Tenancy: as opções de roteamento, como os próprios clientes adicionam domínios e o que realmente acontece no server.
Por que os domínios são importantes para um WaaS
Em um negócio de Website-as-a-Service (WaaS), o domínio é a porta de entrada do cliente. Ele afeta a confiança, o branding e o SEO. Um cliente que vê seu site em suamarca.com/site/acme-widgets o trata como uma demonstração. O mesmo cliente em acmewidgets.com o trata como o seu negócio de verdade.
Os domínios são importantes por três motivos concretos:
- Branding. Os clientes querem o nome deles na barra de URL, não o seu.
- SEO. Os mecanismos de busca indexam o conteúdo por hostname. Um domínio personalizado permite que cada tenant construa sua própria autoridade.
- Sensação de propriedade. Um domínio personalizado faz com que o produto pareça deles, o que reduz o cancelamento (churn) e justifica preços mais altos.
O truque é oferecer domínios personalizados sem transformar cada novo cadastro em um ticket de suporte manual para configuração de DNS. Isso significa começar de forma simples e fazer o upgrade sob demanda.
As opções de roteamento: domínio personalizado vs path
O GrabWP Tenancy suporta dois modelos de roteamento, e você pode misturá-los em toda a sua base de tenants.
O roteamento baseado em domínio mapeia um domínio personalizado completo para um tenant. Quando chega uma requisição para acmewidgets.com, o GrabWP a resolve para o tenant Acme e carrega os dados desse tenant. É isso que os clientes de um plano pago geralmente querem.
O roteamento baseado em path coloca cada tenant sob um path no seu domínio compartilhado, como seusite.com/site/acme-widgets. Nenhuma alteração de DNS é necessária, o que o torna perfeito para onboarding, trials e planos gratuitos. O prefixo do path é configurável pela constante GRABWP_TENANCY_PATH_PREFIX, que tem o valor padrão de site. Defina-o como algo tipo app ou clientes para combinar com o seu produto.
// wp-config.php
define( 'GRABWP_TENANCY_PATH_PREFIX', 'clientes' );
// Tenants now live at yoursite.com/clients/acme-widgets
Ambos os modelos passam pela mesma camada centralizada de resolução de URL de tenant, então você não precisa escolher um e ficar preso a ele para sempre. Um tenant pode estar em um path hoje e em um domínio personalizado amanhã.
Como os clientes adicionam um domínio pelo dashboard

Você não quer ser o intermediário para cada mudança de domínio. A camada WaaS do GrabWP oferece aos tenants um dashboard de autoatendimento através do shortcode [grabwp_waas_dashboard]. Coloque esse shortcode em uma página no seu site de controle e cada cliente logado verá o seu próprio dashboard.
O dashboard inclui uma aba Domains onde os clientes gerenciam os domínios vinculados ao tenant deles. A partir daí, o cliente pode registrar o domínio personalizado que deseja apontar para o seu site. Quando um domínio é ativado, a camada WaaS pode enviar um e-mail de notificação de ativação de domínio, para que o cliente saiba que o mapeamento está no ar.
O fluxo para o cliente funciona assim:
- O cliente abre seu dashboard e clica na aba Domains.
- O cliente insere o domínio que possui, por exemplo,
acmewidgets.com. - O cliente aponta o DNS desse domínio para o seu server (um registro A ou CNAME, dependendo do seu setup).
- Assim que o DNS propagar e o certificado estiver pronto, o tenant é carregado no domínio personalizado.
Como operador, você ainda pode gerenciar tudo de forma centralizada pelo painel admin ou pelo arquivo de mapeamento do tenant, o que é útil para alterações em massa ou para lidar com domínios em nome de um cliente.
O que acontece no server
Quando um domínio é mapeado, o GrabWP faz o trabalho do lado do WordPress para garantir que as requisições resolvam para o tenant correto. Duas coisas são importantes de entender.
Roteamento. A resolução centralizada de URL de tenant inspeciona o hostname ou path de entrada e carrega o tenant correspondente. Tanto as requisições baseadas em domínio quanto as baseadas em path passam por esse único resolver, garantindo que o comportamento permaneça consistente, independentemente de como um tenant é acessado.
Sincronização de symlinks. Na versão Pro, o GrabWP mantém os symlinks de domínio sincronizados automaticamente sempre que um tenant é criado, atualizado ou excluído. Isso funciona na interface admin, na REST API e no WP-CLI, então um tenant provisionado pela sua automação de cadastro recebe o mesmo tratamento que um criado manualmente. Há também uma action nas configurações do Pro para sincronizar os symlinks de domínio de todos os tenants de uma vez, o que é muito útil após uma migração ou importação em massa.
Um limite que precisa ficar claro: o GrabWP não emite certificados TLS nem gerencia DNS. Apontar o domínio de um cliente para o seu server e provisionar um certificado HTTPS é um trabalho padrão de servidor web, geralmente resolvido pelo seu hosting, um proxy reverso ou uma ferramenta como o Certbot. O GrabWP cuida do mapeamento e do roteamento assim que a requisição chega no WordPress. Manter essa divisão clara poupa você de muitos tickets de suporte confusos.
Começando em um domínio compartilhado e fazendo upgrade depois
O caminho mais limpo para o onboarding é iniciar todos os tenants em uma URL compartilhada baseada em path e fazer o upgrade para um domínio personalizado apenas quando o cliente solicitar.
Aqui está o motivo pelo qual isso funciona tão bem. Um novo cadastro em seusite.com/site/acme-widgets não precisa de nenhuma configuração de DNS, então o site do cliente fica no ar em segundos. Quando ele decide assinar um plano pago, adiciona um domínio personalizado direto da aba Domains.
Com o roteamento de aliases do Pro ativado, o upgrade é suave: as antigas URLs com ID do tenant fazem um redirecionamento 301 para a URL alias, preservando tanto o sub-path quanto a query string. Isso significa que links antigos, favoritos e páginas indexadas são transferidos para o novo domínio sem quebrar nada, e os motores de busca são avisados de que o conteúdo mudou permanentemente.
Esse modelo em etapas também se encaixa perfeitamente na sua precificação. Sites baseados em path podem ficar no seu plano gratuito ou trial, e domínios personalizados podem ser um recurso pago no plano Pro por $9.99/month. Os clientes fazem o upgrade quando percebem o valor, que é exatamente o momento em que desejam o próprio domínio.
Armadilhas comuns
Alguns problemas aparecem com frequência quando as equipes começam a oferecer domínios personalizados:
- Esperar que o plugin emita certificados. Ele não faz isso. Providencie o TLS no nível do server ou do proxy antes de mapear o domínio.
- DNS ainda não propagou. Um domínio recém-apontado pode levar um tempo para resolver. Verifique o DNS antes de assumir que o mapeamento está quebrado.
- Esquecer de sincronizar os symlinks após mudanças em massa. Se você importar ou migrar tenants fora do fluxo normal de criação, execute a action de configurações do Pro para sincronizar os symlinks de domínio em todos os tenants.
- Pular redirecionamentos 301 no upgrade. Sem o roteamento de aliases, os links antigos baseados em path podem ficar desatualizados e quebrar. Ative o roteamento de aliases do Pro para que as URLs com ID do tenant redirecionem para o domínio personalizado.
- Mudar o prefixo do path depois do lançamento. Se você alterar o
GRABWP_TENANCY_PATH_PREFIXmais tarde, as URLs de path existentes vão mudar. Decida o seu prefixo logo no início.
Comece agora
O mapeamento de domínios personalizados é a diferença entre uma demonstração e um produto real. Inicie todos os clientes em uma URL baseada em path para um onboarding instantâneo e, em seguida, permita que eles façam o upgrade para o próprio domínio pela aba Domains quando estiverem prontos. O GrabWP cuida do roteamento e da sincronização de symlinks do lado do WordPress para que o tenant correto seja sempre carregado.
Pronto para oferecer domínios personalizados no seu próprio SaaS WordPress? Explore a plataforma WaaS do GrabWP, leia nosso guia complementar sobre como criar um SaaS WordPress sem programar ou baixe o plugin GrabWP Tenancy gratuito para começar a testar hoje mesmo.
Perguntas frequentes
- O GrabWP emite certificados SSL para os domínios personalizados dos meus clientes?
- Não. O GrabWP lida com o roteamento e mapeamento do lado do WordPress, garantindo que o tenant certo seja carregado para cada domínio. Emitir certificados TLS e apontar o DNS para o seu server é um trabalho padrão de servidor web, geralmente feito pelo seu hosting, um proxy reverso ou uma ferramenta como o Certbot. Aponte o DNS do cliente para o seu server, provisione o certificado e mapeie o domínio para o tenant no GrabWP.
- Um tenant pode ter mais de um domínio?
- Sim. O GrabWP Tenancy suporta vários domínios por tenant. Você pode mapear um domínio personalizado principal e aliases adicionais pelo painel admin ou pelo arquivo de mapeamento do tenant, e a resolução centralizada de URLs roteia todos eles para o mesmo tenant.
- Um cliente pode começar em um domínio compartilhado e adicionar um domínio personalizado depois?
- Sim. Inicie todos os tenants com uma URL baseada em path, como seusite.com/site/cliente-a, sem alterações de DNS. Depois, adicione um domínio personalizado quando o cliente estiver pronto. Com o roteamento de aliases do Pro ativado, as URLs antigas baseadas em ID do tenant fazem um redirecionamento 301 para o novo domínio, preservando o sub-path e a query string.
Editorial standards: Our content is written by WordPress experts with hands-on multi-tenancy experience. Articles are fact-checked and regularly updated to ensure accuracy.