Este projeto é um crawler inteligente feito com Lumen que transforma o seu sitemap.xml
em um arquivo .txt
legível por LLMs (Modelos de Linguagem). Ideal para quem quer indexar melhor produtos, categorias e links úteis no seu e-commerce, otimizando a entrada de dados em sistemas baseados em IA.
Com a ascensão de IA generativa, como ChatGPT e outros assistentes de compra, é essencial fornecer informações estruturadas e otimizadas para que os modelos possam entender e recomendar produtos com mais precisão. Esse projeto resolve isso automatizando:
- Leitura do
sitemap.xml
do e-commerce. - Extração de páginas conforme padrões regex informados.
- Raspagem de informações estruturadas de cada página.
- Geração de um arquivo
.md
que pode ser facilmente convertido em.llms.txt
.
Imagine que você quer que um chatbot recomende seus produtos corretamente, mas suas páginas estão desorganizadas ou difíceis de interpretar. Este projeto resolve isso gerando um resumo limpo e formatado com:
- Nome do produto
- Preço
- Disponibilidade (em estoque, esgotado, etc.)
- Condição (novo, usado)
- Políticas de devolução
- Categorias e links úteis
Isso aumenta a descoberta de produtos por IA, melhora a automação de atendimento e pode até ajudar na indexação de buscadores mais modernos.
A mágica acontece aqui:
-
Microdados HTML (
schema.org
):itemtype="https://schema.org/Offer"
itemprop="price"
,availability
,priceCurrency
, etc.
-
Fallback para JSON-LD:
- Buscamos o
<script type="application/ld+json">
e extraímos os dados usando@type: Product
eoffers
.
- Buscamos o
-
Fallback final:
- Se nada for encontrado, usamos o
<title>
da página como nome do produto ou categoria.
- Se nada for encontrado, usamos o
Tudo isso é feito de forma concorrente com Guzzle Pool e Symfony DomCrawler.
git clone https://github.com/seu-usuario/llms-crawler-lumen.git
cd llms-crawler-lumen
composer install
Crie um .env
com as configurações mínimas (Lumen padrão). Este projeto não depende de banco de dados.
php -S localhost:8000 -t public
Acesse http://localhost:8000
, cole a URL do seu sitemap.xml e (opcionalmente) insira os regex de:
- Produtos
- Categorias
- Links úteis
Clique em “Gerar” e veja o .md
gerado — pronto para virar um llms.txt
.
# Produtos:
/\/produto\//
# Categorias:
/\/categoria\//
# Links úteis:
/(sobre|contato|politica|ajuda)/
Pull requests são bem-vindos! Vamos juntos melhorar a forma como e-commerces se comunicam com a nova geração de inteligências artificiais.
by devinkel.
This is a smart crawler built with Lumen that transforms your sitemap.xml
into a clean, LLM-friendly .txt
file. Perfect for e-commerce platforms looking to boost AI indexing for products, categories, and useful links.
With the rise of generative AI like ChatGPT and shopping assistants, it's crucial to provide structured, easy-to-read product data. This project automates:
- Fetching your
sitemap.xml
- Filtering URLs based on custom regex
- Crawling pages concurrently
- Extracting structured product/category/link data
- Generating a Markdown file (convertible to
.llms.txt
)
If you want AI systems to recommend your products properly, your site needs to be structured and crawlable. This tool helps you:
- Highlight product names, prices, availability
- Show return policy and condition info
- Group items into categories and link useful pages
All of this helps AI models better understand your store, which can boost traffic, conversions, and automation.
The crawler checks multiple places for structured data:
-
Microdata via HTML (
schema.org
)- Looks for:
itemtype="https://schema.org/Offer"
- Reads:
itemprop="price"
,availability
,priceCurrency
, etc.
- Looks for:
-
Fallback to JSON-LD
- Parses
<script type="application/ld+json">
- Looks for
@type: Product
and relatedoffers
fields
- Parses
-
Final fallback
- Uses
<title>
if nothing else is available
- Uses
All scraping is done concurrently using Guzzle Pool + Symfony DomCrawler.
git clone https://github.com/your-username/llms-crawler-lumen.git
cd llms-crawler-lumen
composer install
Create a .env
file with your environment config. No database is required for this app.
php -S localhost:8000 -t public
Visit http://localhost:8000
, paste your sitemap URL, and optionally provide regex filters for:
- Products
- Categories
- Useful Links
Click “Generate” and get your Markdown output, ready to become llms.txt
.
# Products:
/\/product\//
# Categories:
/\/category\//
# Useful:
/(about|contact|policy|help)/
Pull requests are welcome! Let’s build a smarter e-commerce ecosystem together.
by devinkel.