<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Blogkit</title>
  <subtitle>Notas sobre tecnologia, produto e empreendimento</subtitle>
  <link href="https://blogkit.pages.dev/feed.xml" rel="self"/>
  <link href="https://blogkit.pages.dev/"/>
  <updated>2026-08-12T22:50:00.000Z</updated>
  <id>https://blogkit.pages.dev/</id>
  <author>
    <name>Marcelo Cajueiro</name>
  </author>
  <entry>
    <title>Publicado pelo backoffice em produção</title>
    <link href="https://blogkit.pages.dev/posts/publicado-pelo-backoffice/"/>
    <updated>2026-08-12T22:50:00.000Z</updated>
    <published>2026-08-12T22:50:00.000Z</published>
    <id>https://blogkit.pages.dev/posts/publicado-pelo-backoffice/</id>
    <category term="Produto"/>
    <summary>Post criado pela engine de publicação: commit via API do GitHub e deploy automático na Cloudflare Pages.</summary>
    <content type="html">&lt;p&gt;Este post foi criado pelo &lt;strong&gt;blogkit-admin&lt;/strong&gt; rodando em produção no Cloudflare Workers.&lt;/p&gt;
&lt;p&gt;O fluxo completo: editor → commit no GitHub → build na Cloudflare Pages → site atualizado.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Performance na borda — por que este blog carrega tão rápido</title>
    <link href="https://blogkit.pages.dev/posts/performance-na-borda/"/>
    <updated>2026-08-08T00:00:00.000Z</updated>
    <published>2026-08-08T00:00:00.000Z</published>
    <id>https://blogkit.pages.dev/posts/performance-na-borda/</id>
    <category term="Engenharia"/>
    <summary>HTML pré-renderizado, CSS único, zero JavaScript e cache imutável na CDN da Cloudflare.</summary>
    <content type="html">&lt;p&gt;O Blogkit entrega páginas que pesam poucos kilobytes:&lt;/p&gt;
&lt;h2 id=&quot;as-escolhas&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;#as-escolhas&quot;&gt;As escolhas&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Zero JavaScript no site público.&lt;/strong&gt; Nada para baixar, parsear ou executar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Um único arquivo CSS&lt;/strong&gt;, com design tokens — mudar o tema é editar variáveis num lugar só.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML pré-renderizado&lt;/strong&gt; no build, servido direto da borda.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cache imutável&lt;/strong&gt; para assets (&lt;code&gt;max-age=31536000, immutable&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Imagens com &lt;code&gt;loading=&amp;quot;lazy&amp;quot;&lt;/code&gt;&lt;/strong&gt; e aspect-ratio reservado (sem layout shift).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;resultado&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;#resultado&quot;&gt;Resultado&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lighthouse 100 de performance sem esforço — porque não tem o que otimizar quando não se envia quase nada.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>SEO em sites estáticos, sem plugin</title>
    <link href="https://blogkit.pages.dev/posts/seo-em-sites-estaticos/"/>
    <updated>2026-08-05T00:00:00.000Z</updated>
    <published>2026-08-05T00:00:00.000Z</published>
    <id>https://blogkit.pages.dev/posts/seo-em-sites-estaticos/</id>
    <category term="SEO"/>
    <summary>Sitemap, feed, Open Graph e JSON-LD — o que um blog precisa para ranquear bem e como o Blogkit entrega isso por padrão.</summary>
    <content type="html">&lt;p&gt;SEO técnico não precisa de plugin pago. Para um blog, a lista é curta e o Blogkit gera tudo no build:&lt;/p&gt;
&lt;h2 id=&quot;o-checklist&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;#o-checklist&quot;&gt;O checklist&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Onde&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Título e meta description únicos&lt;/td&gt;
&lt;td&gt;frontmatter de cada post&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Canonical&lt;/td&gt;
&lt;td&gt;gerado por página&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open Graph + Twitter Card&lt;/td&gt;
&lt;td&gt;parcial &lt;code&gt;seo.njk&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JSON-LD &lt;code&gt;BlogPosting&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;parcial &lt;code&gt;seo.njk&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sitemap&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/sitemap.xml&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feed Atom&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/feed.xml&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;URLs limpas e estáveis&lt;/td&gt;
&lt;td&gt;slug no frontmatter&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;o-que-realmente-importa&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;#o-que-realmente-importa&quot;&gt;O que realmente importa&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Conteúdo bom, publicado com frequência, em páginas rápidas.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;O resto é higiene técnica — e higiene dá para automatizar.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Bem-vindo ao Blogkit</title>
    <link href="https://blogkit.pages.dev/posts/bem-vindo-ao-blogkit/"/>
    <updated>2026-08-01T00:00:00.000Z</updated>
    <published>2026-08-01T00:00:00.000Z</published>
    <id>https://blogkit.pages.dev/posts/bem-vindo-ao-blogkit/</id>
    <category term="Produto"/>
    <summary>Um blog estático com backoffice, rodando 100% sobre Cloudflare — rápido, seguro e sem backend.</summary>
    <content type="html">&lt;p&gt;Este é o primeiro post do &lt;strong&gt;Blogkit&lt;/strong&gt;, uma engine de blog que junta o melhor de dois mundos: site 100% estático (rápido e sem superfície de ataque) e um backoffice de verdade para publicar.&lt;/p&gt;
&lt;h2 id=&quot;por-que-est%C3%A1tico%3F&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;#por-que-est%C3%A1tico%3F&quot;&gt;Por que estático?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Um site estático servido pela borda da Cloudflare:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;carrega em milissegundos em qualquer lugar do mundo;&lt;/li&gt;
&lt;li&gt;não tem banco de dados nem servidor para invadir;&lt;/li&gt;
&lt;li&gt;custa praticamente zero para operar.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;como-um-post-nasce&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;#como-um-post-nasce&quot;&gt;Como um post nasce&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Você escreve no backoffice (um Cloudflare Worker).&lt;/li&gt;
&lt;li&gt;O backoffice faz um commit no repositório GitHub do site.&lt;/li&gt;
&lt;li&gt;O push dispara o build do Eleventy e o deploy na Cloudflare Pages.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&quot;language-text&quot;&gt;backoffice (Worker) ──commit──▶ GitHub ──build──▶ Cloudflare Pages
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nada de FTP, nada de painel WordPress, nada de servidor para manter.&lt;/p&gt;
</content>
  </entry>
</feed>
