<!DOCTYPE html>
<html lang="pt-BR" translate="no">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>FastBlog — Blog com IA, SEO e Automação de Conteúdo</title>
    <meta name="description" content="FastBlog cria, publica e automatiza artigos para blog com IA. Escale conteúdo, melhore SEO e gere tráfego orgânico automaticamente em 5 minutos.">
    <meta name="keywords" content="automação de blog, blog com IA, SEO automático, geração de conteúdo, marketing de conteúdo, tráfego orgânico, blog profissional, WordPress automático">
    <meta name="author" content="FastBlog" />
    <meta name="google" content="notranslate" />

    <!-- FASTBLOG_HEAD_START -->
    <meta property="og:type" content="website" />
    <meta property="og:site_name" content="FastBlog" />
    <meta property="og:locale" content="pt_BR" />
    <meta property="og:title" content="FastBlog — Blog com IA, SEO e Automação de Conteúdo" />
    <meta property="og:description" content="FastBlog cria, publica e automatiza artigos para blog com IA. Escale conteúdo, melhore SEO e gere tráfego orgânico automaticamente em 5 minutos." />
    <meta property="og:url" content="https://fastblog.com.br/" />
    <meta property="og:image" content="https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/80825ddb-b96f-49a4-884c-d3a703f54cb9/id-preview-4f8a5b16--9b115fe8-1172-4710-952f-62805ce2176d.lovable.app-1778083168775.png" />
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:title" content="FastBlog — Blog com IA, SEO e Automação de Conteúdo" />
    <meta name="twitter:description" content="FastBlog cria, publica e automatiza artigos para blog com IA. Escale conteúdo, melhore SEO e gere tráfego orgânico automaticamente em 5 minutos." />
    <meta name="twitter:image" content="https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/80825ddb-b96f-49a4-884c-d3a703f54cb9/id-preview-4f8a5b16--9b115fe8-1172-4710-952f-62805ce2176d.lovable.app-1778083168775.png" />
    <link rel="canonical" href="https://fastblog.com.br/" />
    <!-- FASTBLOG_HEAD_END -->

    <link rel="preconnect" href="https://ihxjojcrrwxjyvaypwtp.supabase.co">
    <link rel="preconnect" href="https://ihxjojcrrwxjyvaypwtp.supabase.co" crossorigin>
    <link rel="dns-prefetch" href="https://images.unsplash.com">
    <link rel="preconnect" href="https://images.unsplash.com" crossorigin>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" media="print" onload="this.onload=null;this.media='all'">
    <noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"></noscript>

    <style>
      body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
      html, body { font-family: Inter, system-ui, -apple-system, sans-serif; margin: 0; padding: 0; }
      @font-face { font-display: swap; }

      /* Critical CSS for public blog LCP — renders skeleton before JS loads */
      [data-blog-shell] { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; margin: 0; }
      [data-blog-shell] .blog-hero { padding: 5rem 1.5rem; text-align: center; background: #1a1a2e; color: #fff; }
      [data-blog-shell] .blog-hero h1 { font-size: 2.25rem; font-weight: 800; letter-spacing: -0.025em; margin: 0; }
      @media (min-width: 768px) { [data-blog-shell] .blog-hero h1 { font-size: 3.75rem; } }

      /* Shimmer sutil para skeletons durante o carregamento */
      @keyframes fb-shimmer {
        0% { background-position: -400px 0; }
        100% { background-position: 400px 0; }
      }
      .fb-shimmer,
      [data-blog-shell] [data-skeleton] {
        background: linear-gradient(90deg, rgba(0,0,0,0.04) 0%, rgba(0,0,0,0.08) 50%, rgba(0,0,0,0.04) 100%);
        background-size: 800px 100%;
        animation: fb-shimmer 1.4s ease-in-out infinite;
      }

      /* Barra de progresso indeterminada no topo da tela enquanto o app carrega */
      .fb-topbar {
        position: fixed; top: 0; left: 0; right: 0;
        height: 2px; z-index: 99999; overflow: hidden;
        background: rgba(0,0,0,0.06); pointer-events: none;
      }
      .fb-topbar::before {
        content: ""; position: absolute; top: 0; left: 0;
        height: 100%; width: 40%;
        background: linear-gradient(90deg, transparent, hsl(330, 80%, 60%), transparent);
        animation: fb-topbar-slide 1.2s ease-in-out infinite;
      }
      @keyframes fb-topbar-slide {
        0% { transform: translateX(-100%); }
        100% { transform: translateX(350%); }
      }

      /* Skeleton HTML inicial (pré-React) — evita tela branca / flash */
      .fb-boot-skeleton { min-height: 100vh; background: #f5f5f5; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
      .fb-boot-skeleton .fb-boot-nav { height: 64px; background: #0f0f10; display: flex; align-items: center; padding: 0 2rem; gap: 1rem; }
      .fb-boot-skeleton .fb-boot-nav-logo { width: 112px; height: 32px; border-radius: 4px; }
      .fb-boot-skeleton .fb-boot-nav-spacer { flex: 1; }
      .fb-boot-skeleton .fb-boot-nav-link { width: 72px; height: 14px; border-radius: 4px; }
      .fb-boot-skeleton .fb-boot-hero { background: #0f0f10; padding: 5rem 1.5rem; text-align: center; }
      .fb-boot-skeleton .fb-boot-hero-title { max-width: 640px; height: 48px; margin: 0 auto 16px; border-radius: 8px; }
      .fb-boot-skeleton .fb-boot-hero-sub { max-width: 420px; height: 20px; margin: 0 auto; border-radius: 6px; }
      .fb-boot-skeleton .fb-boot-grid { max-width: 1152px; margin: 0 auto; padding: 3rem 1.5rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
      @media (max-width: 900px) { .fb-boot-skeleton .fb-boot-grid { grid-template-columns: 1fr; } }
      .fb-boot-skeleton .fb-boot-card { background: #fff; border-radius: 8px; overflow: hidden; }
      .fb-boot-skeleton .fb-boot-card-img { height: 192px; }
      .fb-boot-skeleton .fb-boot-card-body { padding: 1.25rem; display: flex; flex-direction: column; gap: 12px; }
      .fb-boot-skeleton .fb-boot-card-title { height: 16px; width: 75%; border-radius: 4px; }
      .fb-boot-skeleton .fb-boot-card-line { height: 12px; width: 100%; border-radius: 4px; }
      .fb-boot-skeleton .fb-boot-card-line-short { height: 12px; width: 50%; border-radius: 4px; }
      .fb-boot-nav-logo, .fb-boot-nav-link, .fb-boot-hero-title, .fb-boot-hero-sub,
      .fb-boot-card-img, .fb-boot-card-title, .fb-boot-card-line, .fb-boot-card-line-short {
        background: linear-gradient(90deg, rgba(0,0,0,0.06) 0%, rgba(0,0,0,0.12) 50%, rgba(0,0,0,0.06) 100%);
        background-size: 800px 100%;
        animation: fb-shimmer 1.4s ease-in-out infinite;
      }
      .fb-boot-nav-logo, .fb-boot-nav-link, .fb-boot-hero-title, .fb-boot-hero-sub, .fb-boot-card-img {
        background: linear-gradient(90deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.14) 50%, rgba(255,255,255,0.06) 100%);
        background-size: 800px 100%;
      }
      .fb-boot-card-title, .fb-boot-card-line, .fb-boot-card-line-short {
        background: linear-gradient(90deg, rgba(0,0,0,0.06) 0%, rgba(0,0,0,0.12) 50%, rgba(0,0,0,0.06) 100%);
        background-size: 800px 100%;
      }

      @media (prefers-reduced-motion: reduce) {
        .fb-shimmer,
        [data-blog-shell] [data-skeleton],
        .fb-topbar::before,
        .fb-boot-skeleton * { animation: none !important; }
      }
    </style>

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "SoftwareApplication",
      "name": "FastBlog",
      "applicationCategory": "BusinessApplication",
      "description": "Plataforma de automação de blogs com IA para SEO e geração de tráfego orgânico",
      "url": "https://fastblog.com.br/",
      "operatingSystem": "Web",
      "offers": {
        "@type": "AggregateOffer",
        "priceCurrency": "BRL",
        "lowPrice": "399",
        "highPrice": "899",
        "offerCount": "4"
      },
      "publisher": {
        "@type": "Organization",
        "name": "FastBlog",
        "url": "https://fastblog.com.br/"
      }
    }
    </script>
    <!-- Pixels e tags (Meta, GA4, Ads, GTM, custom) são injetados em runtime
       a partir de /admin/tracking. Veja src/components/TrackingScriptsInjector.tsx -->

    <!-- Bootstrap dos scripts do blog público (GA4, Meta Pixel, etc.).
         Roda o mais cedo possível para que crawlers (GA4 Tag Assistant, PageSpeed)
         encontrem as tags. Em domínios admin/preview a edge function devolve []. -->
    <script>
    (function () {
      try {
        var host = (location.hostname || "").toLowerCase().replace(/^www\./, "");
        if (!host) return;
        if (host === "localhost" || host.indexOf("127.") === 0) return;
        if (host === "fastblog.com.br") return;
        if (/\.lovable\.(app|dev)$/.test(host)) return;

        var startedAt = (window.performance && performance.now) ? performance.now() : Date.now();
        window.__FASTBLOG_BOOTSTRAP__ = { host: host, startedAt: startedAt, status: "pending" };
        var endpoint =
          "https://ihxjojcrrwxjyvaypwtp.supabase.co/functions/v1/public-blog-bootstrap?host=" +
          encodeURIComponent(host);

        fetch(endpoint, {
          headers: {
            apikey:
              "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImloeGpvamNycnd4anl2YXlwd3RwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjQ2OTUxODgsImV4cCI6MjA4MDI3MTE4OH0.dwCtRFx9hH3g4XFxOw9ezLLkgGU5rhQ1pE5Pmnrko2Y",
          },
        })
          .then(function (r) { return r.ok ? r.json() : null; })
          .then(function (scripts) {
            var elapsed = ((window.performance && performance.now) ? performance.now() : Date.now()) - startedAt;
            var projectId = (scripts && scripts.length && scripts[0].project_id) || null;
            window.__FASTBLOG_BOOTSTRAP__ = {
              host: host,
              projectId: projectId,
              scriptCount: scripts ? scripts.length : 0,
              ms: Math.round(elapsed),
              status: "ok",
            };
            if (!scripts || !scripts.length) return;
            scripts.forEach(function (row) {
              var marker =
                '[data-fastblog-script-id="' + row.id + '"]';
              if (document.querySelector(marker)) return;
              var parent =
                row.location === "head" ? document.head : document.body;
              if (!parent) return;
              var tpl = document.createElement("template");
              tpl.innerHTML = row.code;
              Array.prototype.forEach.call(tpl.content.childNodes, function (n) {
                if (n.nodeType === 1 && n.tagName === "SCRIPT") {
                  var s = document.createElement("script");
                  s.setAttribute("data-fastblog-script-id", row.id);
                  s.setAttribute(
                    "data-fastblog-script-project",
                    row.project_id || ""
                  );
                  Array.prototype.forEach.call(n.attributes, function (a) {
                    s.setAttribute(a.name, a.value);
                  });
                  if (!n.src) s.text = n.textContent || "";
                  parent.appendChild(s);
                } else {
                  var w = document.createElement("div");
                  w.setAttribute("data-fastblog-script-id", row.id);
                  w.setAttribute(
                    "data-fastblog-script-project",
                    row.project_id || ""
                  );
                  w.style.display = "contents";
                  w.appendChild(n.cloneNode(true));
                  parent.appendChild(w);
                }
              });
            });
          })
          .catch(function () {
            window.__FASTBLOG_BOOTSTRAP__ = { host: host, status: "error" };
          });
      } catch (e) { /* noop */ }
    })();
    </script>
  <script type="module" crossorigin src="/assets/index-D5G10C-q.js"></script>
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-BbmxoPwT.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-radix-BpMEtSLP.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-supabase-CbkOeEyC.js">
  <link rel="stylesheet" crossorigin href="/assets/index-CIYNAMwV.css">
<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script></head>

  <body>
    <div id="root">
      <div class="fb-topbar" data-fb-boot></div>
      <div class="fb-boot-skeleton" data-fb-boot>
        <div class="fb-boot-nav">
          <div class="fb-boot-nav-logo"></div>
          <div class="fb-boot-nav-spacer"></div>
          <div class="fb-boot-nav-link"></div>
          <div class="fb-boot-nav-link"></div>
          <div class="fb-boot-nav-link"></div>
        </div>
        <div class="fb-boot-hero">
          <div class="fb-boot-hero-title"></div>
          <div class="fb-boot-hero-sub"></div>
        </div>
        <div class="fb-boot-grid">
          <div class="fb-boot-card"><div class="fb-boot-card-img"></div><div class="fb-boot-card-body"><div class="fb-boot-card-title"></div><div class="fb-boot-card-line"></div><div class="fb-boot-card-line-short"></div></div></div>
          <div class="fb-boot-card"><div class="fb-boot-card-img"></div><div class="fb-boot-card-body"><div class="fb-boot-card-title"></div><div class="fb-boot-card-line"></div><div class="fb-boot-card-line-short"></div></div></div>
          <div class="fb-boot-card"><div class="fb-boot-card-img"></div><div class="fb-boot-card-body"><div class="fb-boot-card-title"></div><div class="fb-boot-card-line"></div><div class="fb-boot-card-line-short"></div></div></div>
          <div class="fb-boot-card"><div class="fb-boot-card-img"></div><div class="fb-boot-card-body"><div class="fb-boot-card-title"></div><div class="fb-boot-card-line"></div><div class="fb-boot-card-line-short"></div></div></div>
          <div class="fb-boot-card"><div class="fb-boot-card-img"></div><div class="fb-boot-card-body"><div class="fb-boot-card-title"></div><div class="fb-boot-card-line"></div><div class="fb-boot-card-line-short"></div></div></div>
          <div class="fb-boot-card"><div class="fb-boot-card-img"></div><div class="fb-boot-card-body"><div class="fb-boot-card-title"></div><div class="fb-boot-card-line"></div><div class="fb-boot-card-line-short"></div></div></div>
        </div>
      </div>
    </div>
  </body>
</html>
