SEO no Umbraco

Como fazer um site Umbraco ranquear — o que o CMS .NET oferece nativamente (URLs limpas, redirecionamentos 301 automáticos ao renomear, HTTPS), o que precisa de um pacote (campos de meta, sitemaps XML, robots.txt, tags canônicas, noindex) e o que precisa de trabalho de desenvolvimento personalizado (hreflang, dados estruturados). A pilha de pacotes — SeoToolkit, SEO Checker da Soeteman Software, URL Tracker — e por que o uMarketingSuite (agora Umbraco Engage) não é uma ferramenta de SEO.

Publicado pela primeira vez: 27 de jun. de 2026 · Última atualização: 3 de ago. de 2026 · Avançado
Idiomas

O Umbraco é um CMS open-source baseado em .NET, e sua característica definidora de SEO é que ele é liderado por desenvolvedores por padrão: ao contrário do WordPress, onde um não desenvolvedor instala um plugin, quase todos os recursos significativos de SEO no Umbraco precisam de um desenvolvedor .NET ou de um pacote. Pense nisso em três níveis. Integrado: URLs limpas a partir dos nomes dos nós, redirecionamentos 301 automáticos ao renomear a URL de um nó, aplicação de HTTPS, tratamento básico de 404. Precisa de um pacote: campos de meta, sitemaps XML, edição de robots.txt, controles de noindex, tags canônicas — via SeoToolkit (gratuito, open-source, por patrickdemooij9) ou SEO Checker (comercial, por Soeteman Software — não Jumoo, que faz o uSync). Precisa de desenvolvimento personalizado: hreflang para Variantes de Idioma, dados estruturados, lógica canônica avançada. O uMarketingSuite foi renomeado para Umbraco Engage em novembro de 2024 e é uma plataforma de CRO/personalização, não uma ferramenta de SEO técnico. Em meados de 2026, o Umbraco 17 (lançado em novembro de 2025) é o LTS atual; o Umbraco 13, o LTS anterior, está em sua fase de Segurança e chega ao fim da vida em dezembro de 2026 — planeje um caminho de atualização antes disso. A jogada inteligente é construir controles de SEO self-service no backoffice antes que uma equipe de SEO toque no site.

TL;DR — Umbraco é um CMS open-source em .NET, e sua história de SEO é liderada por desenvolvedores por padrão. Três níveis: integrado (URLs limpas a partir de nomes de nós, 301 automático em renomeação de URL, HTTPS, 404s, Language Variants); precisa de um pacote (campos de meta, sitemap XML, robots.txt, noindex, canônicos — via SeoToolkit (gratuito) ou SEO Checker da Soeteman Software (pago)); precisa de desenvolvimento personalizado (hreflang, dados estruturados, lógica canônica avançada). SEO Checker é da Soeteman Software, não da Jumoo (que faz o uSync). uMarketingSuite se tornou Umbraco Engage em novembro de 2024 e é uma ferramenta de CRO, não de SEO. Umbraco 17 (novembro de 2025) é o LTS atual; 13, o LTS anterior, está em sua fase de Segurança e chega ao fim da vida em dezembro de 2026. A verdadeira arte é construir controles de SEO self-service no backoffice antes que uma equipe de SEO chegue.

Evidence for this claim The article's described umbraco-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Scope: Platform-specific capability documentation. Confidence: high · Verified: Umbraco CMS documentation Evidence for this claim Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Scope: Google requirements independent of platform. Confidence: high · Verified: Google Search Central: SEO Starter Guide

O que é o Umbraco (a versão de 30 segundos)

Umbraco é um CMS open-source construído em ASP.NET Core. Você modela conteúdo com Document Types (modelos de conteúdo tipados), organiza páginas em uma árvore de conteúdo, e as renderiza com modelos Razor. Ele vem de duas formas: Umbraco Cloud (hospedagem gerenciada na Azure com Cloudflare na borda — TLS automático, firewalls, restauração point-in-time) e self-hosted (seu próprio servidor, controle total). Ambos rodam o mesmo CMS; a diferença é quem gerencia a infraestrutura.

O ponto mais importante para SEO: a maior parte da configuração de SEO no Umbraco requer um desenvolvedor .NET. Esta é a diferença estrutural em relação ao WordPress, onde um não desenvolvedor pode instalar um plugin e se autoatender. No Umbraco, até mesmo campos de meta básicos são uma tarefa de desenvolvedor, a menos que um pacote já os tenha adicionado.

Os três níveis de SEO no Umbraco

Acho mais claro classificar cada recurso de SEO em uma de três categorias.

Nível 1 — integrado. Geração de URLs limpas a partir de nomes de nós (uma transformação automática ToUrlSegment() produz slugs em minúsculas e com hífens), redirecionamentos 301 automáticos quando a URL de um nó muda na renomeação, aplicação de HTTPS, códigos de status 404 adequados e Language Variants (o modelo de conteúdo multilíngue).

Nível 2 — precisa de um pacote. Campos de meta title/description, sitemaps XML, edição de robots.txt, controles de noindex e tags canônicas. Tudo isso vem pré-construído no SeoToolkit (gratuito) ou no SEO Checker (pago).

Nível 3 — precisa de desenvolvimento personalizado. hreflang para Language Variants, dados estruturados e lógica canônica avançada. Mesmo com um pacote, isso muitas vezes exige código de modelo ou configuração cuidadosa por cultura.

O 301 automático na renomeação — a vitória silenciosa do Umbraco

Este é o recurso integrado que a maioria dos guias ignora, e é genuinamente bom. A documentação oficial de rastreamento de URLs do Umbraco diz claramente: “Whenever a document is published and causes changes to its URL (and any of its descendants’ URLs), Umbraco makes a note of the old URLs. Whenever an incoming request is served and the default content finders cannot find a matching published document, Umbraco checks whether the URL matches one of these saved URLs. If a match is found, Umbraco returns a 301 Redirect response pointing to the new URL of the document.” (tradução) «Sempre que um documento é publicado e causa alterações em sua URL (e nas URLs de qualquer um de seus descendentes), o Umbraco faz uma anotação das URLs antigas. Sempre que uma solicitação recebida é atendida e os localizadores de conteúdo padrão não encontram um documento publicado correspondente, o Umbraco verifica se a URL corresponde a uma dessas URLs salvas. Se uma correspondência for encontrada, o Umbraco retorna uma resposta de Redirecionamento 301 apontando para a nova URL do documento.»

Na prática: renomeie uma página, altere seu slug, e a URL antiga continua funcionando com um 301 automaticamente. Sem plugin (o WordPress precisa do Yoast Premium ou do Redirection para o equivalente), sem chamado de desenvolvedor. Isso sozinho evita muitos dos danos de links quebrados e de perda de autoridade que a edição rotineira de conteúdo causa em outros lugares. Não interprete demais, no entanto: isso é um rastreamento acionado por publicação das mudanças de URL do próprio documento — não cobre regras de reescrita arbitrárias, nem as mudanças mais complexas de cultura e hostname que você enfrenta durante uma migração. Nomeie sua camada de hospedagem ou middleware para essas, não o núcleo do Umbraco.

Vale a pena saber junto: o Umbraco tem vários aliases de propriedade de roteamento reservados, e é fácil confundi-los porque seus nomes soam parecidos, mas seu comportamento não é intercambiável. umbracoUrlName altera o sufixo do caminho de URL que um nó gera — defina um valor e ele substitui o slug gerado automaticamente, enquanto o nome do nó no backoffice permanece como você quiser. umbracoUrlAlias é diferente novamente: uma lista separada por vírgulas de caminhos completos alternativos que resolvem para o mesmo nó, mascarando a URL real na barra de endereços do navegador em vez de redirecionar para ela. umbracoRedirect envia um redirecionamento 302 (temporário) para outro nó, escolhido por meio de uma propriedade de seletor de conteúdo — é um redirecionamento visível, não silencioso. umbracoInternalRedirectId é o que faz a reescrita interna silenciosa: o conteúdo da página de destino é servido de forma transparente, sem redirecionamento visível para o navegador. Trate esses quatro como ferramentas distintas, não variações de um único conceito de “redirecionamento”, e confirme o comportamento real na documentação da sua própria versão antes de conectá-los a uma migração. Para controle avançado, um desenvolvedor também pode implementar IUrlSegmentProvider para extrair slugs de um campo dedicado em vez do nome do nó. Mais uma lacuna: a consistência de barra final e www/não-www não é tratada nativamente — ela precisa de middleware ASP.NET Core ou regras de reescrita do IIS.

Metadados — o fluxo de trabalho do desenvolvedor

Como o Umbraco não vem com campos de meta, o padrão é:

  1. Adicione uma aba/grupo “SEO” aos seus Tipos de Documento — ou, melhor, uma composição que você possa reutilizar entre tipos.

  2. Adicione propriedades: metaTitle, metaDescription, um alternador noIndex, canonicalUrl opcional e campos Open Graph (ogTitle, ogDescription, ogImage).

  3. Renderize-os no modelo mestre com Razor:

    <title>@Model.Value("metaTitle")</title>
    <meta name="description" content="@Model.Value("metaDescription")" />
    <link rel="canonical" href="@Model.Url(mode: UrlMode.Absolute)" />
  4. Add fallback logic so an empty metaTitle defaults to the node name.

Ou instale um pacote que adicione essa composição para você. Essa é toda a escolha no SEO do Umbraco, repetidamente: construir, ou instalar um pacote que já construiu.

Uma coisa que vale a pena internalizar aqui: um Tipo de Documento apenas define quais campos existem — um campo ter um valor no backoffice não prova nada sobre o que acaba no HTML implantado. A saída é de propriedade do modelo. O sistema de templates atual do Umbraco suporta herança de modelo mestre com seções nomeadas, então um modelo filho pode colocar sua marcação metaTitle/metaDescription/canônica no <head> do mestre — mas isso significa que cada modelo que herda do mestre (e cada caminho de fallback quando uma seção é deixada vazia) precisa ser verificado individualmente. Não presuma que o comportamento de renderização de um Tipo de Documento se generalize para todos os tipos de página do site; verifique o HTML renderizado por modelo.

A pilha de pacotes (e um para não confundir)

SeoToolkit (por patrickdemooij9) — gratuito, de código aberto, no NuGet. Oferece uma versão de pacote dedicada alinhada a cada major do Umbraco (atualmente até o Umbraco 18, lançado em meados de 2026); é mantido ativamente, mas confirme se sua versão do Umbraco corresponde à versão correta do pacote antes de instalar. Gerenciamento de campos de meta, geração dinâmica de sitemap (sitemaps por domínio mais um índice de sitemap), um editor de robots.txt no backoffice com validação, gerenciador de scripts, gerenciamento de redirecionamentos e suporte a canônicos. O sitemap se adiciona automaticamente ao robots.txt. Este é o ponto de partida padrão para a maioria das construções. Do README dele: “SeoToolkit creates a /sitemap.xml for each domain and also a sitemap index with all your sitemaps listed within. All sitemaps generated have a valid syntax, so Google will have no problem with indexing it.” (tradução) «O SeoToolkit cria um /sitemap.xml para cada domínio e também um índice de sitemap com todos os seus sitemaps listados nele. Todos os sitemaps gerados têm sintaxe válida, então o Google não terá problemas em indexá-los.»

SEO Checker (da Soeteman Software) — comercial (teste gratuito em localhost; licença para produção). Também acompanha o ritmo das versões principais do Umbraco com seus próprios lançamentos (v18.0,1 era a atual em meados de 2026, suportando Umbraco 18+) — verifique as notas de versão para a versão que corresponde ao seu CMS. Adiciona prévias de snippets de SERP e prévias sociais no backoffice durante a edição, detecção automatizada de problemas (meta tags ausentes, links quebrados, problemas de canonical), gerenciamento de redirecionamentos, robots.txt e sitemap.xml automáticos e — importante — suporte multilíngue que renderiza metadados por cultura, incluindo tags hreflang. Nota crítica de atribuição: o SEO Checker é feito pela Soeteman Software, não pela Jumoo. A Jumoo faz o uSync (uma ferramenta de implantação/sincronização de conteúdo), que é algo totalmente diferente. Essa confusão é comum; não a repita.

URL Tracker — um pacote de gerenciamento de redirecionamentos (monitoramento de 404/302, criação de redirecionamentos, recomendações baseadas em URLs semelhantes, correspondência de query strings). Vale a pena instalar desde o primeiro dia para migrações e reestruturações, para que uma equipe de SEO possa gerenciar redirecionamentos sem abrir chamados para desenvolvedores.

uMarketingSuite → Umbraco Engage — a Umbraco adquiriu a uMarketingSuite e a renomeou para Umbraco Engage em novembro de 2024. É uma plataforma de CRO/personalização: análises primárias no servidor, testes A/B, segmentação por persona, perfilamento de visitantes. Não é um pacote de SEO técnico — não gerencia meta tags, sitemaps, robots.txt ou schema. Ele complementa o SEO (sinais de engajamento, testes de variantes); não substitui o SeoToolkit ou o SEO Checker. Não o recomende como seu pacote de SEO.

SEO multilíngue — variantes de idioma e hreflang

As variantes de idioma são um ponto forte real do Umbraco. Você define idiomas por código ISO em Configurações → Idiomas, atribui cada idioma a um ou mais hostnames (para que você possa usar /en/, /de/ ou domínios separados), e os editores traduzem o conteúdo dentro do mesmo nó alternando as abas de idioma. Cada variante pode ter seu próprio slug de URL (/about-us em inglês, /acerca-de em espanhol), e as regras de fallback evitam páginas em branco quando uma tradução está ausente.

Mas o problema para o SEO: o hreflang não é automático. As variantes de idioma gerenciam o conteúdo; elas não emitem tags hreflang. Você as implementa em Razor iterando sobre as culturas:

@foreach (var lang in Umbraco.LocalizationService.GetAllLanguages())
{
    <link rel="alternate" hreflang="@lang.IsoCode"
          href="@Model.Url(culture: lang.IsoCode, mode: UrlMode.Absolute)" />
}
<link rel="alternate" hreflang="x-default"
      href="@Model.Url(culture: defaultCulture, mode: UrlMode.Absolute)" />

— ou use o SEO Checker, que renderiza metadados por cultura, incluindo hreflang. Combine isso com canonicals autorreferentes por variante de idioma para que as variantes não compitam entre si pela indexação. (Como o Google realmente escolhe entre as variantes está em Canonicalização.)

Dados estruturados

O Umbraco documenta oficialmente três maneiras de implementar schema, todas exigindo um desenvolvedor:

  1. Baseado em campos — adicione uma propriedade de área de texto onde os editores colam JSON-LD; renderize-o no <head>.
  2. Baseado em template com entrada do editor — o desenvolvedor cria seletores de schema no backoffice; os editores preenchem os campos; o template gera JSON-LD a partir deles.
  3. Automático — o schema é gerado no template a partir das propriedades do documento, sem entrada do editor (melhor para posts de blog e outros tipos baseados em templates).

Para desenvolvedores .NET, a biblioteca Schema.NET (um pacote NuGet, não um pacote do Umbraco) fornece classes C# fortemente tipadas para tipos do Schema.org, então você constrói JSON-LD a partir de objetos em vez de concatenar strings, e então renderiza com ToHtmlEscapedString(). JSON-LD é o formato preferido do Google; valide com o Rich Results Test. É aqui que os Tipos de Documento tipados do Umbraco realmente se tornam uma vantagem — é mais fácil gerar schema preciso e consistente a partir de campos modelados do que a partir do conteúdo de editor livre do WordPress.

Performance e Core Web Vitals

A base .NET é enxuta: o servidor web Kestrel é rápido, e o Umbraco não carrega a sobrecarga de plugins que uma instalação pesada de WordPress acumula. O Umbraco Cloud adiciona cache de edge da Cloudflare e infraestrutura Azure gratuitamente; auto-hospedado (geralmente Windows/IIS) exige mais trabalho manual de performance. Para Core Web Vitals: use o Image Cropper integrado do Umbraco (ele pode gerar dimensões, o que ajuda no CLS) além do pacote Slimsy para WebP/AVIF responsivo com lazy loading; reserve espaço para mídia para evitar mudança de layout; e lembre-se de que o agrupamento/minificação de CSS/JS não é integrado — use o middleware de agrupamento do .NET ou uma etapa de build no front-end.

Panorama de versões: LTS, STS e a reescrita do backoffice na 13→14

O Umbraco é lançado em um ritmo fixo com duas trilhas de versão: LTS (Long-Term Support, 18 meses de suporte ativo) e STS (Standard-Term Support, aproximadamente 3 meses). Em meados de 2026, o Umbraco 17 (lançado em novembro de 2025, no .NET 10 LTS) é o LTS atual. O Umbraco 13 — o LTS que a maioria dos sites empresariais ainda usa — está além da fase de Suporte e agora recebe apenas correções de segurança, chegando ao fim da vida útil em dezembro de 2026. Se você ainda está no 13, esse é seu prazo de atualização, não um item para depois. O Umbraco também lança versões STS mais curtas entre as versões LTS principais (16 e 18 lançadas em 2025 e meados de 2026, respectivamente) para equipes que acompanham os recursos mais recentes em vez da janela de suporte.

O detalhe do histórico de versões que ainda importa para ferramentas de SEO: o Umbraco 14 introduziu um backoffice reconstruído — migrou da antiga interface AngularJS para TypeScript/Web Components (Lit). Essa reescrita significou que os pacotes de SEO tiveram que ser atualizados para renderizar suas interfaces corretamente, por isso a compatibilidade de pacotes está vinculada a versões principais específicas do Umbraco, em vez de uma alegação genérica “v8+”. Verifique as notas de versão do próprio pacote em relação à sua versão do Umbraco antes de qualquer atualização — não presuma que a nota de compatibilidade do ano passado ainda seja válida.

Mais um detalhe: o Umbraco 12+ inclui uma Content Delivery API, permitindo builds headless/desacoplados. Isso muda o cálculo de SEO — metadados e schema devem ser injetados pelo framework do front-end (com as preocupações usuais de renderização SSR-vs-CSR), não por templates Razor. (Contexto: JavaScript SEO.)

O verdadeiro ofício: tornar o site amigável para agências de SEO

O ponto de dor recorrente no Umbraco não é capacidade — é o fluxo constante de tickets de desenvolvedor de equipes de SEO que não conseguem se autoatender. Tim Payne resumiu bem a solução na Skrift Magazine: “Work smart, and modify your back office so that the SEO guys can do most of the work themselves.” (tradução) «Trabalhe de forma inteligente e modifique seu backoffice para que os caras de SEO possam fazer a maior parte do trabalho sozinhos.» Concretamente, construa isso antes da entrega:

  • Um nó global de configurações de SEO com campos para scripts HEAD e scripts de início/fim de BODY (elimina as intermináveis solicitações de snippet do GTM).
  • Uma aba de SEO em cada Document Type de página — meta title, description, canonical, noindex/nofollow — para que editores se autoatendam.
  • URL Tracker instalado desde o primeiro dia para gerenciamento de redirecionamentos.
  • Um sitemap XML gerado automaticamente desde o primeiro dia.
  • robots.txt servido desde o primeiro dia, referenciando o sitemap.

Faça isso e o Umbraco passa de “gargalo de desenvolvedor” para uma plataforma de SEO perfeitamente capaz. Pule isso e você sentirá o atrito toda semana.

Umbraco vs WordPress, resumidamente

Os Document Types estruturados do Umbraco dão contexto integrado ao conteúdo, o que torna a consistência sistemática de schema e metadados mais fácil em escala — como a comunidade 24 Days in Umbraco disse, “WordPress is not great at SEO out of the box; most of the content is not semantic or modeled. Umbraco’s structured document types provide built-in context.” (tradução) «O WordPress não é ótimo em SEO pronto para uso; a maior parte do conteúdo não é semântica ou modelada. Os tipos de documento estruturados do Umbraco fornecem contexto integrado.» A compensação é a facilidade de uso: WordPress + Yoast permite que um usuário não técnico gerencie a maior parte do SEO sozinho, enquanto o Umbraco precisa de um desenvolvedor até para mudanças simples. Para sites empresariais grandes, multilíngues e fortemente modelados, a estrutura do Umbraco muitas vezes vence; para uma equipe pequena que quer se autoatender, o WordPress é mais suave.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.