Se há uma constante em desenvolvimento de software é o hype. Hoje vivemos o buzz ao redor de microservices, machine learning e blockchain. Mas há algum tempo um dos hypes que varreu o mundo do desenvolvimento web foi o SEO (ou Search Engine Optimization).
Quem aqui nunca fez um freela de "otimização para mecanismos de buscas" que atire a primeira pedra.
Essa pergunta tem rondado a minha cabeça nos últimos meses...
(Infelizmente) tenho me distanciado cada vez mais do desenvolvimento utilizando Python e Django, e portanto, a oportunidade de escrever sobre a linguagem tem diminuído consideravelmente. Logo, o título da página inicial "Python, Django e desenvolvimento" começa a perder o sentido.
Você pode me sugerir: É só colocar uma metatag robots
com noindex,follow
, e fazer com que os robôs indexem apenas as páginas de artigos; E aí vem a minha pergunta: Em 2019, ainda precisamos dizer para os mecanismos de busca como eles devem se comportar?
Long story short: Sim.
Fui na segunda página dos resultados de busca do DuckDuckGo para achar uma boa definição de SEO:
Como a própria tradução já sugere, SEO é uma otimização para os motores de busca, isto é, um conjunto de técnicas que influenciam os algoritmos dos buscadores a definir o ranking de uma página para determinada palavra-chave que foi pesquisada.
Os sites de buscas (como Google), de forma bem genérica, utilizam um processo composto por três passos:
O trabalho do profissional de SEO tem sido fazer com que determinado conteúdo seja encontrado pelos robôs de busca, bem como que ele ganhe prioridade e relevância, dado um contexto de busca. Além disso, facilitar a indexação proporcionando um conteúdo acessível e bem estruturado faz parte desse esforço.
Pode até parecer um serviço simples, mas os fatores que determinam o ranqueamento das páginas são inúmeros (como por exemplo, seu site possuir HTTPS ou ser mobile friendly), e nem todos são necessariamente conhecidos pelo grande público. E até mesmo os amplamente conhecidos necessitam de um trabalho rebuscado, como por exemplo, a estratégia de link building.
O Resultados Digitais traz um bom argumento para continuarmos a se importar com SEO:
A otimização de sites para mecanismos de buscas é feita para alcançar o usuário entregando a resposta que ele procura com o formato ideal, oferecendo a melhor experiência possível no ambiente da marca e seguindo as diretrizes dos buscadores.
Do ponto de vista de estratégia de marketing, é sim interessante que o conteúdo do seu site possua um público alvo bem definido, e que artifícios sejam utilizados para "assegurar" que o conteúdo esteja chegando a esse público. Partindo dessa ótica, o mercado de digital é super aquecido e soluções vem e vão o tempo todo. Seria no mínimo inocente de nossa parte acreditar que somente ao realizar um bom trabalho técnico estamos cumprindo todas as expectativas em relação ao retorno sobre o investimento.
As possibilidades vão desde a qualidade do conteúdo, design, passando pela sua característica de "freshness" ou não, até táticas de crescimento como uso de anúncios patrocinados e viralização.
Do ponto de vista de desenvolvimento de software, se seguirmos as boas práticas de desenvolvimento web possivelmente estaremos produzindo uma solução "SEO friendly". URLs amigáveis, boa performance (velocidade), markup semântico, etc. São algumas das práticas top of mind, mas na realidade temos algumas outras que possuem impacto de igual importância.
Quando trabalhei no Globoesporte.com, uma das garantias de bom resultado nos mecanismos de busca era sempre fazer um site acessível. Naquela época isso era "facilmente" validado com um leitor de telas, ou assegurando que pessoas com dificuldade motora pudessem navegar pelo site.
Mas naquela época também havia todo um time de arquitetos da informação para ajudar na estruturação de conteúdo, markup e rotas.
Hoje em dia, além desses fundamentais aspectos, possuímos alguns outros que devem ser levados em consideração ao se construir um site ou aplicação "SEO-friendly".
Para me ajudar a compreender tais aspectos, utilizei o site Woorank para gerar um checklist do que é necessário cumprir quando o assunto é otimização.
title
: É fundamental possuir a tag <title></title>
, e que ela de forma concisa explique do que se trata o seu conteúdo/aplicação.description
: Com o uso da <meta name="description" content="..." />
somos capazes de descrever a página e influenciar em como ela será exibida em um resultado de busca. É recomendado algo em torno de 70 e 160 caracteres, e que a descrição contenha as keywords mais importantes do seu conteúdo.headings
: De <h1>
a <h6>
, os títulos são uma grande forma de estruturar o seu conteúdo. Possuir as palavras-chaves mais importantes neles impacta positivamente o ranqueamento.alt
: Textos alternativos são importantes para imagens. Leitores de tela usarão esse atributo para descrever a imagem para os seus usuários.Nos itens acima temos a responsabilidade dividida: Enquanto o desenvolvedor se compromete em produzir um HTML válido e bem estruturado, a produção de conteúdo se compromete em produzir títulos e palavras-chaves relevantes para o assunto sendo publicado.
www
: Com o HTTPS, é normal solicitarmos ao navegador do usuário o redirect para a versão segura, quando o acesso é realizado via HTTP. O domínio HTTPS deveria ser sempre o seu "preferred domain", mesmo se o usuário utilizar o prefixo www.
na URL.robots.txt
: É a forma de você informar aos robôs que determinadas páginas ou diretórios não precisam ser acessados. Útil para ocultar áreas restritas ou de testes do seu site dos mecanismos de busca.sitemap.xml
: Um mapa do site legível para robôs. Nele, além de especificar as URLs, você também pode descrever a sua prioridade, última atualização, com qual frequência a mesma muda, etc.noticia.php?id=421
), e que de fato fazem algum sentido para o usuário. URLs amigáveis são preferidas pelos mecanismos de buscas, e se pensarmos pelo "humano" da coisa, é mais fácil para seu público identificar e até memorizar a rota para um conteúdo. Sem contar que palavras-chave na URL são um plus para o ranqueamento.Nessa categoria temos uma presença mais técnica. Utilizar ferramentas como o SearchConsole ajuda a identificar problemas com URL. Ter um CMS que produza URLs amigáveis é mais que obrigatório, e gerenciar artefatos como robots.txt
e sitemap.xml
deve fazer parte do pipeline de produção do seu conteúdo.
favicon
: Faz parte da sua marca, portanto, essencial.Aqui é chover no molhado para quem já tem certa experiência com web. Amplamente técnico, e parte de qualquer build e dashboard de métricas.
Embora um HTML bem escrito, com tags da HTML5, teoricamente seja o suficiente para uma boa apresentação e compreensão do conteúdo, você sempre pode dar um passo além e adicionar mais marcação que traga ainda mais significado ao seu texto.
O Open Graph protocol é uma maneira de enriquecer o seu documento através de markup simples, que acrescentam metadados e resultam em uma melhor interação com as redes sociais. Em outras palavras, são as propriedades og
:
<html prefix="og: http://ogp.me/ns#">
<head>
<title>The Rock (1996)</title>
<meta property="og:title" content="The Rock" />
<meta property="og:type" content="video.movie" />
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />
<meta
property="og:image"
content="http://ia.media-imdb.com/images/rock.jpg"
/>
...
</head>
...
</html>
Dessa forma você possui maior controle sobre como o seu documento irá se "comportar" quando interagindo com o Facebook (por exemplo). Leia mais sobre Open Graph.
Uma maneira de dar significado a cada pedaço do seu conteúdo é através do Schema.org. Se você utilizar o vocabulário com Microdata, é possível aplicar semântica com pouca alteração no seu HTML:
<div itemscope itemtype="http://schema.org/Movie">
<h1 itemprop="name">Avatar</h1>
<span
>Director: <span itemprop="director">James Cameron</span> (born August 16,
1954)</span
>
<span itemprop="genre">Science fiction</span>
<a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer"
>Trailer</a
>
</div>
Note a presença de atributos como itemscope
, itemtype
e itemprop
. Leia mais sobre Schema.org.
Aqui, estamos falando de uma tarefa dividida entre o desenvolvedor e o arquiteto da informação. Não acredito que a sua utilização fará alguma diferença para o usuário em seu navegador, porém, outras "máquinas" (como o Facebook ou a busca do Google) podem tirar proveito disso para entender mais sobre o seu conteúdo.
Praticar o Mobile-First, é uma prática mais que essencial no seu processo de desenvolvimento. O Google possui uma ferramenta bem interessante que valida se o seu website está otimizado para dispositivos móveis.
Puramente técnica essa parte, com responsabilidade dividida entre engenharia, design e arquitetura da informação. Se você estiver utilizando Responsive Design e pensando na renderização do site primeiro no mobile, você já está no caminho certo.
Do ponto de vista do desenvolvedor web, produzir uma solução seguindo as boas práticas amplamente conhecidas no mercado (de desenvolvimento, segurança e performance), e tendo como ponto focal o usuário e sua usabilidade/acessibilidade, produzirá quase o mesmo resultado que desenvolver orientado à otimizações para mecanismos de busca.
Mas vale levar em consideração que a técnica não para por aí. Design e arquitetura da informação também são fundamentais para atingirmos tais resultados. Não subestime o seu time de UX! Eles provavelmente entendem mais sobre o comportamento e contexto do usuário do que você (programador).
Ainda há o aspecto de marketing e publicidade do conteúdo. Essa é uma área na qual eu sou um completo ignorante, portanto, só posso imaginar que exista uma gama de práticas e ferramentas que devem fazer parte do dia a dia desse profissional.
Talvez a palavra "otimizar" dê a impressão que "algo além" deva ser feito para atingir determinados resultados. E no fim das contas, isso faz sentido. SEO abrange diferentes disciplinas que, separadas podem resultar em produtos razoáveis, mas que unidas em um objetivo comum são mais propensas a ter um bom resultado.
De qualquer forma, dar uma ajudinha na indexação do seu conteúdo não faz mal a ninguém.