Conn2Flow
Navegação das docs

Referência / Bibliotecas

Biblioteca sitemap.php

Geração e atualização incremental do sitemap.xml e do robots.txt: que páginas entram, onde os arquivos ficam e quando são atualizados.

Caminho no Gestor bibliotecas/sitemap.php

Mantém o sitemap.xml e o robots.txt do site. Os dois ficam em gestor/assets/ e são servidos pelo controlador arquivo-estatico em https://<dominio>/sitemap.xml e /robots.txt, sem depender de regra de reescrita do servidor. Um sitemap.xml antigo na raiz do Gestor, se foi gerado pelo core, é apagado na próxima gravação; um feito à mão é preservado.

Que páginas entram

sitemap_pagina_elegivel($pagina) exige:

  • status='A' e sem_permissao (página pública; o painel inteiro fica de fora);

  • caminho que não seja rota de sistema do Gestor nem rota de fluxo (sitemap_caminho_nao_indexavel()): callbacks de OAuth, signin-2fa, validate-user, processadores de formulário, pagina-de-impressao, qualquer caminho começando por admin-, e páginas de desfecho cujo último segmento é ou termina em confirmation, success, error, failure, cancel, cancelled ou canceled (contato-success, checkout/error), além de …/payment, …/checkout, …/processing e …/download em caminhos compostos, e do fluxo de compra: último segmento cart ou checkout, ou terminado em -cart/-checkout (cart/, en/checkout/, subscription-checkout/, req-191);

  • estar dentro da janela data_publicacao_inicio/fim.

/signin/, /signup/ e /forgot-password/ entram. A URL leva o prefixo do idioma quando ele não é o padrão (/en/docs/), e lastmod é a data_modificacao da página.

Quando é atualizado

  • Incremental, a cada salvar, clonar, excluir ou trocar status no admin-paginas, no publisher-pages e na edição pelo Live Editor (sitemap_sincronizar_por_id(), que chama sitemap_sincronizar_pagina()): só a URL daquela página entra, muda ou sai. Se o caminho mudou, a URL antiga sai antes de a nova entrar.

  • Completo (sitemap_gerar_completo()), só quando o arquivo não existe, está corrompido ou a página editada sumiu do banco. A geração completa também regrava o robots.txt.

robots.txt

sitemap_robots_montar() barra as rotas utilitárias (/_gestor-cookie-verify, /oauth-callback, /signin-2fa, /forms-submissions-process…) e declara Sitemap: <url>/sitemap.xml. Aceita disallow extras.

Funções do XML

sitemap_xml_montar($urls), sitemap_xml_upsert($xml, $loc, $lastmod) e sitemap_xml_remover($xml, $loc) são puras (texto → texto); sitemap_data_w3c() formata o lastmod. sitemap_url_da_pagina(), sitemap_caminho_arquivo(), sitemap_robots_caminho_arquivo(), sitemap_gravar(), sitemap_robots_gravar(), sitemap_conteudo_proprio() e sitemap_legado_remover() cuidam da URL e do disco.

Funções

Gerado a partir de gestor/bibliotecas/sitemap.php · 17 funções

17 de 17

sitemap_pagina_elegivel

ver no código · linha 41 ↗
sitemap_pagina_elegivel(array $pagina, int|null $agora = null): bool

Decide se uma página entra no sitemap.

Parâmetros

$paginaarray
Linha da tabela paginas.
$agoraint|null
Timestamp de referência (padrão: time()), usado nos testes.

Retorno

bool

sitemap_xml_montar

ver no código · linha 265 ↗
sitemap_xml_montar(array $urls = Array()): string

Monta o documento completo do sitemap a partir de uma lista de URLs.

Parâmetros

$urlsarray
Lista de ['loc' => string, 'lastmod' => string|null].

Retorno

string
XML pronto para gravação.

sitemap_data_w3c

ver no código · linha 294 ↗
sitemap_data_w3c(string|null $data = null): string|null

Converte uma data do banco para o formato W3C exigido pelo protocolo de sitemap.

Parâmetros

$datastring|null

Retorno

string|null
null quando a data é inválida ou ausente (a tag é então omitida).

sitemap_xml_upsert

ver no código · linha 314 ↗
sitemap_xml_upsert(string $xml, string $loc, string|null $lastmod = null): string

Insere ou atualiza a entrada de uma URL num sitemap existente (upsert incremental).

Parâmetros

$xmlstring
XML atual.
$locstring
URL absoluta da página.
$lastmodstring|null
Data de modificação.

Retorno

string
XML atualizado.

sitemap_xml_remover

ver no código · linha 345 ↗
sitemap_xml_remover(string $xml, string $loc): string

Remove a entrada de uma URL do sitemap (página excluída, despublicada ou que virou privada).

Parâmetros

$xmlstring
XML atual.
$locstring
URL absoluta a remover.

Retorno

string
XML sem a entrada.

sitemap_sincronizar_pagina

ver no código · linha 566 ↗
sitemap_sincronizar_pagina(array $pagina, bool $remover = false, $caminhoAntigo = null): bool

Sincroniza UMA página no sitemap, criando o arquivo do zero quando ele ainda não existe.

Parâmetros

$paginaarray
Linha (ou dados equivalentes) da página alterada.
$removerbool
Força a remoção da entrada (página excluída).
$caminhoAntigo

Retorno

bool

sitemap_sincronizar_por_id

ver no código · linha 606 ↗
sitemap_sincronizar_por_id(string $id, bool $remover = false, string|null $caminhoAntigo = null): bool

Recarrega os dados de uma página pelo identificador e sincroniza o sitemap.

Parâmetros

$idstring
Identificador textual da página.
$removerbool
$caminhoAntigostring|null
Caminho anterior, quando o slug mudou (req-112).

Retorno

bool

O Futuro é Híbrido: Humano + IA.

O Conn2Flow é a ferramenta. Se você precisa do Arquiteto para desenhar a estratégia da sua empresa usando essa tecnologia...

Contrate Consultoria Especializada