Autor da análise: ChatGPT para Pablo Murad
Data: 2026-06-30
Objetivo: levantar recursos realmente interessantes para um site pessoal/autoral no espírito IndieWeb, small web, smol web, fediverso, RSS e web independente.
1. Veredito rápido
Um site IndieWeb/small web bom não é um site cheio de efeitos. É um site que devolve controle ao dono: identidade própria, conteúdo próprio, feeds próprios, links próprios, arquivo próprio, interações próprias.
A ordem correta não é começar por ActivityPub, Craft CMS, CMS gigante ou painel cheio de recurso. Isso é tentador, mas é a armadilha clássica: gastar energia montando infraestrutura e não publicar nada.
A ordem brutalmente mais inteligente é:
- HTML/Markdown limpo, rápido e versionado.
- RSS/Atom decente.
- Microformats2 básicos.
- Webmentions.
- POSSE/PESOS manual ou semi-automático.
- Busca local.
- Arquivos vivos: blog, notes, now, uses, links, leitura, filmes, projetos.
- Só depois pensar em federação completa, Micropub, IndieAuth, backfeed e CMS avançado.
Em outras palavras: primeiro o site vira uma casa. Depois você coloca campainha, correio, antena, rádio amador e túnel secreto.
2. Recursos essenciais — faça primeiro
2.1. Identidade própria via domínio
Ideia: seu domínio deve ser sua identidade primária, não uma rede social.
Exemplo:
https://pablo.space/
https://pablomurad.com/
https://murad.dev/
Esse domínio vira o centro de tudo: blog, perfil, links, feeds, projetos, contato, arquivo, notas, catálogo pessoal.
Implementação:
- Página inicial com bio curta.
- Links para perfis externos.
rel=menos links sociais.- Uma página
/about/mais completa. - Uma página
/contact/sem depender só de rede social.
Prioridade: altíssima.
Dificuldade: baixa.
2.2. rel=me para verificação de identidade
Ideia: usar links recíprocos para provar que seus perfis são seus.
Exemplo no seu site:
<a rel="me" href="https://mastodon.social/@pablo">Mastodon</a>
<a rel="me" href="https://github.com/pablomurad">GitHub</a>
<a rel="me" href="https://bsky.app/profile/exemplo.bsky.social">Bluesky</a>
E, quando possível, no perfil externo você coloca um link de volta para seu domínio.
Por que é bom:
- É simples.
- Ajuda verificação em Mastodon e serviços IndieWeb.
- Reforça que o domínio é sua identidade raiz.
Prioridade: altíssima.
Dificuldade: baixa.
Fonte útil: IndieWeb lista rel-me entre padrões amplamente implementados.
2.3. h-card: cartão de visita semântico
Ideia: marcar seu perfil com Microformats2 para máquinas entenderem que aquilo é uma pessoa/identidade.
Exemplo:
<div class="h-card">
<img class="u-photo" src="/img/pablo.jpg" alt="Pablo Murad">
<a class="p-name u-url" href="https://pablo.space">Pablo Murad</a>
<p class="p-note">Administrador, programador, pesquisador, cinefilo e jardineiro de servidores.</p>
</div>
Por que é bom:
- Melhora compatibilidade IndieWeb.
- Ajuda parsers, leitores e ferramentas sociais.
- É HTML normal, não uma dependência pesada.
Prioridade: altíssima.
Dificuldade: baixa.
Fonte útil: Microformats2 é descrito como uma forma simples de marcar informação estruturada em HTML.
2.4. h-entry para posts
Ideia: cada post do blog deve ser semanticamente identificável como uma entrada/publicação.
Exemplo:
<article class="h-entry">
<h1 class="p-name">Meu post</h1>
<a class="u-url" href="/blog/meu-post/">Permalink</a>
<time class="dt-published" datetime="2026-06-30T10:00:00-03:00">30 jun 2026</time>
<div class="e-content">
<p>Conteúdo do post...</p>
</div>
</article>
Por que é bom:
- Webmentions funcionam melhor.
- Arquivos e feeds ficam mais claros.
- Seu conteúdo passa a ser mais reutilizável.
Prioridade: altíssima.
Dificuldade: baixa a média.
2.5. RSS e Atom completos
Ideia: cada área importante do site deve ter feed.
Não basta um RSS genérico. O ideal é ter feeds segmentados:
/feed.xml feed geral
/blog/feed.xml artigos longos
/notes/feed.xml notas curtas
/links/feed.xml links comentados
/reading/feed.xml leituras
/watching/feed.xml filmes e series
/projects/feed.xml projetos
/micro/feed.xml microblog
Por que é excepcional:
- RSS é o protocolo mais subestimado da internet.
- Permite que pessoas acompanhem seu site sem rede social.
- Alimenta bots, agregadores, newsletters, n8n, automações e federação indireta.
Prioridade: altíssima.
Dificuldade: baixa se usar Zola, Hugo, Astro ou Eleventy.
Detalhe importante: inclua conteúdo completo no feed quando fizer sentido. Feed só com resumo é frustrante.
2.6. Sitemap XML e arquivo humano /archive/
Ideia: ter um sitemap para máquinas e um arquivo bonito para humanos.
Estrutura sugerida:
/archive/2026/
/archive/2026/06/
/archive/tags/
/archive/series/
/archive/types/
Por que é bom:
- SEO básico.
- Navegação histórica.
- Sensação de site vivo e acumulativo.
Prioridade: alta.
Dificuldade: baixa.
2.7. Busca local sem servidor
Ideia: busca client-side usando índice estático.
Boas opções:
- Pagefind — excelente para sites estáticos.
- Elasticlunr — comum em Zola.
- Lunr.js — clássico.
Recursos legais:
- busca por título;
- busca por conteúdo;
- filtro por tipo: artigo, nota, projeto, livro, filme;
- resultados com snippet;
- atalho
/search/.
Prioridade: alta.
Dificuldade: baixa a média.
3. Recursos IndieWeb de interação
3.1. Webmention
Ideia: permitir que outros sites avisem o seu site quando mencionam, respondem ou linkam para uma página sua.
Exemplo prático:
- Você publica um artigo.
- Outra pessoa escreve uma resposta no site dela e coloca link para o seu artigo.
- O site dela envia uma Webmention para o seu endpoint.
- Seu site mostra essa resposta abaixo do artigo.
Por que é excepcional:
- Comentários distribuídos sem depender de Disqus, Facebook ou plataforma fechada.
- Permite likes, reposts, bookmarks e replies vindos de outros sites.
- É um padrão W3C.
Implementação simples:
- Usar webmention.io para receber.
- Usar um script no build para buscar as menções.
- Salvar JSON localmente.
- Renderizar menções nos posts.
Implementação avançada:
- Endpoint próprio.
- Moderação própria.
- Cache local.
- Antispam.
- Separação por tipo: replies, likes, reposts, bookmarks.
Prioridade: altíssima para IndieWeb.
Dificuldade: média.
Aviso honesto: Webmention é lindo, mas precisa moderação. Qualquer sistema que recebe input externo vira porta de spam mais cedo ou mais tarde.
3.2. Envio automático de Webmentions
Ideia: quando você publicar um post linkando para outros sites, seu sistema detecta os links e envia Webmentions automaticamente.
Fluxo:
Publicar post
→ parser coleta links externos
→ descobre endpoint Webmention dos links
→ envia Webmention
→ registra status de envio
Por que é bom:
- Você participa da conversa sem depender de rede social.
- Outros sites podem mostrar sua resposta automaticamente.
Prioridade: média-alta.
Dificuldade: média.
3.3. Página /mentions/
Ideia: uma página pública agregando menções recebidas.
Possíveis filtros:
/mentions/replies/
/mentions/likes/
/mentions/reposts/
/mentions/bookmarks/
/mentions/pings/
Por que é legal:
- Mostra que o site conversa com outros sites.
- Cria uma memória social independente.
Prioridade: média.
Dificuldade: média.
3.4. Comentários locais + Webmention juntos
Ideia: permitir comentários tradicionais, mas também respostas distribuídas.
Opções:
- Comentários locais moderados.
- Comentários por e-mail.
- Webmentions exibidas abaixo do post.
- Respostas via Mastodon importadas como backfeed.
Minha opinião: implemente Webmention primeiro. Comentário local dá manutenção, spam e dor de cabeça. Para site pessoal, comentários locais só valem se você realmente quiser moderar conversa.
Prioridade: baixa a média.
Dificuldade: média a alta.
4. POSSE, PESOS e syndication
4.1. POSSE — publicar no seu site e distribuir fora
POSSE significa:
Publish on your Own Site, Syndicate Elsewhere
Ou seja: você publica primeiro no seu domínio e depois replica em Mastodon, Bluesky, LinkedIn, Reddit, etc.
Implementação mínima:
No frontmatter do post:
[taxonomies]
syndication = ["posse"]
[extra]
syndicated_to = [
"https://mastodon.social/@pablo/123",
"https://bsky.app/profile/pablo/post/abc"
]
E no HTML:
<p>Syndicated to: Mastodon, Bluesky</p>
Implementação avançada:
- Bot publica automaticamente no Mastodon.
- Bot publica no Bluesky via AT Protocol.
- Bot publica no LinkedIn quando for artigo profissional.
- Guarda URLs das cópias no próprio post.
Prioridade: altíssima.
Dificuldade: baixa manualmente; alta se automatizar tudo.
Ponto brutalmente honesto: POSSE perfeito é difícil. POSSE manual bem feito é melhor que automação quebrada.
4.2. PESOS — publicar fora e arquivar no seu site
PESOS significa:
Publish Elsewhere, Syndicate to your Own Site
Você posta primeiro em outro lugar e depois importa para seu site.
Exemplos:
- posts do Mastodon arquivados em
/micro/; - threads do Bluesky arquivadas em
/notes/; - reviews do Letterboxd importadas para
/watching/; - scrobbles/listens importados para
/listening/; - bookmarks do Readwise/Reader importados para
/links/.
Prioridade: alta para arquivo pessoal.
Dificuldade: média.
Cuidado: PESOS pode virar lixão automático. Importe só o que vale preservar.
4.3. Backfeed
Ideia: trazer interações das cópias externas de volta para o post original.
Exemplo:
- Você publica no site.
- Replica no Mastodon.
- Pessoas respondem no Mastodon.
- Seu site busca essas respostas.
- As respostas aparecem no post original.
Por que é excepcional:
- Fecha o ciclo da conversa.
- Seu site continua sendo o arquivo central.
Dificuldade: alta.
Minha recomendação: faça depois. Primeiro implemente POSSE manual e Webmention. Backfeed é lindo, mas vira integração com API, rate limit, autenticação, spam, duplicação e quebra de plataforma.
4.4. Página /syndications/
Ideia: igual ao Scientiac: uma página que lista conteúdos marcados como POSSE, PESOS, ECHO, REPLY, etc.
Tipos sugeridos:
POSSE publicado aqui e distribuído fora
PESOS publicado fora e arquivado aqui
ECHO resposta/eco a outro post
REPLY resposta direta
QUOTE citação comentada
BOOST repost/recomendação
Prioridade: alta se você quiser estética IndieWeb forte.
Dificuldade: baixa.
5. Tipos de post que deixam o site vivo
5.1. Artigos longos
Caminho:
/blog/
Para textos técnicos, ensaios, tutoriais, reflexões, artigos sobre cinema, infra, fediverso, livros e projetos.
Campos úteis:
title = "..."
date = 2026-06-30
tags = ["indieweb", "rss"]
series = "Web Independente"
summary = "..."
canonical = "..."
5.2. Notes / microblog
Caminho:
/notes/
Notas curtas, pensamentos, updates, quase tweets próprios.
Recurso excepcional: cada nota tem permalink próprio.
Exemplo:
/notes/2026/06/30/1430/
Prioridade: altíssima para deixar o site vivo.
5.3. Linklog / bookmarks comentados
Caminho:
/links/
Você salva links com comentário curto.
Exemplo:
---
title: "Readable CSS"
url: "https://readable-css.freedomtowrite.org/"
tags: ["css", "smallweb"]
---
CSS simples e legível. Bom antídoto contra framework demais.
Por que é excelente:
- Substitui favoritos perdidos no navegador.
- Vira fonte para artigos futuros.
- Pode alimentar RSS próprio.
5.4. Respostas para outros sites
Caminho:
/replies/
Você escreve uma resposta no seu site, linka o post original, e manda Webmention.
Frontmatter:
in_reply_to = "https://example.com/post"
Prioridade: alta para IndieWeb real.
5.5. Likes e favorites próprios
Caminho:
/likes/
Você pode registrar que gostou de um post externo sem depender de botão de plataforma.
Frontmatter:
like_of = "https://example.com/post-interessante"
Cuidado: likes demais viram ruído. Eu usaria mais como “favoritos públicos comentados”.
5.6. Reposts / boosts próprios
Caminho:
/reposts/
Para recomendar algo de outra pessoa.
Frontmatter:
repost_of = "https://example.com/artigo"
Prioridade: média.
5.7. Reviews de filmes, livros, séries e jogos
Isso combina muito com você.
Caminhos:
/watching/
/reading/
/playing/
/listening/
Campos para filmes:
title = "Napoleon Dynamite"
year = 2004
director = "Jared Hess"
rating = 4.5
watched_at = 2026-06-30
rewatch = false
tags = ["awkward-comedy", "indie"]
Campos para livros:
title = "..."
author = "..."
started = 2026-06-01
finished = 2026-06-30
rating = 5
isbn = "..."
Recurso excepcional: gerar páginas automáticas:
/books/authors/
/books/years/
/films/directors/
/films/genres/
Prioridade: altíssima para um site seu.
5.8. Diário técnico de servidores
Caminho:
/infra-log/
Registre alterações importantes:
2026-06-30 — Ajustado feed RSS do GoToSocial murad.social
2026-06-29 — Backup de nginx antes de remover bloco murad.rocks
2026-06-28 — Configurado email SMTP em instância ActivityPub
Por que é matador para você:
- Vira memória técnica.
- Evita repetir investigação.
- Pode virar artigo depois.
- Ajuda a documentar sua infraestrutura real.
Prioridade: altíssima.
5.9. Changelog pessoal
Caminho:
/changelog/
Um log do próprio site/projetos.
Exemplo:
## 2026-06-30
- Adicionado feed separado para notas.
- Criada página /uses/.
- Implementado h-card na homepage.
Prioridade: alta.
6. Páginas clássicas da small web que valem muito
6.1. /now/
Página dizendo no que você está focado agora.
Conteúdo:
- projetos atuais;
- livros em leitura;
- filmes recentes;
- servidores mexidos;
- prioridades pessoais/profissionais;
- última atualização.
Exemplo:
# Now
Atualizado em 2026-06-30.
Estou trabalhando em:
- Portal IDEA automações;
- sites IndieWeb/small web;
- infraestrutura ActivityPub;
- catalogação de filmes estranhos.
Prioridade: altíssima.
6.2. /uses/
Lista de ferramentas que você usa.
Categorias:
Hardware
Sistema operacional
Editor
Servidores
Apps
Leitura
Cinema
Automação
IA
Por que é bom:
- Pessoas adoram páginas
/uses/. - Serve como inventário pessoal.
- Ajuda outros técnicos.
Prioridade: alta.
6.3. /colophon/
Página explicando como o site foi feito.
Inclua:
- gerador estático/CMS;
- hospedagem;
- fontes;
- CSS;
- ferramentas;
- princípios;
- licença;
- feed;
- código-fonte, se público.
Prioridade: alta para small web.
6.4. /blogroll/
Lista humana de blogs/sites que você acompanha.
Campos:
Nome
URL
Feed
Categoria
Idioma
Descrição curta
Por que é excepcional:
- Blogroll é antialgoritmo.
- Fortalece a web independente.
- Pode virar OPML exportável.
Extra: disponibilize:
/blogroll.opml
Prioridade: altíssima.
6.5. /links/ + OPML
Além do blogroll, tenha uma página de links úteis:
/links/tools/
/links/blogs/
/links/indieweb/
/links/selfhosted/
/links/cinema/
/links/books/
E exporte OPML para leitores RSS.
Prioridade: alta.
6.6. /guestbook/
Livro de visitas moderno.
Opções:
- estático com PR no Git;
- formulário moderado;
- comentários via e-mail;
- Webmentions exibidas;
- assinatura simples com nome/site/mensagem.
Minha opinião: legal, mas não essencial. Faça só se for moderado, senão vira parede de spam.
Prioridade: média.
6.7. /webring/
Participar ou criar um webring.
Exemplo de navegação:
← site anterior | weird web ring | próximo site →
Por que é bom:
- Traz descoberta humana.
- Combina com small web.
- É divertido.
Prioridade: média-alta.
6.8. /manifesto/
Uma página curta explicando o espírito do site.
Não precisa ser pomposo. Algo como:
Este site é minha casa na web.
Redes sociais são pontos de distribuição, não origem.
Aqui ficam meus textos, logs, links, filmes, leituras e experimentos.
Prioridade: alta, desde que seja curto. Manifesto longo demais vira teatro.
6.9. /humans.txt
Arquivo simples em:
/humans.txt
Conteúdo:
/* TEAM */
Author: Pablo Murad
Site: https://pablo.space
Location: Brazil
/* SITE */
Built with: Zola/Astro/etc
Language: Portuguese, English
Prioridade: baixa, mas charmoso.
6.10. /robots.txt honesto
Defina o que bots podem acessar.
Exemplo:
User-agent: *
Allow: /
Sitemap: https://pablo.space/sitemap.xml
Você também pode bloquear crawlers de IA específicos se quiser, mas seja realista: isso é mais declaração de preferência do que muro de verdade.
Prioridade: média.
7. Recursos de arquivo pessoal
7.1. Biblioteca pessoal
Caminho:
/library/
Não precisa ser só “livros lidos”. Pode ser um catálogo vivo:
/library/books/
/library/articles/
/library/papers/
/library/quotes/
/library/notes/
Campos úteis:
title = "..."
author = "..."
type = "book"
status = "reading"
rating = 5
tags = ["history", "occultism"]
Prioridade: alta para você.
7.2. Film log estilo Letterboxd próprio
Caminho:
/film-log/
Recursos:
- assistido em;
- nota;
- mini-review;
- diretor;
- país;
- década;
- tags de vibe;
- links para posts relacionados.
Tags de vibe são melhores que gêneros frios:
awkward-comedy
small-town-weird
melancholy
analog-horror
deadpan
surreal
comfort-trash
Prioridade: altíssima para você.
7.3. “Shelf” visual
Uma estante visual de livros, filmes, jogos e discos.
Exemplo:
/shelf/
/shelf/books/
/shelf/films/
/shelf/games/
/shelf/music/
Pode ser grid com capas. Mas cuidado: capa demais pode pesar e trazer problemas de copyright/hotlink. Melhor usar imagens locais otimizadas ou metadados simples.
Prioridade: alta.
7.4. Mapa de projetos
Caminho:
/projects/
Cada projeto tem página própria:
/projects/portal-idea/
/projects/runv-club/
/projects/murad-tv/
/projects/prami/
/projects/le-rss/
/projects/genmap/
/projects/pabling/
Campos:
status = "active"
type = "selfhosted"
started = 2026-01-01
stack = ["Go", "Docker", "PostgreSQL"]
repo = "..."
url = "..."
Prioridade: altíssima.
7.5. Página de status dos projetos
Caminho:
/projects/status/
Estados:
active
paused
archived
abandoned
idea
maintenance
Brutalmente útil: declare projeto abandonado sem culpa. Cemitério de projeto também é documentação.
7.6. Cemitério de ideias
Caminho:
/graveyard/
Projetos mortos, tentativas, fracassos, experimentos.
Por que é bom:
- Ajuda a não repetir burrice.
- Pode virar post técnico honesto.
- É mais interessante que portfólio fake onde tudo parece sucesso.
Prioridade: alta.
8. Recursos sociais pequenos e charmosos
8.1. Botão “reply by email”
Em cada post:
<a href="mailto:voce@example.com?subject=Re: Titulo do post">Responder por e-mail</a>
Melhor ainda: usar endereço mascarado/alias.
Prioridade: alta.
8.2. Botão “copy link”
Um botão simples para copiar o permalink.
Prioridade: média.
8.3. Citações ancoráveis por parágrafo
Cada parágrafo pode ter um link permanente.
Exemplo:
<p id="p42">Texto do parágrafo <a href="#p42">#</a></p>
Por que é excelente:
- Facilita citação.
- Ajuda discussão técnica.
- Combina com posts longos.
Prioridade: alta.
8.4. Fragmentions / links para trechos
Fragmention é uma ideia IndieWeb para linkar frases específicas dentro de documentos por fragmento na URL.
Exemplo conceitual:
https://site/post/#frase%20citada
Hoje navegadores também têm text fragments (#:~:text=), mas uma solução própria pode ser charmosa.
Prioridade: média.
Dificuldade: média.
8.5. “This page was last updated”
Mostrar data de criação e última edição.
Exemplo:
Publicado em 2026-06-01.
Atualizado em 2026-06-30.
Prioridade: altíssima.
8.6. Histórico de edições público
Para páginas importantes, mostrar changelog.
Exemplo:
2026-06-30: adicionada seção sobre Webmention.
2026-06-28: corrigidos links quebrados.
Prioridade: média-alta.
8.7. Links “via”, “hat tip” e “inspired by”
Campos no post:
via = "https://example.com"
hat_tip = "https://example.net"
inspired_by = "https://example.org"
Por que é bom:
- Dá crédito.
- Estimula rede humana de descoberta.
- Ajuda Webmention.
Prioridade: alta.
9. Feeds especiais e formatos alternativos
9.1. Feed JSON
Além de RSS/Atom, gere JSON Feed.
/feed.json
Por que é bom:
- Fácil de consumir por scripts.
- Bom para automações.
Prioridade: média.
9.2. OPML público
Arquivo com feeds que você acompanha:
/blogroll.opml
/feeds.opml
Por que é excelente:
- Compartilha sua curadoria.
- Ajuda outras pessoas a fugir de algoritmo.
Prioridade: alta.
9.3. twtxt
Twtxt é microblogging minimalista em arquivo de texto público.
Exemplo:
2026-06-30T12:00:00-03:00 mexendo no site novo, rss e webmentions.
Caminho:
/twtxt.txt
Por que é divertido:
- É ridiculamente simples.
- Combina com hacker/small web.
- Identidade = URL do arquivo.
Prioridade: média.
Dificuldade: baixa.
Minha opinião: não é essencial, mas é muito “Pablo mexendo em protocolo esquisito às 2h da manhã”. Então provavelmente vale.
9.4. Arquivo .well-known
Recursos possíveis:
/.well-known/webfinger
/.well-known/host-meta
/.well-known/security.txt
/.well-known/change-password
Uso:
- WebFinger ajuda descoberta de identidade/federação.
security.txtindica contato para problemas de segurança.
Prioridade: média.
9.5. WebFinger
Ideia: permitir descoberta de identidade tipo:
acct:pablo@pablo.space
Isso é mais fediverso do que IndieWeb clássico, mas combina.
Prioridade: média se você quiser identidade federada.
Dificuldade: média.
10. Federação e protocolos sociais maiores
10.1. ActivityPub no site
Ideia: permitir que pessoas no Mastodon/GoToSocial/etc sigam seu site diretamente.
Caminho possível:
@pablo@pablo.space
O que permitiria:
- posts do site aparecem no fediverso;
- replies/follows/likes federados;
- identidade social própria no domínio.
Mas aqui vai a verdade: implementar ActivityPub diretamente é trabalhoso. Não é só gerar JSON. Tem assinatura HTTP, inbox/outbox, followers, delivery, retries, blocks, moderation, compatibilidade com Mastodon e outros detalhes chatos.
Alternativas inteligentes:
- Usar GoToSocial/Mastodon separado e linkar via POSSE.
- Usar Bridgy Fed.
- Usar um plugin/serviço pronto.
- Gerar feeds e deixar outros sistemas consumirem.
Prioridade: baixa no início; alta se o site virar plataforma social própria.
Dificuldade: alta.
10.2. Bridgy / Bridgy Fed
Ideia: usar serviço intermediário para conectar site, Webmention e redes/fediverso.
Por que pode ser bom:
- Evita implementar tudo do zero.
- Pode ajudar com backfeed e federação.
Cuidado: dependência externa. Não é grave, mas contraria um pouco o ideal “tudo meu”. Ainda assim, é pragmático.
Prioridade: média.
10.3. AT Protocol / Bluesky syndication
Ideia: publicar links/resumos dos posts no Bluesky.
Possibilidades:
- POSSE manual para Bluesky.
- Bot usando AT Protocol.
- Guardar URL da cópia no frontmatter.
Prioridade: média-alta se você usa Bluesky.
Dificuldade: média.
11. Autenticação e publicação
11.1. IndieAuth
IndieAuth é uma camada de identidade baseada em OAuth 2.0, usada no ecossistema IndieWeb para autenticação e para obter tokens usados por clientes Micropub.
Uso prático:
- entrar em apps usando seu domínio;
- autorizar clientes a publicar no seu site;
- conectar Micropub.
Prioridade: média.
Dificuldade: média a alta.
Minha recomendação: não comece por isso. Só implemente quando você realmente tiver um cliente Micropub ou fluxo de publicação externo.
11.2. Micropub
Micropub é um protocolo W3C para criar, atualizar e apagar posts no seu próprio domínio usando clientes de terceiros.
Exemplo de uso:
- postar nota curta pelo celular;
- publicar foto;
- favoritar link;
- responder outro post;
- registrar check-in;
- editar post sem abrir repositório.
Prioridade: média-alta se você quiser postar do celular.
Dificuldade: alta se for implementar do zero.
Alternativa pragmática: criar um painel simples próprio que gera Markdown e commit no Git.
11.3. Painel próprio minimalista
Em vez de Micropub completo, você pode criar um painel privado:
/new/note
/new/link
/new/film
/new/book
/new/project-log
Ele gera arquivos Markdown no repo e faz commit.
Stack possível:
- Go + Git;
- Python/FastAPI + Git;
- Node + simple-git;
- n8n + GitHub API;
- formulário estático + webhook.
Prioridade: altíssima se você quiser realmente publicar com frequência.
Verdade dura: se publicar exigir abrir editor, lembrar frontmatter, commitar e subir, você vai publicar menos. Um painel simples pode valer mais que 20 padrões IndieWeb.
12. Recursos visuais small web
12.1. Tema leve, autoral e sem framework pesado
Princípios:
- CSS próprio.
- Sem Tailwind se o objetivo é small web artesanal.
- Sem React para página estática.
- Pouquíssimo JS.
- Tipografia boa.
- Layout legível.
Prioridade: altíssima.
12.2. Modo claro/escuro sem firula
Implementação:
@media (prefers-color-scheme: dark) {
:root { ... }
}
Com botão opcional para alternar.
Prioridade: alta.
12.3. ASCII art / ANSI art / pequenos símbolos
Combina com sua estética runv.club, servidores, pubnix e weird web.
Use com moderação:
. * . *
* pablo.space .
independent web
Prioridade: média-alta.
12.4. Badges 88x31
Clássico da web antiga.
Exemplos:
RSS
IndieWeb
No AI slop
Handmade HTML
Fediverse
Validated HTML
Cuidado: badge demais vira carnaval GeoCities ruim. Use uma seção específica no rodapé ou /badges/.
Prioridade: média.
12.5. Página /badges/
Você pode criar seus próprios badges:
Portal IDEA
runv.club
Murad TV
pablo.space
RSS forever
E permitir que outros copiem.
Prioridade: média.
12.6. Estética de terminal sem destruir legibilidade
Terminal é legal, mas texto longo em terminal fake pode ser horrível.
Use terminal para:
- homepage;
- cabeçalhos;
- pequenos blocos;
- projeto técnico;
- logs.
Não use terminal para:
- artigos longos;
- reviews;
- leitura contínua.
Prioridade: média.
13. Recursos de privacidade e independência
13.1. Sem analytics invasivo
Opções:
- sem analytics nenhum;
- logs do servidor;
- Plausible self-hosted;
- Umami self-hosted;
- GoatCounter;
- análise por RSS/downloads.
Minha opinião: para site pessoal, use analytics mínimo ou nenhum. Se usar, coloque em /privacy/.
13.2. Página /privacy/
Explique:
- se usa cookies;
- se usa analytics;
- se usa CDN;
- se carrega fontes externas;
- se guarda comentários;
- se recebe Webmentions.
Prioridade: alta.
13.3. Sem fontes externas
Hospede fontes localmente ou use system fonts.
Por que:
- privacidade;
- performance;
- resiliência.
Prioridade: alta.
13.4. Sem dependência de CDN para funcionar
O site deve abrir mesmo se Google Fonts, jsDelivr, unpkg, Cloudflare etc. estiverem fora.
Prioridade: altíssima.
13.5. Páginas estáticas cacheáveis
Tudo que puder ser estático deve ser estático.
Headers ideais:
Cache-Control
ETag
Last-Modified
Prioridade: alta.
14. Recursos de preservação e portabilidade
14.1. Conteúdo em Markdown
Use Markdown com frontmatter. Evite prender seu conteúdo em banco opaco.
Prioridade: altíssima.
14.2. Export completo
Tenha comando para exportar tudo:
make export
Gerando:
export/site.zip
export/posts.json
export/feed.xml
export/content.tar.gz
export/opml.xml
Prioridade: alta.
14.3. Licença por post
Permitir licenças diferentes:
license = "CC BY-SA 4.0"
Ou uma licença padrão no rodapé.
Prioridade: média.
14.4. Canonical URL
Cada post deve ter canonical.
<link rel="canonical" href="https://pablo.space/blog/post/">
Prioridade: alta.
14.5. Conteúdo espelhado
Espelhos possíveis:
GitHub Pages
Codeberg Pages
servidor próprio
IPFS
Prioridade: média.
Cuidado: espelho demais aumenta manutenção.
14.6. IPFS para arquivo
Como você já mexe com IPFS, pode publicar snapshots:
/ipfs/
/ipns/
Mas não faça do IPFS o caminho principal do site. Use como preservação/experimento.
Prioridade: média para você; baixa para pessoas normais.
15. Recursos de descoberta
15.1. Página /random/
Botão para post aleatório.
Por que é ótimo:
- Reaproveita arquivo antigo.
- Dá sensação de exploração.
Prioridade: alta.
15.2. “Related posts” manual
Nada de algoritmo tosco. Use campo manual:
related = [
"/blog/rss-e-web-independente/",
"/projects/le-rss/"
]
Prioridade: alta.
15.3. Séries
Caminho:
/series/
/series/indieweb/
/series/servidores/
/series/cinema-estranho/
Prioridade: alta.
15.4. Tags úteis, não lixo
Evite tag demais.
Ruim:
web, internet, site, coisa, teste, pessoal, misc
Bom:
indieweb
activitypub
rss
selfhosted
cinema-estranho
infra-log
portal-idea
Prioridade: alta.
15.5. Índice temático
Além de tags, crie páginas curatoriais:
/topics/indieweb/
/topics/fediverse/
/topics/selfhosting/
/topics/cinema/
/topics/books/
Essas páginas podem misturar artigos, notas, links, projetos e reviews.
Prioridade: altíssima.
16. Recursos experimentais e deliciosamente estranhos
16.1. Jardim digital
Caminho:
/garden/
Notas não necessariamente finalizadas, conectadas por links internos.
Estados:
seedling
budding
evergreen
withered
Prioridade: alta se você realmente usar.
Risco: virar depósito bagunçado.
16.2. Wiki pessoal
Caminho:
/wiki/
Para conceitos recorrentes:
/wiki/indieweb/
/wiki/activitypub/
/wiki/gotosocial/
/wiki/rss/
/wiki/permacomputing/
/wiki/napoleon-dynamite-core/
Prioridade: alta para pesquisador.
16.3. Zettelkasten público parcial
Notas conectadas por backlinks.
Recursos:
- backlinks;
- links internos
[[assim]]; - grafo opcional;
- tags;
- estado da nota.
Cuidado: grafo visual quase sempre é enfeite inútil. Backlinks textuais são mais úteis.
Prioridade: média-alta.
16.4. Página “on this day”
Mostra posts publicados no mesmo dia em anos anteriores.
Em 30 de junho:
- 2024: texto X
- 2025: projeto Y
- 2026: nota Z
Prioridade: média.
16.5. Moodboard público
Caminho:
/moodboard/
Imagens, cores, referências visuais, pôsteres, screenshots de interfaces, capas.
Cuidado: copyright. Use links, thumbnails próprios quando permitido, ou imagens livres.
Prioridade: média.
16.6. Página “signals”
Um painel com sinais vivos:
último post
última nota
último filme visto
último livro finalizado
última música ouvida
último projeto atualizado
status dos servidores públicos
Prioridade: alta para você.
16.7. Status board pessoal
Inspirado em Panic Status Board, mas small web:
/status/
Widgets:
- uptime público;
- posts recentes;
- cursos Portal IDEA publicados;
- scrobbles;
- filmes;
- RSS monitorados;
- servidores;
- tarefas de projetos;
- visitantes via analytics leve.
Prioridade: alta para você, mas não no MVP.
16.8. Rádio/TV pessoal integrada
Como você já tem Murad TV/Owncast:
/live/
/tv/
/radio/
Mostrar:
- player;
- programação;
- “now playing”;
- histórico;
- RSS da programação;
- chat ou link para chat.
Prioridade: alta para ecossistema Pablo.
16.9. Pet/site mascot
Um mascot pequeno tipo Prami ou Shelf Wraith.
Uso:
- aparece no rodapé;
- comenta páginas aleatórias;
- dá dicas de navegação;
- muda conforme horário ou seção;
- tem página própria.
Cuidado: se exagerar, vira cringe. Mascote bom é tempero, não prato principal.
Prioridade: média-alta.
16.10. “Site weather”
Um recurso poético mostrando o clima do site:
Site weather: quiet, caffeinated, indexing old ghosts.
Pode ser manual ou derivado de atividade recente.
Prioridade: baixa, mas charmoso.
17. Recursos para publicação constante
17.1. Templates de post
Comandos:
make note
make link
make article
make film
make book
make infra-log
Cada um gera frontmatter pronto.
Prioridade: altíssima.
17.2. Inbox de ideias
Caminho privado ou público:
/_inbox/
Para capturar ideias rapidamente.
Depois você promove para artigo, nota, projeto etc.
Prioridade: alta.
17.3. Rascunhos públicos opcionais
Alguns textos podem aparecer como draft/lab:
/lab/
Com aviso:
Isto é uma nota em progresso, não um artigo final.
Prioridade: média.
17.4. Sistema de “maturidade” do conteúdo
Estados:
seed ideia bruta
sprout nota inicial
leaf texto útil
tree referência estável
dead arquivado/obsoleto
Prioridade: média-alta para jardim digital.
17.5. Publicação por e-mail
Enviar e-mail para um endereço secreto e transformar em post.
Fluxo:
e-mail recebido
→ parser
→ gera Markdown
→ commit
→ build
Prioridade: média.
Dificuldade: média.
17.6. Publicação por Telegram/Matrix/Discord privado
Você manda uma mensagem para um bot e ele cria nota.
Prioridade: alta para praticidade.
Dificuldade: média.
Minha opinião: para você, isso pode ser mais útil que Micropub. Você já vive em automação e bot.
18. Recursos anti-enshittification
18.1. Sem dependência de algoritmo
Tudo deve ser navegável por:
- cronologia;
- tags;
- busca;
- tópicos;
- arquivo;
- feeds;
- links internos.
Prioridade: altíssima.
18.2. Conteúdo canônico no seu domínio
Nunca trate LinkedIn, Mastodon, Bluesky ou Reddit como origem permanente.
Regra:
Se é importante, nasce ou morre arquivado no seu site.
Prioridade: absoluta.
18.3. Links externos com contexto
Não faça só lista de links. Dê contexto.
Ruim:
https://example.com
Bom:
Readable CSS — uma base CSS minimalista boa para texto longo. Útil se você quer legibilidade sem framework.
Prioridade: alta.
18.4. Link rot detection
Script periódico para detectar links mortos.
Relatório:
links quebrados
redirecionamentos
certificados vencidos
HTTP 403/404/500
Prioridade: alta.
18.5. Snapshot de links importantes
Para links críticos, salvar:
- título;
- autor;
- data;
- resumo;
- URL original;
- archive.org se disponível;
- trecho curto.
Cuidado: não republicar conteúdo alheio integralmente.
Prioridade: média-alta.
19. SEO sem vender a alma
19.1. Metadados básicos
- title;
- description;
- canonical;
- Open Graph;
- Twitter Card;
- JSON-LD opcional;
- sitemap.
Prioridade: alta.
19.2. Open Graph decente
Cada post deve ter imagem social simples.
Você pode gerar cards automaticamente:
título
categoria
data
pablo.space
Prioridade: média-alta.
19.3. Páginas topic-first
Para SEO e utilidade, crie páginas por assunto:
/topics/rss/
/topics/activitypub/
/topics/gotosocial/
/topics/indieweb/
Essas páginas são melhores que tag burra porque têm introdução, curadoria e links.
Prioridade: alta.
20. Segurança e operação
20.1. Site estático como padrão
Se puder ser estático, deixe estático.
Vantagens:
- barato;
- rápido;
- seguro;
- fácil de backup;
- fácil de migrar.
Prioridade: absoluta.
20.2. Build reproduzível
Use:
Makefile
justfile
Nix flake opcional
Dockerfile opcional
Comandos:
make dev
make build
make check
make deploy
Prioridade: alta.
20.3. CI com validação
No GitHub Actions/Forgejo Actions:
- build do site;
- validação de links internos;
- validação de HTML;
- geração de feeds;
- checagem de imagens pesadas;
- deploy.
Prioridade: alta.
20.4. Backup simples
Se o conteúdo está em Git, backup já fica fácil. Mesmo assim:
Git remoto 1
Git remoto 2
backup .tar.gz periódico
export de conteúdo
Prioridade: alta.
21. Craft CMS cabe aqui?
Sim, mas com ressalvas.
Quando Craft CMS faz sentido
Craft CMS cabe se o site virar um sistema editorial estruturado, com muitos tipos de conteúdo e relações complexas:
Posts
Notas
Filmes
Livros
Projetos
Servidores
Cursos
Pessoas
Links
Séries
Tags
Coleções
Mídia
Craft seria bom para:
- painel administrativo bonito;
- campos customizados;
- relações entre entidades;
- edição por pessoas não técnicas;
- assets/capas/imagens;
- conteúdo multilíngue;
- permissões;
- GraphQL/API;
- seções complexas.
Quando Craft CMS é exagero
Craft é exagero se o objetivo inicial for:
blog pessoal
notes
RSS
Webmention
arquivo Markdown
site rápido
small web artesanal
Porque ele traz:
- banco de dados;
- painel;
- atualizações;
- plugins;
- backup mais delicado;
- superfície de ataque;
- hospedagem mais exigente;
- menos portabilidade que Markdown puro.
Recomendação honesta
Para começar:
Zola ou Astro + Markdown + Pagefind + Webmention.io
Para evoluir quando houver necessidade real:
Craft CMS headless ou Craft CMS completo
Mas não comece com Craft só porque ele é bonito e poderoso. Poder sem necessidade vira manutenção. Você já tem projetos demais; não precisa construir outro castelo antes de saber se vai morar nele.
22. Stack recomendada para você
MVP forte
Zola
Markdown
Templates Tera
CSS próprio
Pagefind ou Elasticlunr
RSS/Atom/JSON Feed
Microformats2
Webmention.io
GitHub/Codeberg Actions
Deploy em servidor próprio, Cloudflare Pages ou GitHub Pages
Stack alternativa moderna
Astro
Content Collections
Markdown/MDX
Pagefind
RSS/Atom
Microformats2 em componentes
Webmention.io
Deploy em Cloudflare Pages ou servidor próprio
Stack mais editorial
Craft CMS
PostgreSQL/MySQL
Templates Twig
Feed plugin/custom
Webmention custom/plugin
Campos estruturados
GraphQL opcional
Stack que eu evitaria no começo
Next.js + React para blog simples
WordPress cheio de plugin
Craft antes de validar estrutura editorial
ActivityPub próprio no MVP
Comentários locais sem moderação forte
23. Roadmap prático recomendado
Fase 1 — Fundação
- domínio;
- homepage;
- about;
- now;
- uses;
- blog;
- notes;
- RSS/Atom;
- sitemap;
- h-card;
- h-entry;
- rel-me;
- CSS leve.
Fase 2 — Arquivo vivo
- film log;
- reading log;
- projects;
- infra log;
- links/bookmarks;
- blogroll;
- OPML;
- busca local;
- tags e tópicos.
Fase 3 — IndieWeb real
- Webmention receive;
- Webmention send;
- syndication links;
- página
/syndications/; - POSSE manual;
- reply posts;
- likes/bookmarks próprios.
Fase 4 — Automação
- bot para criar notes;
- publicação por Telegram/Matrix;
- import PESOS seletivo;
- cards sociais automáticos;
- link checker;
- changelog automático;
- backfeed parcial.
Fase 5 — Federação/experimentos
- WebFinger;
- Bridgy Fed;
- ActivityPub via serviço ou implementação própria;
- twtxt;
- IPFS snapshot;
- painel status;
- mascote.
24. Lista curta dos recursos mais excepcionais
Se eu tivesse que escolher só 20, seriam estes:
- Domínio como identidade principal.
rel=me.h-card.h-entry.- RSS/Atom completo e segmentado.
- JSON Feed.
- Blogroll + OPML.
- Página
/now/. - Página
/uses/. - Página
/colophon/. - Webmention recebida.
- Webmention enviada.
- POSSE com links de syndication.
- Página
/syndications/. - Notes/microblog no próprio site.
- Linklog/bookmarks comentados.
- Film log e reading log.
- Infra log.
- Busca local.
- Publicação rápida por bot/painel.
Esses 20 já dariam um site pessoal brutalmente acima da média.
25. O que eu faria no seu caso específico
Eu montaria um site chamado algo como:
pablo.space
Com a seguinte estrutura:
/
/about/
/now/
/uses/
/colophon/
/blog/
/notes/
/links/
/projects/
/infra-log/
/film-log/
/reading/
/garden/
/wiki/
/syndications/
/blogroll/
/status/
/live/
/feed.xml
/feeds/
E separaria a identidade assim:
pablo.space casa pessoal/autoral
pablomurad.com perfil mais profissional
portalidea.com.br negócio
runv.club comunidade/pubnix
murad.social fediverso
Não misture tudo no mesmo site. Misturar Portal IDEA, diário pessoal, cinema estranho, GoToSocial, servidores, dieta, artigo técnico e mascote no mesmo lugar sem arquitetura vira gaveta bagunçada.
A solução é ter um site pessoal com seções claras e links para os outros mundos.
26. Fontes e referências consultadas
- IndieWeb Standards: https://spec.indieweb.org/
- IndieWeb specifications: https://indieweb.org/specifications
- W3C Webmention Recommendation: https://www.w3.org/TR/webmention/
- Webmention site: https://webmention.net/
- W3C Micropub Recommendation: https://www.w3.org/TR/micropub/
- W3C IndieAuth: https://www.w3.org/TR/indieauth/
- IndieAuth: https://indieauth.net/
- W3C WebSub Recommendation: https://www.w3.org/TR/websub/
- Microformats Wiki: https://microformats.org/wiki/Main_Page
- Microformats2: https://microformats.org/wiki/microformats2
- MDN Microformats: https://developer.mozilla.org/en-US/docs/Web/HTML/Guides/Microformats
- IndieWeb backfeed: https://indieweb.org/backfeed
- IndieWeb PESOS: https://indieweb.org/PESOS
- W3C ActivityPub Recommendation: https://www.w3.org/TR/activitypub/
- ActivityPub Rocks: https://activitypub.rocks/
- IndieWeb Post Kinds Plugin: https://indieweb.org/Post_Kinds_Plugin
- IndieWeb responses: https://indieweb.org/responses
- IndieWeb fragmention: https://indieweb.org/fragmention
- twtxt documentation: https://twtxt.dev/
- twtxt original docs: https://twtxt.readthedocs.io/en/latest/user/intro.html
- 32-Bit Cafe personal web resources: https://discourse.32bit.cafe/t/resources-list-for-the-personal-web/49
- Ye Olde Blogroll: https://blogroll.org/
27. Conclusão
O melhor site IndieWeb/small web para você não deve tentar ser uma rede social inteira no primeiro dia. Ele deve ser um arquivo vivo, com identidade própria, feeds bons, semântica HTML, Webmentions, POSSE, logs pessoais e catálogo dos seus mundos.
A tecnologia deve servir a isso, não sequestrar o projeto.
A frase guia deveria ser:
Meu site é a origem. O resto da internet são ecos.
Did this resonate?
Related documents
- 001
- 002
- 003
- 004
- 005