Quando você atualiza a navegação em um site hub do SharePoint, as alterações não aparecem nos sites associados. Esse problema persiste mesmo após limpar o cache do navegador e atualizar a página várias vezes. A causa raiz é uma combinação de como o SharePoint armazena em cache os dados de navegação no nível do conjunto de sites e como o recurso de navegação do hub propaga as alterações. Este artigo explica por que a navegação falha ao atualizar e fornece uma correção confiável para forçar a atualização.
Principais Conclusões: Corrigir Atualizações de Navegação do Hub em Sites Associados
- Configurações do Site > Configurações Regionais: Alterar o fuso horário aciona uma atualização de cache para os dados de navegação do hub.
- Central de administração do SharePoint > Sites ativos: Re-registrar o site hub redefine a propagação da navegação para todos os sites associados.
- PowerShell Set-SPOHubSiteNavigation: Use o parâmetro -SyncNavigationToAssociatedSites para forçar a sincronização imediata.
Por que a Navegação do Hub Não Atualiza Automaticamente nos Sites Associados
A navegação do hub do SharePoint é armazenada como um objeto separado no conjunto de sites do site hub. Quando você edita a navegação, o SharePoint atualiza o objeto do site hub, mas não envia imediatamente as alterações para cada site associado. Em vez disso, os dados de navegação são armazenados em cache por até 24 horas em cada site associado. Esse comportamento de cache reduz a carga do servidor, mas causa um atraso perceptível quando os usuários esperam atualizações instantâneas.
O recurso de navegação do hub depende de um trabalho de timer chamado “Hub Site Navigation Sync” que é executado a cada 15 minutos por padrão. Se o trabalho de timer falhar ou atrasar, a navegação pode nunca sincronizar. Além disso, personalizações ou scripts de terceiros que substituem o controle de navegação podem impedir que a navegação atualizada seja renderizada mesmo após a sincronização ser concluída.
O Papel do Trabalho de Timer Hub Site Navigation Sync
O trabalho de timer é responsável por copiar os nós de navegação do site hub para o cache de navegação de cada site associado. O trabalho é executado no farm de servidores do SharePoint. No SharePoint Online, a Microsoft gerencia o trabalho de timer, mas ele ainda pode sofrer atrasos durante picos de uso. Se você tiver um grande número de sites associados, o trabalho pode levar mais de 15 minutos para ser concluído, fazendo com que alguns sites percam a atualização.
Como o Cache Impede Atualizações de Navegação
Cada site associado mantém um cache local da navegação do hub. O cache é armazenado no property bag do site e é atualizado apenas quando o trabalho de timer é executado. Limpar o cache do navegador não limpa o cache de navegação no nível do site. É por isso que atualizar a página não tem efeito. A única maneira de forçar uma atualização é acionar uma invalidação de cache no site associado.
Passos para Forçar Atualizações de Navegação do Hub em Sites Associados
Método 1: Alterar Configurações Regionais em um Site Associado
- Navegue até o site associado que não está exibindo a navegação atualizada.
Abra o site no navegador. Você precisa ser proprietário do site ou ter a permissão Gerenciar Site. - Abra Configurações do Site.
Clique no ícone de engrenagem no canto superior direito e selecione Configurações do Site. Se você não vir Configurações do Site, clique em Informações do Site e depois em Exibir Todas as Configurações do Site. - Vá para Configurações Regionais.
Em Administração do Site, clique em Configurações Regionais. - Altere o fuso horário para qualquer fuso horário diferente.
Selecione um fuso horário que não seja o atual. Por exemplo, se seu fuso horário atual for (UTC-05:00) Horário do Leste (EUA e Canadá), altere para (UTC-06:00) Horário Central (EUA e Canadá). - Clique em OK para salvar a alteração.
O SharePoint atualizará o cache do site, incluindo o cache de navegação do hub. A navegação atualizada deve aparecer imediatamente. - Opcional: Altere o fuso horário de volta para o valor original.
Após confirmar a atualização da navegação, você pode reverter o fuso horário. A navegação permanecerá atualizada porque a atualização do cache já ocorreu.
Método 2: Re-registrar o Site Hub
- Abra a central de administração do SharePoint.
Faça login no centro de administração do Microsoft 365 e vá para Centros de administração > SharePoint. - Vá para Sites ativos.
Na navegação à esquerda, clique em Sites ativos. - Selecione o site hub.
Encontre o site registrado como hub. Clique no nome para abrir o painel de detalhes. - Em Hub, clique em Editar.
Isso abre o painel de configurações do hub. - Desmarque a caixa “Os sites associados herdarão a navegação do hub” e salve.
Isso remove a navegação do hub de todos os sites associados. - Marque a caixa novamente e salve.
Isso re-registra a navegação do hub e aciona uma sincronização completa para todos os sites associados.
Método 3: Usar PowerShell para Forçar Sincronização de Navegação
- Instale o SharePoint Online Management Shell se ainda não estiver instalado.
Baixe e instale o módulo do Microsoft Download Center. - Conecte-se ao SharePoint Online.
ExecuteConnect-SPOService -Url https://seutenant-admin.sharepoint.come faça login com uma conta de administrador do SharePoint. - Obtenha a URL do site hub.
ExecuteGet-SPOSite -Template “SITEPAGEPUBLISHING#0” | Where-Object {$_.IsHubSite -eq $true}para listar todos os sites hub. - Force a sincronização de navegação.
ExecuteSet-SPOHubSiteNavigation -HubSiteUrl “https://seutenant.sharepoint.com/sites/hub” -SyncNavigationToAssociatedSites $true. Substitua a URL pela URL do seu site hub. - Verifique a sincronização.
Abra um site associado e verifique se a navegação foi atualizada. A sincronização geralmente é concluída em alguns minutos.
Se a Navegação do Hub Ainda Tiver Problemas Após a Correção Principal
“A navegação do hub mostra links antigos mesmo após a sincronização”
Isso acontece quando o cache de navegação no site associado contém dados obsoletos que não foram limpos pela sincronização. Para forçar uma reinicialização completa do cache, adicione o parâmetro de URL ?force=1 à URL do site associado e recarregue a página. Por exemplo, https://seutenant.sharepoint.com/sites/associado?force=1. Isso força o SharePoint a recarregar a navegação do banco de dados em vez do cache.
“A navegação do hub desaparece completamente após o re-registro”
Se a navegação desaparecer após re-registrar o site hub, as configurações de navegação do site hub podem estar corrompidas. Vá para o site hub, clique em Configurações > Navegação e adicione pelo menos um link. Salve as alterações. Em seguida, re-registre o site hub usando o Método 2. A navegação reaparecerá nos sites associados após a sincronização.
“A navegação do hub atualiza para alguns sites, mas não para outros”
Isso indica que o trabalho de timer está falhando para sites específicos. Verifique se esses sites têm páginas mestras personalizadas ou scripts que modificam o controle de navegação. Remova temporariamente qualquer código de navegação personalizado e teste a sincronização. Se a navegação atualizar, o código personalizado está bloqueando a navegação do hub. Substitua o código personalizado por uma solução que respeite o controle de navegação do hub.
| Item | Alteração de Configurações Regionais | Re-registro do Site Hub | Sincronização via PowerShell |
|---|---|---|---|
| Descrição | Altera o fuso horário para limpar o cache do site | Desregistra e registra novamente a navegação do hub | Usa o cmdlet Set-SPOHubSiteNavigation para forçar sincronização |
| Complexidade | Baixa | Média | Alta |
| Tempo para concluir | 2 minutos | 5 minutos | 10 minutos |
| Requer direitos de administrador | Apenas proprietário do site | Administrador do SharePoint | Administrador do SharePoint |
| Efeito em outros sites | Nenhum | Todos os sites associados perdem temporariamente a navegação | Nenhum |
Agora você pode forçar a atualização da navegação do hub em qualquer site associado usando um dos três métodos. Comece com a alteração das Configurações Regionais, pois é a mais rápida e não requer acesso de administrador. Se isso não funcionar, re-registre o site hub. Use o método PowerShell para ambientes grandes onde você precisa sincronizar vários sites hub de uma só vez. Lembre-se de que adicionar o parâmetro de URL ?force=1 é uma etapa rápida de diagnóstico para verificar se os dados de navegação estão realmente presentes no banco de dados do site.