agenciafmd / laravel-sitemap
Gerador de Sitemap
Requires
- laravel/framework: ^12.0|^13.0
- spatie/laravel-sitemap: ^8.2
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-29 20:25:57 UTC
README
Gera o sitemap.xml do site rastreando a própria aplicação (via spatie/laravel-sitemap), agenda a geração diária e expõe a rota /sitemap.xml.
Requisitos
- Laravel ^12.0 | ^13.0
- spatie/laravel-sitemap ^8.2
Instalação
composer require agenciafmd/laravel-sitemap:dev-master
O service provider é registrado automaticamente (package discovery). Não há migrações nem arquivo de configuração para publicar.
Configuração
O pacote usa as configurações da própria aplicação:
| Config | Uso |
|---|---|
app.url (APP_URL) |
URL inicial do rastreamento |
filesystems.default (FILESYSTEM_DISK) |
Disco onde o sitemap.xml é gravado |
filament-admix.schedule.minutes |
Minuto do agendamento diário (padrão 00, ou seja, 04:00) |
APP_URL=https://www.exemplo.com.br FILESYSTEM_DISK=public
O
APP_URLprecisa estar acessível a partir do servidor (ou container) que executa a fila, pois o sitemap é gerado rastreando o site.
Uso
Gerando o sitemap
php artisan sitemap:generate
O comando enfileira a geração na fila low. O job:
- rastreia o site a partir do
APP_URL; - descarta as URLs com query string (
?); - ordena as URLs;
- grava
sitemap.xmlna raiz do disco padrão, com visibilidade pública.
Agendamento
O comando é registrado no scheduler para rodar diariamente às 04:{minutes} (withoutOverlapping), com saída em storage/logs/command-sitemap-generate-YYYY-MM-DD.log. Basta o scheduler da aplicação estar ativo:
php artisan schedule:work
Rota
A rota /sitemap.xml (grupo web) faz um redirecionamento permanente (301) para Storage::url('sitemap.xml').
Filas
Como a geração é feita em fila, garanta que um worker esteja processando a fila low:
php artisan queue:work --queue=high,default,low
Testes
Os testes ficam em tests/ e usam o Tests\TestCase da aplicação, então são executados de dentro do projeto que instala o pacote:
vendor/bin/pest packages/agenciafmd/laravel-sitemap/tests
Licença
Este pacote é software livre e está disponível nos termos da licença MIT.