O último termo – desenvolvedores – é um termo abrangente que pode englobar engenheiros de software, codificadores, programadores, desenvolvedores front-end e back-end e profissionais de TI de vários tipos. São as pessoas que escrevem o código e/ou geralmente gerenciam as diversas tecnologias web subjacentes que compõem e dão suporte aos sites.
Na sua função como profissional de SEO, pode ser ou não viável dominar completamente linguagens de programação como C++ e Java, ou linguagens de script como PHP e JavaScript, ou linguagens de marcação como HTML, XML ou a linguagem de folhas de estilo CSS.
Além disso, existem muitas outras linguagens de programação, script e marcação por aí – seria uma tarefa hercúlea dominar todos os tipos de linguagem, mesmo que sua função seja a de programador em tempo integral e não a de especialista em SEO.
Mas, como profissional de SEO, é essencial que você entenda as diversas linguagens, tecnologias e arquiteturas que compõem a web. Ao fazer recomendações de SEO que provavelmente serão executadas pelos desenvolvedores, você precisa compreender a mentalidade deles, seus desafios, como é o trabalho deles – e precisa ser capaz de falar a língua deles.
Você não precisa saber tudo o que os desenvolvedores sabem, mas deve ter uma boa noção do que eles fazem para poder fazer perguntas melhores e fornecer recomendações de SEO de uma forma que faça sentido para eles, aumentando assim a probabilidade de essas recomendações serem implementadas.
Ao falar a língua deles e compreender como é o mundo deles, você contribui para um ambiente colaborativo onde todos estão remando para o mesmo lado da corda em busca dos mesmos resultados positivos.
E, claro, além de construir relacionamentos colaborativos, ser um profissional de SEO envolve muito trabalho técnico de investigação, detecção e prevenção de problemas, portanto, entender vários aspectos da tecnologia web não é opcional; é obrigatório.
A tecnologia web pode ser complexa e intimidante, mas esperamos que este guia ajude a simplificar um pouco as coisas e a preencher algumas lacunas no seu conhecimento.
Vamos começar!
A internet versus a World Wide Web
A maioria das pessoas usa esses termos como sinônimos, mas tecnicamente os dois termos não significam a mesma coisa, embora estejam relacionados.
A internet começou como uma rede descentralizada de computadores independentes interconectados.
O Departamento de Defesa dos EUA esteve envolvido ao longo do tempo e concedeu contratos, inclusive para o desenvolvimento do projeto ARPANET (Advanced Research Projects Agency Network), que foi uma das primeiras redes de comutação de pacotes e a primeira a usar o TCP/IP (Transmission Control Protocol e Internet Protocol).
O projeto ARPANET levou a “Internettrabalhar"onde várias redes de computadores poderiam ser unidas em uma 'rede de redes' maior".
O desenvolvimento da World Wide Web é atribuído ao cientista da computação britânico Sir Tim Beners-Lee na década de 1980; ele desenvolveu a interligação de documentos de hipertexto, o que resultou em um modelo de compartilhamento de informações construído "sobre" a Internet.
Os documentos (páginas da web) foram formatados em uma linguagem de marcação chamada "HTML" (Hypertext Markup Language) e podiam ser interligados por meio de "hiperlinks" nos quais os usuários podiam clicar para navegar até outras páginas da web.
Hospedagem web
Hospedagem de sites, ou simplesmente hospedagem, são serviços que permitem que pessoas e empresas coloquem uma página ou um site na internet. As empresas de hospedagem possuem conjuntos de computadores chamados "servidores", que não são totalmente diferentes dos computadores que você já conhece, mas, é claro, existem diferenças.
Existem vários tipos de empresas de hospedagem web que oferecem uma gama de serviços além da hospedagem em si; esses serviços podem incluir registro de nomes de domínio, construtores de sites, endereços de e-mail, serviços de segurança para sites e muito mais.
Em resumo, um servidor de hospedagem é onde os sites são publicados.
Servidores da Web
Um servidor web é um computador que armazena documentos e recursos da web. Os servidores web recebem solicitações de clientes (navegadores) para páginas web, imagens, etc. Quando você visita uma página web, seu navegador solicita todos os recursos/arquivos necessários para renderizar essa página. Funciona mais ou menos assim:
Cliente (navegador) para servidor: "Ei, eu quero esta página da web, por favor, forneça todo o texto, imagens e outros elementos que você tiver para essa página."
Do servidor para o cliente: "Ok, aqui está."
Diversos fatores influenciam a rapidez com que a página da web será exibida (renderizada), incluindo a velocidade do servidor e o(s) tamanho(s) dos vários arquivos solicitados.
Existem três tipos de servidores que você encontrará com mais frequência:
- O Apache é um software livre e de código aberto, compatível com diversos sistemas operacionais, como o Linux. Uma sigla frequentemente usada é "LAMP stack", que se refere a um conjunto de Linux, Apache, MySQL (banco de dados relacional) e PHP (linguagem de script do lado do servidor).
- IIS significa "Serviços de Informação da Internet" e é um software proprietário da Microsoft. Um servidor IIS é frequentemente chamado de "Servidor Windows" porque roda em sistemas operacionais Windows NT.
- O NGINX – pronunciado “Engine X” – é apresentado como um servidor de alto desempenho capaz de realizar balanceamento de carga, funcionar como proxy reverso e muito mais. Seu objetivo declarado e razão de ser incluem superar outros tipos de servidores.
Arquivos de log do servidor
Frequentemente abreviados para "arquivos de log", esses registros armazenam informações sobre a atividade do servidor em resposta a solicitações de páginas da web e recursos associados, como imagens. Alguns servidores já podem estar configurados para registrar essa atividade, enquanto outros precisarão ser configurados para isso.
Os arquivos de log representam a "realidade" do que acontece em um site e incluem informações como a página ou arquivo solicitado, a data e hora da solicitação, o agente do usuário que fez a solicitação, o tipo de resposta (encontrado, erro, redirecionado etc.), o site de referência e alguns outros itens, como bytes servidos e endereço IP do cliente.
Profissionais de SEO devem se familiarizar com a análise de arquivos de log. Para obter mais detalhes sobre o assunto, leia a explicação da JafSoft sobre um exemplo de arquivo de log de servidor web.
FTP
FTP significa Protocolo de Transferência de Arquivos e é a forma como você envia arquivos de recursos, como páginas da web, imagens, sitemaps XML, arquivos robots.txt e arquivos PDF, para sua conta de hospedagem, tornando esses arquivos disponíveis e visualizáveis na web por meio de navegadores. Existem softwares FTP gratuitos que você pode usar para essa finalidade.
A interface apresenta uma estrutura familiar de árvore de arquivos e pastas, onde você verá os arquivos do seu computador local à esquerda e os arquivos do servidor remoto à direita. Você pode arrastar e soltar arquivos locais para o servidor para fazer o upload. Pronto, você colocou arquivos na internet! Para mais detalhes, a Wired tem um excelente guia sobre FTP para iniciantes.
Nome do domínio
Um nome de domínio é uma sequência de texto (geralmente) usada em um URL (Uniform Resource Locator). Simplificando, no URL https://www.website.com, "website" é o nome de domínio.
Domínio raiz e subdomínio
Um domínio raiz é o que normalmente consideramos um nome de domínio, como "website" na URL https://www.website.com. Um subdomínio é a parte "www." da URL. Outros exemplos de subdomínios seriam news.website.com, products.website.com, support.website.com e assim por diante.
Para obter mais informações sobre a diferença entre um domínio e um subdomínio.
URL x URI
URL significa "Localizador Uniforme de Recursos" (como https://www.website.com/this-is-a-page) e URI significa "Identificador Uniforme de Recursos" e é um subconjunto de um URL completo (como /this-is-a-page.html).
HTML, CSS e JavaScript
Agrupei HTML, CSS e JavaScript aqui não porque cada um não mereça sua própria seção, mas porque é importante para os profissionais de SEO entenderem que essas três linguagens compõem grande parte da codificação das páginas web modernas (com muitas exceções, é claro, e algumas delas serão mencionadas em outros lugares aqui).
HTML significa "Hypertext Markup Language" (Linguagem de Marcação de Hipertexto) e é a linguagem original e fundamental das páginas da Web na World Wide Web.
CSS significa "Cascading Style Sheets" (Folhas de Estilo em Cascata) e é uma linguagem de folhas de estilo usada para estilizar e posicionar elementos HTML em uma página da web, permitindo a separação entre apresentação e conteúdo.
JavaScript (não confundir com a linguagem de programação "Java") é uma linguagem de script do lado do cliente usada para criar recursos interativos em páginas da web.
AJAX e XML
AJAX significa "JavaScript Assíncrono e XML". Assíncrono significa que o cliente/navegador e o servidor podem trabalhar e se comunicar independentemente, permitindo que o usuário continue interagindo com a página da web independentemente do que esteja acontecendo no servidor. O JavaScript é usado para fazer as solicitações assíncronas ao servidor e, quando o servidor responde, o JavaScript modifica o conteúdo da página exibido ao usuário. Os dados enviados assincronamente do servidor para o cliente são empacotados em formato XML, para que possam ser facilmente processados pelo JavaScript. Isso reduz o tráfego entre o cliente e o servidor, o que aumenta o tempo de resposta e a velocidade.
XML significa "Extensible Markup Language" (Linguagem de Marcação Extensível) e é semelhante ao HTML, utilizando tags, elementos e atributos. Foi projetado para armazenar e transportar dados, enquanto o HTML é usado para exibir dados. Para fins de SEO, o uso mais comum de XML é em arquivos de sitemap XML.
Dados estruturados (também conhecidos como Schema.org)
Dados estruturados são marcações que você pode adicionar ao HTML de uma página para ajudar os mecanismos de busca a entender melhor o conteúdo da página, ou pelo menos certos elementos dela. Ao usar os formatos padrão aprovados, você fornece informações adicionais que facilitam a análise dos dados relevantes da página pelos mecanismos de busca.
Os usos comuns de dados estruturados incluem a marcação de certos aspectos de receitas, obras literárias, produtos, lugares, eventos de vários tipos e muito mais.
O Schema.org foi lançado em 2 de junho de 2011, como um esforço colaborativo do Google, Bing e Yahoo (e logo depois do Yandex) para criar um conjunto comum e padronizado de esquemas para marcação de dados estruturados em páginas da web. Desde então, o termo "Schema.org" tornou-se sinônimo de "dados estruturados", e os tipos de dados estruturados do Schema.org estão em constante evolução, com novos tipos sendo adicionados com relativa frequência.
Uma das principais vantagens dos dados estruturados é que eles ajudam a desambiguar os dados para os mecanismos de busca, permitindo que eles entendam as informações e os dados com mais facilidade. Além disso, certos elementos marcados podem resultar na exibição de informações adicionais nas páginas de resultados de busca (SERPs), como estrelas de avaliações, tempos de preparo de receitas e assim por diante. Observe que a adição de dados estruturados não garante a exibição desses recursos nas SERPs.
Existem diversos vocabulários de dados estruturados, mas o JSON-LD (JavaScript Object Notation for Linked Data) surgiu como o método preferido e recomendado pelo Google para a marcação de dados estruturados, de acordo com as diretrizes do Schema.org, embora outros formatos, como microdados e RDFa, também sejam suportados.
O JSON-LD é mais fácil de adicionar às páginas, mais fácil de manter e modificar, e menos propenso a erros do que os microdados, que precisam ser envolvidos em elementos HTML existentes, enquanto o JSON-LD pode ser adicionado como um único bloco na seção <head> do HTML de uma página da web.
Front-end vs. back-end, lado do cliente vs. lado do servidor
Você pode ter conversado com um desenvolvedor que disse: "Sou um desenvolvedor front-end" e se perguntado o que isso significa. Ou talvez tenha ouvido alguém dizer: "Ah, isso é uma funcionalidade de back-end". Pode parecer confuso entender tudo isso, mas é fácil de esclarecer.
Os termos "front-end" e "lado do cliente" significam a mesma coisa: a execução ocorre no navegador. Por exemplo, o JavaScript foi originalmente desenvolvido para ser executado em uma página da web no navegador, ou seja, sem a necessidade de fazer uma chamada ao servidor.
Os termos "back-end" e "lado do servidor" significam a mesma coisa: a execução ocorre em um servidor. Por exemplo, PHP é uma linguagem de script do lado do servidor que é executada no servidor, não no navegador. Alguns Sistemas de Gerenciamento de Conteúdo (CMS, na sigla em inglês), como o WordPress, usam modelos baseados em PHP para páginas da web, e o conteúdo é carregado do servidor para ser exibido no navegador.
Linguagens de programação versus linguagens de script
Engenheiros e desenvolvedores têm explicações e definições diferentes para os termos. Alguns dirão que, no fim das contas, não há diferenças ou que as linhas divisórias são tênues, mas a diferença geralmente aceita entre uma linguagem de programação (como C ou Pascal) e uma linguagem de script (como JavaScript ou PHP) é que uma linguagem de programação requer uma etapa explícita de compilação, enquanto o código criado por humanos e legível por humanos é transformado em um conjunto específico de instruções em linguagem de máquina, compreensíveis por um computador.
Sistema de Gerenciamento de Conteúdo (CMS)
Um CMS é um aplicativo de software ou um conjunto de programas relacionados usados para criar e gerenciar sites (ou, em termos mais técnicos, "conteúdo digital"). Basicamente, você pode usar um CMS para criar, editar, publicar e arquivar páginas da web, posts de blog e artigos, e ele geralmente possui diversos recursos integrados.
Utilizar um CMS para criar um site significa que não há necessidade de criar nenhum código do zero, o que é um dos principais motivos pelos quais os CMS têm grande aceitação.
Outro aspecto comum dos CMS são os plugins, que podem ser integrados ao núcleo do CMS para estender funcionalidades que não fazem parte da lista de recursos principais do CMS.
Os sistemas de gerenciamento de conteúdo (CMS) mais comuns incluem WordPress, Drupal, Joomla, ExpressionEngine, Magento, WooCommerce, Shopify, Squarespace, e muitos outros.
Rede de entrega de conteúdo (CDN)
Por vezes chamadas de "Rede de Distribuição de Conteúdo", as CDNs são grandes redes de servidores geograficamente dispersos com o objetivo de fornecer conteúdo da web a partir de um servidor mais próximo do cliente que faz a solicitação, a fim de reduzir a latência (atraso na transferência).
As CDNs armazenam em cache cópias do seu conteúdo web em vários servidores, e então os servidores mais próximos do visitante do site exibem o conteúdo solicitado. As CDNs são usadas para fornecer alta disponibilidade e alto desempenho.
HTTPS, SSL e TLS
Os dados da web são transmitidos entre computadores por meio de pacotes de código. Os clientes (navegadores web) servem como interface do usuário quando solicitamos uma página web de um servidor. O HTTP (Hypertext Transfer Protocol) é o método de comunicação que um navegador usa para "conversar" com um servidor e fazer solicitações. O HTTPS é a versão segura desse protocolo (Hypertext Transfer Protocol Secure).
Os proprietários de sites podem migrar seus sites para HTTPS para tornar a conexão com os usuários mais segura e menos suscetível a "ataques do homem no meio", nos quais um terceiro intercepta ou possivelmente altera a comunicação.
SSL significa "Secure Sockets Layer" e é um protocolo de segurança padrão para estabelecer criptografia na comunicação entre o servidor e o navegador. TLS, Transport Layer Security, é uma versão mais recente do SSL.
HTTP/1.1 e HTTP/2
Quando Tim Berners-Lee inventou o protocolo HTTP em 1989, o computador que ele usou não tinha o poder de processamento e a memória dos computadores de hoje. Um cliente (navegador) que se conecta a um servidor usando HTTP/1.1 recebe informações em uma sequência de transações de solicitação e resposta na rede, frequentemente chamadas de "viagens de ida e volta" ao servidor, às vezes denominadas "apertos de mão".
Cada requisição de dados leva tempo, e o HTTPS é uma conexão HTTP com SSL/TLS em camadas, o que requer mais um handshake com o servidor. Tudo isso leva tempo, causando latência. O que era rápido o suficiente antes pode não ser rápido o suficiente agora.
O HTTP/2 é a primeira nova versão do HTTP desde a 1.1. Simplificando, o HTTP/2 permite que o servidor entregue mais recursos ao cliente/navegador mais rapidamente do que o HTTP/1.1, utilizando multiplexação, compressão, priorização de requisições e o recurso "server push", que permite ao servidor enviar recursos ao cliente que ainda não foram solicitados.
Interface de programação de aplicativos (API)
Aplicativo é um termo geral que, em termos simples, se refere a um tipo de software capaz de executar tarefas específicas. Os aplicativos incluem softwares, navegadores web e bancos de dados.
Uma API é uma interface com uma aplicação, geralmente um banco de dados. A API funciona como um mensageiro que recebe solicitações, informa ao sistema o que você deseja e retorna a resposta.
Se você está em um restaurante e quer que a cozinha prepare um determinado prato, o garçom que anota seu pedido é o mensageiro que comunica entre você e a cozinha, o que é análogo ao uso de uma API para solicitar e recuperar informações de um banco de dados.
AMP, PWA e SPA
Se você deseja criar um site hoje, tem muitas opções.
Você pode construí-lo do zero usando HTML para a distribuição do conteúdo, CSS para a aparência e JavaScript para os elementos interativos.
Ou você pode usar um CMS (sistema de gerenciamento de conteúdo) como o WordPress, Magento ou Drupal.
Ou você pode criá-lo com AMP, PWA ou SPA.
AMP AMP significa Accelerated Mobile Pages (Páginas Móveis Aceleradas) e é uma iniciativa de código aberto do Google, que consiste em um conjunto específico de tags HTML e vários componentes de funcionalidade em constante evolução. A vantagem do AMP é o carregamento extremamente rápido de páginas da web quando codificadas de acordo com as especificações do AMP; a desvantagem é que alguns recursos desejados podem não ser suportados atualmente, além de problemas com o rastreamento adequado de análises.
PWA significa Progressive Web App (Aplicativo Web Progressivo) e combina o melhor dos dois mundos: sites tradicionais e aplicativos para celular. Os PWAs oferecem aos usuários uma experiência semelhante à de um aplicativo nativo, com recursos como notificações push, funcionamento offline e a possibilidade de criar um ícone na tela inicial do celular.
Ao utilizar "service workers" para a comunicação entre o cliente e o servidor, as PWAs combinam páginas web de carregamento rápido com a capacidade de se comportarem como um aplicativo nativo para celular. No entanto, como as PWAs são frameworks JavaScript, você pode encontrar alguns desafios técnicos.
SPAs – Single Page Applications (Aplicações de Página Única) – diferem das páginas web tradicionais, que carregam cada página solicitada por um usuário em uma sessão por meio de comunicações repetidas com o servidor. As SPAs, por outro lado, são executadas dentro do navegador e as novas páginas visualizadas em uma sessão do usuário não exigem recarregamento da página por meio de solicitações ao servidor.
As principais vantagens dos SPAs incluem desenvolvimento simplificado e ágil, além de uma experiência de usuário muito rápida. As principais desvantagens incluem potenciais problemas com SEO, devido à capacidade inconsistente dos mecanismos de busca em analisar conteúdo fornecido por JavaScript. A depuração de problemas também pode ser mais difícil e consumir mais tempo do desenvolvedor.
Vale ressaltar que o sucesso futuro de cada uma dessas tecnologias web depende, em última análise, da adoção por parte dos desenvolvedores.
Conclusão
Obviamente, seria necessário um livro muito extenso para abordar cada detalhe da tecnologia web, mas este guia deve fornecer a você, profissional de SEO, informações úteis para preencher algumas lacunas em seu conhecimento sobre vários aspectos-chave da tecnologia web.
Incluí diversos links neste artigo que servem como ponto de partida para qualquer tópico que você queira explorar mais a fundo. Sem dúvida, existem muitos outros assuntos com os quais os profissionais de SEO precisam estar familiarizados, como arquivos robots.txt, meta tags robots, tags rel::canonical, sitemaps XML, códigos de resposta do servidor e muito mais.
_____
by David Portney
Fonte: searchenginewatch.com






