{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "5b0ee882",
   "metadata": {},
   "source": [
    "# Max Steel — Notebook para LLMs\n",
    "Este documento fornece um resumo estruturado do site para consumo por LLMs e agentes."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fe815671",
   "metadata": {},
   "source": [
    "## Identidade\n",
    "- Nome: Max Steel\n",
    "- Setor: Perfis metálicos e soluções para Steel Frame\n",
    "- Site: https://novametalica.com.br\n",
    "- Sitemap: https://nm.novametalica.com.br/sitemap.xml"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a355e3a1",
   "metadata": {},
   "source": [
    "## Rotas principais (SPA)\n",
    "- / — Página inicial\n",
    "- /sobre — Quem somos\n",
    "- /parcerias — Programa de parcerias\n",
    "- /blog — Blog (lista)\n",
    "- /blog/:slug — Artigo do blog\n",
    "- /lpparcerias — Landing page de parcerias\n",
    "- /politica-de-privacidade — Política de Privacidade\n",
    "- /politica-de-dados — Política de Dados\n",
    "- /termos-de-condicoes — Termos e Condições\n",
    "- /lp — Landing page principal"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8753d0a1",
   "metadata": {},
   "source": [
    "## Como interpretar o site\n",
    "O site é um SPA (Vite + React Router) com rewrites para /index.html. Crawlers devem solicitar as rotas listadas e renderizar o HTML entregue pelo bundle para extrair conteúdo."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e2e01fd1",
   "metadata": {},
   "source": [
    "## Conteúdo chave por página\n",
    "- Home: proposta de valor, soluções em Steel Frame, CTAs.\n",
    "- Sobre: missão, valores, informações institucionais.\n",
    "- Parcerias: benefícios, público-alvo, formulário/CTA.\n",
    "- Blog: artigos sobre Steel Frame e construção.\n",
    "- LPs: páginas focadas em conversão para campanhas."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5ff83b96",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exemplo: coletar e extrair o <title>\n",
    "import requests\n",
    "from bs4 import BeautifulSoup\n",
    "\n",
    "headers = {\"User-Agent\": \"Mozilla/5.0 (compatible; LLM-Notebook/1.0)\"}\n",
    "url = 'https://novametalica.com.br/sobre'\n",
    "resp = requests.get(url, headers=headers, timeout=15)\n",
    "resp.raise_for_status()\n",
    "soup = BeautifulSoup(resp.text, 'html.parser')\n",
    "print(soup.title.text.strip())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d94d86c6",
   "metadata": {},
   "source": [
    "## Políticas de IA\n",
    "- Respeite robots.txt (/) e ai.txt (/ai.txt).\n",
    "- Siga a Política de Privacidade e os Termos ao processar dados."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1fbd9080",
   "metadata": {},
   "source": [
    "## Descoberta\n",
    "Este notebook está referenciado via <link rel=\"alternate\" type=\"application/x-ipynb+json\" href=\"/site-notebook.ipynb\"> e em /ai.txt."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6bab2354",
   "metadata": {},
   "source": [
    "## Como compartilhar um post do blog\n",
    "\n",
    "- URL canônica do artigo: `https://novametalica.com.br/blog/<slug>`\n",
    "- Caso seu documento do Firestore não tenha `link/slug`, o site cria um slug a partir do `titulo` automaticamente (fallback).\n",
    "- Portanto, ao compartilhar:\n",
    "  1. Verifique se o campo `link` ou `slug` está preenchido; se sim, use-o.\n",
    "  2. Se não estiver, use o título no formato slug: letras minúsculas, sem acentos e espaços viram `-`.\n",
    "- Exemplos válidos:\n",
    "  - `https://novametalica.com.br/blog/como-funciona-o-steel-frame`\n",
    "  - `https://novametalica.com.br/blog/vantagens-do-aco-leve`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "16044fd4",
   "metadata": {},
   "source": [
    "## Fontes estáticas para LLMs\n",
    "\n",
    "Para evitar problemas de conteúdo dinâmico (SPA) quando não há execução de JS:\n",
    "\n",
    "- Feed RSS do Blog: `https://novametalica.com.br/api/rss`\n",
    "- Notebook: `https://novametalica.com.br/site-notebook.ipynb`\n",
    "- AI Policy: `https://novametalica.com.br/ai.txt`\n",
    "- Sitemap: `https://nm.novametalica.com.br/sitemap.xml`\n",
    "\n",
    "Os agentes podem consumir o RSS para obter títulos, links canônicos e datas dos artigos sem depender do JavaScript."
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
