Então, você é um desenvolvedor querendo começar um blog? Neste guia, vou orientá-lo na execução de seu próprio blog, desde nomes de domínio e criação de sites até SEO e distribuição.
Índice
Se você quiser se aquecer um pouco antes de passar pelo esforço de configurar seu próprio site, a coisa mais fácil e simples a fazer é apenas começar a escrever e contribuir com seu trabalho para plataformas de blogs existentes.
Em última análise, a coisa mais difícil sobre blogs é a própria escrita - pelo menos, esse é geralmente o caso de nós, desenvolvedores! Portanto, não custa nada experimentar primeiro para ver se você gosta. Além disso, como veremos mais adiante, ainda é útil usá-los mesmo se/quando você configurar seu próprio site de blog separado.
Você provavelmente já ouviu falar de dev.to - ainda é a maior plataforma de blog para desenvolvedores e é por onde eu recomendo que você comece. Você pode facilmente começar a escrever usando seu editor de markdown simples, e ele tem um grande número de leitores, então você terá um bom número de olhos em seu trabalho imediatamente.
Possui ótimas análises integradas, que podem ajudá-lo a ver quantas pessoas estão lendo suas postagens e até mesmo como as encontraram - por exemplo, Reddit ou Twitter. Isso ajuda você a ver o que está funcionando melhor ao compartilhar seu trabalho.
Seu design contém muitos elementos de estilo de mídia social, com curtidas e reações a postagens, bem como tópicos de discussão no estilo quadro de mensagens. (Isso pode ser um pró ou um contra, dependendo do seu gosto.)
Em caso de dúvida, comece por aqui!
Hashnode é um site de blog de desenvolvimento mais recente. Na minha opinião, tem um ar muito mais profissional do que o dev.to. Parece muito mais voltado para blogs do que dev.to e menos como um site de mídia social; ele dá a você um subdomínio de blog separado, dando ao seu blog um pouco de sua própria identidade separada dentro do site.
Se desejar, você pode até conectá-lo ao seu próprio nome de domínio privado, se desejar.
Infelizmente, porém, é muito menos popular do que dev.to e, na minha experiência, quase não recebo tráfego por meio dele. Se você gosta de seu estilo mais limpo, pode valer a pena dar uma olhada, mas espere fazer mais trabalho braçal para que suas postagens sejam notadas.
HackerNoon é muito diferente de dev.to e Hashnode, pois qualquer artigo que você enviar para lá precisa passar por um editor humano que trabalha com você para garantir que seu artigo esteja no seu melhor antes de ser publicado. No entanto, eles podem optar por não publicar seu artigo.
Isso tem suas compensações; por um lado, é um grande aprendizado, mas, por outro, limita sua liberdade de simplesmente postar quando e o que quiser. Portanto, eu recomendaria enviar o trabalho para o HackerNoon pela experiência de aprendizado que ele proporcionará a você, mas considere manter o lar principal do seu blog em outro lugar.
Infelizmente, criar seu próprio blog envolve uma das tarefas mais temidas do desenvolvedor - nomear coisas! Embora não seja muito difícil de um ponto de vista puramente técnico, vale a pena olhar e pensar antecipadamente; pense nisso enquanto estiver configurando seu site.
Existem duas escolhas principais aqui:
Nomeie seu blog com seu próprio nome
Dê ao seu blog uma identidade própria com um nome separado
Encontrei opiniões variadas sobre cada um; para o meu próprio blog, eu simplesmente o nomeei com meu próprio nome. Meu pensamento é que, se você está usando um blog para ajudar a divulgar seu nome, por que não usar seu nome em seu blog?
Seja qual for a sua escolha, lembre-se de que seu domínio é um pouco difícil de mudar, então vale a pena reservar um tempo para encontrar um com o qual você esteja confiante. No entanto, você pode ter que repensar ou adaptar seu domínio se o que você gostaria já estiver em uso, então verifique se ele está disponível antes de colocar seu coração nele.
Você provavelmente já ouviu falar de muitos registradores de domínio, como BlueHost , Hostinger , GoDaddy e Namecheap .
No entanto, uma chave para verificar é o Google Domains , porque este é o único registrador que vende domínios .dev
. Meu conselho é que .com
ainda é o melhor se você conseguir um, então se houver um disponível que você goste, vá em frente, mas se não, então .dev
pode ser uma ótima alternativa.
Observe que os domínios custam valores variados e, além disso, você deve pagar todos os anos para mantê-los. Os domínios podem custar tão baratos quanto $ 10 por ano, então, a menos que você esteja comprando um domínio para fins comerciais, pense bem antes de comprar um domínio caro.
Um gerador de site estático - ou SSG - criará o modelo e gerará o conteúdo de um site para que possa ser servido como arquivos estáticos mantidos em um servidor da web.
Depois de configurar a estrutura principal do site - como sua página inicial, índice de posts, página 'sobre', etc. - você pode gerar páginas completas simplesmente adicionando arquivos markdown.
Resumindo, SSGs
dar-lhe sites rápidos
permitem que você publique usando um fluxo de trabalho GitOps
são seguros (sem banco de dados para hackear!)
permitem que você aproveite suas habilidades tecnológicas, em vez de ficar limitado ao que as plataformas podem fornecer
Como desenvolvedores, usamos algo praticamente todos os dias que faz algo muito semelhante: o GitHub. Em nossos repositórios de código, escreveremos readmes e outras documentações em markdown, e o GitHub formata-o bem para visualização em uma página da web.
Um SSG pode permitir que você siga praticamente o mesmo fluxo de trabalho do GitOps para seu próprio blog. Quando comecei a escrever no dev.to, gerenciei meus rascunhos em um repositório Git. Isso foi bom até querer publicar, momento em que precisei transferir o conteúdo para o editor da web.
Tudo bem, mas quando descobri que os SSGs podem permitir que você use o mesmo fluxo de trabalho para atualizar um leia-me no GitHub, isso foi o suficiente para eu querer saber mais.
Uma maneira comum de configurar um blog é usar algo como o WordPress; isso tem muitas vantagens, com certeza, mas armazena todo o seu conteúdo em um banco de dados. Um site gerado estaticamente não precisa de um, o que, por um lado, significa que será muito mais rápido.
A velocidade não é tudo, é claro, mas o Google se preocupa com a rapidez com que seu site carrega , então por que não aproveitar a velocidade que um site gerado por SSG pode oferecer?
Para criar um site estático, recomendo o Hugo . Resumindo, isso ocorre porque é popular, bem suportado, rápido e permite que você comece a trabalhar rapidamente com modelos predefinidos.
(Para obter detalhes sobre SSGs alternativos, consulte a seção Comparando SSGs no apêndice.)
A página de início rápido dos documentos oficiais do Hugo fornece uma ótima descrição de como configurar um site básico do Hugo. Siga as etapas fornecidas, mas quando você chegar aos comandos 'criar um site' , recomendo alterá-los para o seguinte:
hugo new site quickstart cd quickstart git init echo "/public/" >> .gitignore echo "/resources/_gen/" >> .gitignore echo ".hugo_build.lock" >> .gitignore git clone https://github.com/leafee98/hugo-theme-flat themes/flat rm -rf themes/flat/.git/ themes/flat/.github/ echo "theme = flat" >> hugo.toml hugo server
Isso tem as seguintes diferenças do guia oficial:
.gitignore
Ao criar seu repositório GitHub, torne-o privado - isso é por motivos de SEO, que exploraremos mais tarde.
Depois de seguir o guia, você terá um site pronto para hospedar! Neste ponto, provavelmente haverá aspectos do site que você desejará alterar. No entanto, você não precisa deixar que isso o impeça de ser hospedado.
A principal coisa que você deseja evitar alterar posteriormente são seus URLs ; todo o resto pode ser alterado mais tarde.
Como descreve a seção Hospedagem e implantação dos documentos do Hugo, como você tem um site estático, ele pode ser hospedado virtualmente em qualquer lugar e quase certamente de graça também.
Claro, também existem muitos hosts gratuitos/baratos para sites baseados em WordPress, mas qualquer host em particular fornecerá apenas uma largura de banda limitada; em geral, um site estático oferece mais largura de banda pelo seu investimento, mesmo que você não tenha realmente entregue nenhum dinheiro.
O guia de hospedagem de Hugo lista muitas possibilidades, mas, pessoalmente, posso concordar com a recomendação de Bryce Wray de usar CloudFlare Pages ; seu nível gratuito é possivelmente o mais rápido que existe e é fácil de usar.
Basta seguir o guia de 'configuração de um repositório GitHub' em diante. Neste ponto, seu site estará online! Mas você terá um domínio feio como my-blog-xyz.pages.dev
. Basta seguir o guia do CloudFlare sobre como configurar um domínio personalizado para colocar seu site no ar no domínio que você comprou anteriormente.
Vaidade das vaidades, tudo é vaidade!
— Eclesiastes 1:2
Agora, estritamente falando, esta é uma etapa opcional, mas neste ponto, vale a pena configurar análises para o seu site. Talvez eu seja apenas vaidoso, mas para mim, muito divertido de blogar é poder ver que as pessoas realmente veem e se importam com o que você escreve.
Uma limitação da configuração de um site estático é que você não pode hospedar análises sozinho, pois isso exigiria algum tipo de banco de dados. Mas isso não é um grande problema de qualquer maneira, pois existem muitos bons provedores de análise de terceiros disponíveis.
O maior de que você provavelmente já ouviu falar é o Google Analytics.
A configuração de análises com um provedor terceirizado geralmente envolve
Configurando uma conta
Adicionar um snippet ou link de javascript às suas páginas.
No modelo Hugo que recomendei, você simplesmente adicionaria algo como o seguinte ao seu arquivo de modelo head.html
:
{{/* Include analytics, but only in production */}} {{- if hugo.IsProduction | or (eq site.Params.env "production") }} <script defer data-domain="yourdomain.com" src="/link/to/script.js"></script> {{- end }}
Se você deseja configurar o GA para seu site, siga os documentos oficiais do Google .
O provedor de análise que usei é Plausible . Infelizmente, não é gratuito - cerca de US $ 9 por mês - mas é fácil de usar, leve (o script tem menos de 1 kb) e respeita a privacidade, por isso vale a pena dar uma olhada na IMO.
Se você construir, eles virão
- Campo dos sonhos
Há alguma verdade na citação acima; não há muito que você precise fazer para colocar seu blog no Google e, felizmente , os dias de travessuras de palavras-chave terminaram ; o que realmente importa é escrever um bom conteúdo , o que é uma boa notícia para blogueiros independentes como nós.
Dito isso, há algumas coisas que você pode fazer para garantir que seu site esteja pronto para os mecanismos de pesquisa.
Os rastreadores da web do Google encontrarão seu site eventualmente, mas certamente ajuda a dar ao Google uma vantagem inicial e configurar seu site no console de pesquisa do Google . Você vai querer fazer o seguinte:
sitemap.xml
do seu site na guia Sitemap. Felizmente, Hugo terá gerado um para você em https://yourdomain.com/sitemap.xml
.
Feito isso, o Google (em algum momento, nos próximos dias) iniciará um rastreamento do seu site. Observe que há um atraso de alguns dias no console de pesquisa.
A maneira mais confiável de ver o que está indexado em seu site é pesquisar no Google usando um site:
query, por exemplo, site:yourdomain.dom
.
Outro benefício útil de configurar o console de pesquisa é que, na guia 'Páginas', você pode ver todos os problemas relatados sobre o motivo pelo qual o Google não pode ou não indexa suas páginas.
Hugo e o modelo que estamos usando devem cobrir a maioria das bases para boas práticas de SEO. Mesmo assim, não custa nada verificar seu site na ferramenta PageSpeed Insights do Google . (Isso se tornará mais importante se/quando você começar a tornar seu site mais do seu agrado, ajustando os arquivos de modelo.)
Isso lhe dará uma boa visão geral do desempenho, acessibilidade e quaisquer problemas de SEO (como meta tags ausentes) da página.
Um conceito de SEO que é fundamental para entender como blogueiro é a canonização e URLs canônicos . Basicamente, a ideia é que o mesmo conteúdo possa ser acessado por meio de diferentes URLs, mas você não quer que o Google divida a classificação de uma única página em vários URLs.
Portanto, você pode fazer com que uma página declare qual URL os mecanismos de pesquisa devem considerar como sendo o URL da página.
Lembre-se que CloudFlare também gera um domínio “feio” como my-blog-xyz.pages.dev
ao lado de seu domínio personalizado. A maioria (se não todos) os provedores de hospedagem não permitem que você desative esse domínio básico, mas desde que você tenha URLs canônicos configurados em suas páginas, isso não será um problema - o Google listará apenas sob seu domínio personalizado, não o “feio”.
Uma das razões pelas quais recomendo o tema Flat para Hugo é que (ao contrário do padrão recomendado do Ananke) ele já inclui um link canônico. No entanto, se você quiser usar um tema diferente, pode adicioná-lo simplesmente ao seu modelo de cabeçalho da seguinte forma:
<link rel="canonical" href="{{ .Permalink }}" />
Você pode verificar se isso está configurado corretamente para qualquer página, verificando-o na ferramenta PageSpeed Insights mencionada acima; você verá se uma página tem um URL canônico como um item da lista de verificação na seção “SEO”.
Exploraremos mais a canonização na seção sobre republicação , mais abaixo.
Você deve se lembrar que tornou seu repositório do GitHub privado. Isso ocorre porque (no momento da redação) você não pode adicionar URLs canônicos ou tags noindex aos documentos markdown e, portanto, isso serve como outro problema sutil de duplicação de código. Um repositório privado resolve esse problema.
Você provavelmente já ouviu falar que um dos fatores na classificação de um site no Google é quantos outros sites têm links para ele; isto é conhecido como autoridade de domínio , e tais links de um site para outro neste contexto são conhecidos como backlinks .
Não vou falar sobre como “cultivar” backlinks para aumentar a classificação do seu blog no Google; por um lado, o Google ficou sabendo de tais esquemas e, além disso, um dos benefícios de criar seu próprio site é que você pode ajudar a tornar a web um lugar melhor, em vez de preenchê-la ainda mais com tal babaquice.
Em vez disso, o principal argumento é simplesmente que levará algum tempo até que você consiga uma boa classificação no Google ; você não terá muita autoridade de domínio para começar, mas isso aumentará com o tempo. Como sempre, seu foco deve ser simplesmente escrever os melhores posts que você puder.
A publicidade só é má quando anuncia coisas más.
—David Ogilvy
Por mais que eu adore dizer que o Google ser capaz de encontrar seu blog é suficiente, realisticamente, realmente ajuda a fazer um pouco de auto-publicidade e compartilhar suas postagens online.
A melhor maneira de fazer isso é postando links para seus artigos no Reddit. Postar nas mídias sociais não dói, mas a principal vantagem do Reddit é que seu sistema de votação significa que boas postagens (como tenho certeza que a sua será) podem permanecer nas primeiras páginas de um subreddit por um tempo, em vez de serem varridas imediatamente ao longo da linha do tempo.
Poste em um subreddit específico, como a linguagem de programação ou tecnologia sobre a qual você está escrevendo. Quanto maior o subreddit, mais pessoas potencialmente verão sua postagem, mas o problema é que grandes subreddits como /r/programming
podem muitas vezes fazer com que muitas pessoas rebaixem taticamente boas postagens simplesmente para enterrá-las, a fim de ajudar a manter suas próprias postagens em principal.
Em vez disso, você terá mais sorte ao aderir aos Reddits mais específicos que se aplicam à sua postagem; essas comunidades são mais propensas a se importar e ler sua postagem e são mais receptivas à autopromoção.
Se você não estiver familiarizado com um subreddit, sempre verifique as regras da comunidade antes de postar . Cada subreddit terá regras diferentes, em particular, tolerâncias diferentes para vincular seus próprios artigos.
Isso pode variar entre proibições totais de autopublicidade, uma expectativa de que você não poste demais ou nenhuma restrição.
Outra regra importante a ser observada são os tópicos de postagem indesejados , possivelmente com um redirecionamento para um subreddit mais apropriado. Por exemplo, as regras de /r/programming
solicitam que você redirecione questões técnicas para r/learnprogramming
e, da mesma forma, listas de empregos para /r/forhire
.
Independentemente das regras do subreddit ao qual você está se submetendo, é sempre uma boa ideia fazer parte da comunidade em vez de usar o Reddit apenas como uma ferramenta para seus próprios fins. Publique links de outros blogs que você goste, participe de discussões e apenas divirta-se.
Leia o “Reddiquette” de vez em quando para verificar se você está participando de forma responsável.
Por mais recompensador que seja ter seu próprio blog separado, ainda é útil republicar postagens em plataformas de blogs para desenvolvedores, como dev.to. Você pode se perguntar por que voltamos ao círculo completo depois de reservar um tempo para criar seu próprio blog.
Em última análise, tudo o que importa é que seus pensamentos sejam lidos e apreciados por outros desenvolvedores, e a republicação ajuda você a fazer isso simplesmente adicionando outra maneira de as pessoas encontrarem seu trabalho.
Outro benefício importante, porém, é que ele ajuda você a criar autoridade de domínio para seu próprio blog por meio de backlinks - mas, para que seu site seja creditado com esses backlinks, você precisa republicar da maneira certa.
Lembra do conceito de URLs canônicos que discutimos anteriormente? Ao republicar seus artigos em outro lugar, o ideal é que você poste apenas em sites que permitem indicar que a versão canônica de seu artigo é aquela em seu blog.
Dessa forma, você obtém os benefícios de exposição da republicação, mas quaisquer backlinks resultantes aumentam a autoridade de domínio do seu próprio blog.
Conforme detalhado no guia do editor do dev.to , você pode adicionar uma URL canônica simplesmente adicionando uma propriedade canonical_url
às propriedades de “primeira página” de uma postagem.
Você pode definir um URL canônico em um artigo do Hashnode na seção “Você está republicando?” seção na visualização “Configurações do artigo” para um artigo. (Veja seus documentos para mais detalhes.)
Conforme abordado nos documentos do HackerNoon , você pode definir um URL canônico em “Primeiro visto em” nas configurações de sua postagem.
Conforme observado por este artigo do Hashnode , pense duas vezes antes de republicar seu trabalho no FreeCodeCamp, pois eles não permitem que você defina um URL canônico. De fato, esta postagem do dev.to detalha o impacto negativo que isso causou em certos blogueiros por causa disso.
Outro benefício de republicar é que parte do trabalho braçal para compartilhar seu trabalho no Reddit e outras mídias sociais geralmente será feito para você.
Bots e blogueiros que selecionam artigos para comunidades específicas geralmente encontram seu trabalho por meio de tags específicas em plataformas de blog e o compartilham nas mídias sociais.
A republicação tem alguns custos, no entanto:
Portanto, vale a pena considerar republicar algum tempo depois de publicar o original (digamos, uma ou duas semanas, mas depende de você). Isso tem os seguintes benefícios:
Embora, felizmente, Agile signifique que o desenvolvimento de software raramente envolve a produção de resmas e resmas de documentos como pode ter feito em épocas anteriores, acho que o pêndulo balançou um pouco longe demais para o outro lado e, portanto, uma boa documentação que ajuda a introduzir os recém-chegados ao um sistema ou repositório é tristemente negligenciado.
E à medida que avança em sua carreira como desenvolvedor, você terá cada vez mais necessidade de destilar seu pensamento e explicar conceitos e sistemas complicados de maneira clara e concisa.
Os blogs oferecem uma ótima maneira de praticar essas habilidades. Em particular, ter uma audiência é um grande fator motivador!
Uma coisa é ter uma lista de tecnologias que você conhece em seu currículo; outra bem diferente é provar que você realmente os entende, sendo capaz de criar links para artigos que você escreveu que demonstram claramente que você conhece seu ofício por dentro e por fora.
Jeff Atwood conheceu Joel Spolsky em parte por meio de seu blog, Coding Horror , e eles criaram uma coisinha chamada Stack Overflow.
Você não pode garantir que essas coisas acontecerão simplesmente criando um blog, mas certamente também não faz mal. E especialmente em áreas de nicho de tecnologia, você pode descobrir que seu nome pode se destacar para alguém por ter lido um artigo seu no passado.
Aqui estão meus pensamentos sobre alguns SSGs populares e como decidi por Hugo. Veja jamstack.org para uma lista muito maior.
Jekyll costumava ser muito popular, mas é menos agora. Ele alimenta as páginas do GitHub e é muito voltado para blogs. Inicialmente, considerei isso, mas fiquei desanimado com sua estrutura rígida de URL, que insiste que as páginas do blog tenham um componente de data embutido na URL, algo que eu queria evitar em meu próprio blog.
Isso pode ser evitado fazendo postagens como parte de um tipo de “coleção” mais abstrato, mas isso perderia muitos dos benefícios de trabalhar dentro de sua própria abstração de postagem de blog.
O Eleventy é um SSG que vem ganhando muita popularidade. Ele é alimentado por node.js e é muito flexível; você pode personalizar o mecanismo de modelo e o renderizador de remarcação, permitindo até mesmo usar opções diferentes para páginas diferentes no mesmo site.
A principal desvantagem que encontrei com isso é que ele não vem com nenhum modelo integrado, então você não pode facilmente gerar um blog direto da caixa. De referir ainda que roda em node, tornando a sua instalação mais complicada; não é um obstáculo de forma alguma, mas não tão conveniente quanto Hugo.
Gatsby também está se tornando muito popular ultimamente. No entanto, ele gera aplicativos de página única baseados em reação em vez de sites estáticos. Esta é uma opção válida; Eu queria a simplicidade do puro HTML e CSS ao criar meu blog.
Além disso, vi que este escritor teve uma experiência ruim ao usá-lo, recomendando Hugo em seu lugar.
Por fim, chegamos ao Hugo, o SSG que uso em meu próprio blog. Está escrito em Go, o que significa que usá-lo significa instalar um único binário. Isso tem vantagens do ponto de vista de hospedagem; você pode apenas especificar a versão do Hugo no meu provedor e pode ter certeza de que ele se comportará da mesma maneira que faria localmente.
É incrivelmente rápido. Embora isso faça pouca diferença quando seu blog contém apenas algumas postagens, é bom saber que o tempo de construção permanecerá rápido de forma confiável à medida que seu site cresce.
É o SSG mais popular (a julgar pelas estrelas do GitHub) , o que significa que é bem usado e documentado e bem suportado por praticamente qualquer plataforma de hospedagem de sites estáticos.
Acima de tudo, tem modelos para você começar. Embora você provavelmente deseje criar seus próprios modelos em algum momento (ou pelo menos modificá-los ao seu gosto) - pelo menos lhe dá algo para começar fora da caixa.
Sua principal desvantagem é que ele usa a linguagem de modelagem do Go; não é terrível de forma alguma, mas é um pouco desajeitado em comparação com alguns, e se você estiver interessado em outro idioma de modelo, não terá sorte aqui. Se isso é um problema para você, talvez valha a pena dar uma olhada no Eleventy.