<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ana Caroline Campos</title>
    <description>The latest articles on Forem by Ana Caroline Campos (@coderanac).</description>
    <link>https://forem.com/coderanac</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F495884%2F0952d028-10ec-4c35-ab18-4e7a13714ff8.jpg</url>
      <title>Forem: Ana Caroline Campos</title>
      <link>https://forem.com/coderanac</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/coderanac"/>
    <language>en</language>
    <item>
      <title>Documenta seu PR/MR, criatura- PR's template</title>
      <dc:creator>Ana Caroline Campos</dc:creator>
      <pubDate>Thu, 22 Feb 2024 13:33:57 +0000</pubDate>
      <link>https://forem.com/coderanac/documenta-seu-prmr-criatura-prs-template-48fm</link>
      <guid>https://forem.com/coderanac/documenta-seu-prmr-criatura-prs-template-48fm</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou57kubz5qn5gyoshfrq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou57kubz5qn5gyoshfrq.png" alt="Print de um mr com 128 alterações sem nenhuma descrição" width="479" height="112"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbogqtum92cou98owafga.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbogqtum92cou98owafga.png" alt="Aí meu deus, ainda é quarta-feira" width="480" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quem nunca viu ou abriu um PR/MR sem descrição, né!? 💩&lt;/p&gt;

&lt;p&gt;Agora vamos passar disso aí pra isso aqui:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8qha6cs8qb3p617nzute.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8qha6cs8qb3p617nzute.png" alt="PR com descrição" width="615" height="751"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Como que faço isso?
&lt;/h2&gt;

&lt;p&gt;Simples, simples, simples. &lt;/p&gt;

&lt;h4&gt;
  
  
  Github:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Add na raiz do seu projeto um arquivo markdown com esse nome &lt;code&gt;pull_request_template.md&lt;/code&gt; e taca na main.&lt;/li&gt;
&lt;li&gt;Insere lá esse &lt;a href="https://github.com/coderanac/template-pr/blob/main/pull_request_template.md"&gt;markdown&lt;/a&gt; aqui e prontinho.&lt;/li&gt;
&lt;li&gt;No seu próximo PR ela já aperce automágicamente.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Gitlab:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Add no seu projeto um arquivo markdown com esse nome &lt;code&gt;.gitlab/pull_request_template.md&lt;/code&gt; e taca na main.&lt;/li&gt;
&lt;li&gt;Insere lá esse &lt;a href="https://github.com/coderanac/template-pr/blob/main/pull_request_template.md"&gt;markdown&lt;/a&gt; aqui e prontinho.&lt;/li&gt;
&lt;li&gt;Na hora de abrir um MR é só escolher o template na descrição:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuf90gi7ikfg5pdcfnwc4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuf90gi7ikfg5pdcfnwc4.png" alt="Campo select de um template em descrição" width="434" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Pra que cê vai gastar mais tempo meu?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbrov24ewbufp3n4c6ohe.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbrov24ewbufp3n4c6ohe.gif" alt="Bob esponja bobo" width="300" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Documentação
&lt;/h4&gt;

&lt;p&gt;Pra ter registrado de forma legível para devs e não devs o que foi feito, quando, como, porquê. Isso na hora de demonstrar seu trabalho com sua liderança é ótimo.&lt;/p&gt;

&lt;h4&gt;
  
  
  Evitar retrabalho
&lt;/h4&gt;

&lt;p&gt;Devs tem que entender código, mas saber porquê você fez as alterações e uma breve explicação das lógicas vai economizar tempo com dúvidas e ajudar num code review menos cansativo. Pegar melhorias na etapa de code review é muito melhor que pegar com pressão do seu tech lead ou PO.&lt;/p&gt;

&lt;p&gt;Use, adapte ao seu cenário e seja feliz. E pra deixar ainda mais lindo e de fácil rastreio eu indico DEMAIS esse cara aqui: &lt;a href="https://gitmoji.dev/"&gt;https://gitmoji.dev/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4nn3n26ioyon7tnqczbc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4nn3n26ioyon7tnqczbc.gif" alt="simpson feliz, é sexta feita" width="498" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>pullrequest</category>
      <category>programming</category>
    </item>
    <item>
      <title>Diferença entre NPM INIT e NPX</title>
      <dc:creator>Ana Caroline Campos</dc:creator>
      <pubDate>Wed, 21 Feb 2024 03:57:13 +0000</pubDate>
      <link>https://forem.com/coderanac/diferenca-entre-npm-init-e-npx-10m2</link>
      <guid>https://forem.com/coderanac/diferenca-entre-npm-init-e-npx-10m2</guid>
      <description>&lt;p&gt;Tanto o &lt;strong&gt;npm init&lt;/strong&gt; quanto o &lt;strong&gt;npx&lt;/strong&gt; são usados para gerenciar pacotes do node. A difrença é que com o npm init nós instalamos um pacote, já no npx nós executamos ele. Bem simples.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F63lde3i6hf8qmc6gt5kb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F63lde3i6hf8qmc6gt5kb.png" alt="Meme com dois homens aranhas se encarando como se fossem iguais"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Podemos entender melhor usando o exemplo do create-react-app e do http-server.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm init react-app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;O &lt;strong&gt;npm init&lt;/strong&gt; é um inicializador de pacotes. Ele é usado para iniciar um template de projeto. Com ele não é preciso colocar o create como prefixo porque ele já faz isso automáticamente.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi0scogpxnmkt56dqtsy2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi0scogpxnmkt56dqtsy2.png" alt="Exemplo de código executado  com sucesso de npm init react-app"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx create-react-app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F67m9kdctg4kfvcgk5qfx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F67m9kdctg4kfvcgk5qfx.png" alt="Exemplo de códido executado com sucesso de npx create-react-app"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O npx é um executador (node package eXecute). Ele inicia seu trabalho rastreando na sua máquina ou na pasta do projeto por pacotes que correspondam ao que você está tentando executar. Caso ele não encontre ele fará download dessas depêndencias em uma pasta temporária.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9xzovfv2rcxrl1ro5ae0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9xzovfv2rcxrl1ro5ae0.png" alt="Exibindo pasta temporária do npx"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install http-server&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;E por último, o npm install  faz a instalação do pacote e depois disso você pode usá-lo só chamando o nome do pacote.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdnpyszvlorv5nq3vh5r5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdnpyszvlorv5nq3vh5r5.png" alt="Executando código com sucesso de npm install http-server -g"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quando pensamos no npm install é importante nos atentarmos para não termos pacotes globais desatualizados.&lt;/p&gt;

&lt;p&gt;Já com o npx o ideal é usar para pacotes que usaremos pontualmente. Fora isso rodem o npm install na pasta do projeto. É para você que quer usar um pacote sem instalar ele.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi1jdy7of3hc560ouz7u8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi1jdy7of3hc560ouz7u8.png" alt="Executando código de npx http-server"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O npm init, como o próprio nome diz, é um inicializador. Se você usar esse comando para um pacote que não é de inicialização você vai receber um erro bem bonito:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff2sb6nkk3dbp3pnbg8a0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff2sb6nkk3dbp3pnbg8a0.png" alt="Exibe erro ao tentar executar o código npm init http-server"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F27st95qsinz0ijwz1erl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F27st95qsinz0ijwz1erl.png" alt="To do list com começar a usar npm init e parar de usar npx para tudo listados"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;referências: &lt;a href="https://docs.npmjs.com/cli/v10/commands/npm-init" rel="noopener noreferrer"&gt;npm-init&lt;/a&gt;, &lt;a href="https://www.npmjs.com/package/npx" rel="noopener noreferrer"&gt;npx&lt;/a&gt;, &lt;a href="https://docs.npmjs.com/cli/v8/commands/npm-install" rel="noopener noreferrer"&gt;npm-install&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>npm</category>
      <category>npx</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Mais difícil que sair de um labirinto?</title>
      <dc:creator>Ana Caroline Campos</dc:creator>
      <pubDate>Wed, 01 Feb 2023 03:34:28 +0000</pubDate>
      <link>https://forem.com/coderanac/mais-dificil-que-sair-de-um-labirinto-k01</link>
      <guid>https://forem.com/coderanac/mais-dificil-que-sair-de-um-labirinto-k01</guid>
      <description>&lt;p&gt;Achar seu site é mais difícil que sair de um labirinto? Tá na hora de conhecer o SEO.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqqxab2os8c4c49jdvswu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqqxab2os8c4c49jdvswu.png" alt="Alice (de Alice no país das maravilhas) perdida em um labirinto" width="500" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;É de graça e vai por de forma orgânica (DE GRAÇA) seu site nas principais recomendações de buscas.&lt;/p&gt;

&lt;p&gt;DICA 1 - USE SCHEMAS &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ai52nuftmgrczgxdmam.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ai52nuftmgrczgxdmam.png" alt="Print de receitas de torta de maça mostrando como o uso dos rich snippets refletem nas buscas" width="509" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sabe quando você da um google e tem uma pré-visualização das informações do produto? Usamos os dados estruturados para passar essa informações para a ferramenta de busca como, por exemplo, o Google.&lt;br&gt;
Exemplo de um snippet&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script type="application/ld+json"&amp;gt;
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Party Coffee Cake",
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This coffee cake is awesome and perfect for parties.",
      "prepTime": "PT20M"
    }
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esse é um exemplo que tirei da doc do &lt;a href="https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data?hl=pt-br" rel="noopener noreferrer"&gt;Google&lt;/a&gt;, você pode usá-la, mas na doc oficial do &lt;a href="https://schema.org/docs/documents.html" rel="noopener noreferrer"&gt;schema.org&lt;/a&gt; você vai encontrar vários atributos usados por outras ferramentas de buscas além das usadas pelo Google como Bing, DuckDuckGo, Baidu (usada na China). Exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script type="application/ld+json"&amp;gt;
{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "author": "John Smith",
  "cookTime": "PT1H",
  "datePublished": "2009-05-08",
  "description": "This classic banana bread recipe comes from my mom -- the walnuts add a nice texture and flavor to the banana bread.",
  "image": "bananabread.jpg",
  "recipeIngredient": [
    "3 or 4 ripe bananas, smashed",
    "1 egg",
    "3/4 cup of sugar"
  ],
  "interactionStatistic": {
    "@type": "InteractionCounter",
    "interactionType": "https://schema.org/Comment",
    "userInteractionCount": "140"
  },
  "name": "Mom's World Famous Banana Bread",
  "nutrition": {
    "@type": "NutritionInformation",
    "calories": "240 calories",
    "fatContent": "9 grams fat"
  },
  "prepTime": "PT15M",
  "recipeInstructions": "Preheat the oven to 350 degrees. Mix in the ingredients in a bowl. Add the flour last. Pour the mixture into a loaf pan and bake for one hour.",
  "recipeYield": "1 loaf",
  "suitableForDiet": "https://schema.org/LowFatDiet"
}
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;DICA 2 - USE OS ATRIBUTOS DAS TAGS&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flcw1w31m2klwr1lcp5lu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flcw1w31m2klwr1lcp5lu.png" alt="Uma tag vermelha" width="600" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Descreve o que sua imagem é. Parece besta? E é. Mas isso vai fazer toda a diferença no seu ranqueamento (o que mexe diretamente no seu bolso) e o mais importante NA ACESSIBILIDADE. Seu site será mais inclusivo e isso é um tópico importantíssimo que podemos discutir em um outro post, mas voltando para o SEO, se eu tenho um site onde vendo sapatos e tenho 10 produtos com a descrição desses sapatos, no momento que alguém procurar por um, as minhas chances de aparecer entre os principais resultados são enormes. Foi mais rápido explicar sobre snippets do que sobre alt? Bom, vamos prestar mais atenção nos pequenos detalhes.&lt;/p&gt;

&lt;p&gt;Exemplos de tags que impactam positivamente no SEO:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/title" rel="noopener noreferrer"&gt;title&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/search/docs/appearance/snippet?hl=pt-br#:~:text=A%20meta%20description%20tag%20generally,what%20they're%20looking%20for." rel="noopener noreferrer"&gt;meta description&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3schools.com/html/html_headings.asp#:~:text=It%20is%20important%20to%20use,make%20text%20BIG%20or%20bold." rel="noopener noreferrer"&gt;Headings (H1-H6)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3schools.com/tags/att_img_alt.asp" rel="noopener noreferrer"&gt;Alt nas imagens&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3schools.com/html/html5_semantic_elements.asp" rel="noopener noreferrer"&gt;HTML semântico&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DICA 3 - USE O LIGHTHOUSE&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmgjwbaty863hudf9lj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmgjwbaty863hudf9lj7.png" alt="Um farol vermelho e branco na beira da praia" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eu sou fã número 1 dessa ferramenta. O &lt;a href="https://developer.chrome.com/docs/lighthouse/overview/" rel="noopener noreferrer"&gt;Lighthouse &lt;/a&gt; pode ser adicionado como uma extensão no seu navegador e ele inspeciona seu site com um click e de graça gera relatórios com diversas modificações que vão melhorar a performance, acessibilidade, SEO e Boas Práticas do seu site. Aqui também vai um extra porque ele te da dicas para tornar sua aplicação mobile friendly.&lt;br&gt;
O Lighthouse te ajuda:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Se sua aplicação tá uma carroça e você não faz ideia de onde está o problema (ele aponta até os scripts carregados em momentos desnecessários)&lt;/li&gt;
&lt;li&gt;Suas imagens que faltam o alt&lt;/li&gt;
&lt;li&gt;Os botões que deveriam ser maiores
Enfim, perfeito e gratuito, usem. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vamos fechando por aqui que ninguém aguenta mais uma linha de texto. Eu deixei dicas e links com diferentes fontes para estudo, se divirta e me conta o que aprendeu. &lt;/p&gt;

</description>
      <category>cryptocurrency</category>
      <category>crypto</category>
      <category>offers</category>
      <category>web3</category>
    </item>
  </channel>
</rss>
