Gerador de llms.txt para E-commerce
Recentemente me inspirei neste artigo sobre llms.txt (https://apidog.com/pt/blog/llms-txt-pt/) e decidi criar uma ferramenta que gera automaticamente esse arquivo baseado no sitemap da sua loja. A ideia é centralizar, em um só lugar, todas as URLs importantes para modelos de linguagem (LLMs) — começando pelos produtos e, em breve, evoluindo para páginas institucionais completas.
Como funciona a hospedagem “sempre acordada”
Para manter a aplicação acordada no plano Free do Render (que dorme após 15 minutos sem acesso), utilizei o UptimeRobot para disparar requisições periódicas à rota /ping
. Assim, a ferramenta nunca “cochila” e está sempre pronta para gerar seu llms.txt
!
Filtrando URLs com expressões regulares
- Leitura do sitemap: fazemos uma requisição HTTP para obter o
sitemap.xml
. - Regex para cada tipo de página: o usuário escolhe padrões (ex.:
/\/p$/
para produtos ou/\/c$/
para categorias) e a ferramenta filtra apenas as URLs que batem com essas expressões, garantindo que só páginas relevantes entrem nollms.txt
.
Extração de dados de produtos com Schema.org e JSON-LD
Para enriquecer cada link de produto, usamos duas camadas de parsing:
- Microdata (
schema.org/Offer
)
– Se a página já traz marcações[itemtype="https://schema.org/Offer"]
, extraímos preço, moeda, disponibilidade e condição diretamente dos atributositemprop
. - Fallback JSON-LD
– Caso algum dado esteja faltando, procuramos pelo<script type="application/ld+json">
e fazemos o parse do JSON. Dentro dele buscamos o nóProduct
e seu arrayoffers
para preencher título, preço, moeda, disponibilidade, condição e política de devolução.
Isso garante que mesmo lojas com implementações diferentes mantenham o nível de detalhe necessário para alimentar LLMs com informações precisas.
O que vem a seguir
- Meta-tags de páginas completas: planejamos capturar
<meta name="description">
,<meta property="og:*">
e outros atributos para gerarllms.txt
também de páginas institucionais, categorias ricas e posts de blog. - Cache e streaming: melhorar UX emitindo resultados parciais em tempo real e armazenando respostas de sitemap para não refazer o parsing a cada geração.
- Implementação de tratamento de erros aprimorado: fornecer mensagens de erro claras e lidar de forma resiliente com falhas nas requisições ou parsing.
Gostou da ideia? ⭐ Dê uma estrela no repositório do GitHub (to atrás da minha vaga gringa e gringo valoriza github) e contribua com PRs — todo feedback é muito bem-vindo!