Contactar o apoio

Respondemos por e-mail, normalmente em dois dias.

Para prevenir abusos, o Google reCAPTCHA verifica este envio; alguns dados são transmitidos ao Google. O script só é carregado quando abre este formulário.

← Todos os artigos

Contar cliques sem ler o texto da ligação

Um contador responde a «quantos vieram». A pergunta mais útil costuma ser «quantos fizeram alguma coisa» — carregaram na ligação de contacto, abriram a descarga, saíram para um perfil social. Este serviço tem eventos para isso desde que foram construídos: ponha data-s4u-event="contacto" num elemento e os cliques nele são contados com esse nome.

Quase ninguém o usava, porque quase ninguém sabia. Há por isso agora uma caixa: contar automaticamente os cliques nas ligações, sem atributos. O interessante não é o interruptor. É como se chama aquilo que é contado.

O texto da ligação não

O nome óbvio para um clique são as palavras em que o visitante carregou. É também o errado.

O texto de uma ligação é conteúdo livre. Uma ligação pode dizer «Encomenda 4711» ou «Mensagem da Ana», pode levar um número de porta, uma referência de reserva, um endereço de correio. Tudo isso iria parar a uma coluna de base de dados chamada name e ficaria lá. A política de privacidade deste serviço diz que as estatísticas não contêm dados pessoais, e isso tem de continuar verdadeiro sem depender do que um dono de sítio escreva dentro de uma etiqueta de ligação.

Há um segundo problema, menor mas real: vinte ligações a dizer «aqui» numa página são um nome que não diz nada, e a mesma ligação em onze traduções seriam onze nomes dos cinquenta a que um contador tem direito.

O nome vem por isso do caminho de destino. Foi o dono do sítio que o escolheu, é estável, e já é a chave que as estatísticas de páginas usam.

Três normalizações, cada uma por um motivo

  • Prefixo de língua removido. /de/blog e /pl/blog são a mesma página. Sem isto, só o seletor de língua de um sítio multilingue consumiria onze dos cinquenta nomes.
  • Sequências de cinco ou mais algarismos passam a n. Duas páginas de estatísticas com números de contador diferentes não são duas páginas; são duas vezes a mesma.
  • As ligações que saem do sítio passam a ex- mais o anfitrião. O caminho de uma página alheia não diz nada ao dono. Para onde foi o clique, diz.

Âncoras, mailto:, tel: e javascript: são ignorados — não são destinos para os quais alguém precise de um número. Os elementos que já levam o seu próprio nome de evento também são ignorados, senão o mesmo clique seria contado duas vezes.

Quanto custa

O script no navegador cresceu 1 022 bytes comprimidos, uma vez por primeira visita. Mais nada: o indicador viaja num pedido que o script já faz em cada carregamento de página — um pedido que até agora respondia sempre a mesma constante — portanto não há uma segunda viagem. No servidor, a lista de contadores com o interruptor ligado vive num ficheiro pequeno em vez de numa consulta, porque essa consulta é uma varredura completa de 166 433 linhas e custa 143,9 milissegundos medidos.

Por omissão está desligado, e assim fica. A este volume, ligá-lo em todo o lado acrescentaria cerca de nove mil escritas por dia à tabela mais escrita que aqui existe. É uma coisa que se liga, não uma coisa que nos acontece.

Publicidade