Melhore a contagem de cliques do Onebox

Se eu colocar um link nas minhas postagens, vejo quantas pessoas clicaram no link. Mas, se eu colocar o link em uma linha e ele for transformado em uma caixa única (onebox), nunca vejo nenhuma contagem de cliques.

Esta postagem descreve o problema com mais detalhes:

A resposta tem duas partes.

Primeiro, você precisa ativar a abertura de links em uma aba externa. (Não entendo isso tecnicamente, já que outros links são contados sem precisar ativar essa opção.)

Segundo…

Portanto, o link principal em que as pessoas clicarão nunca será contado. Novamente, não entendo a diferença técnica entre os links e por que um seria contado e o outro não.

Independentemente da minha falta de compreensão sobre o que está acontecendo tecnicamente, adoraria ver os cliques nos links Onebox contados de forma consistente.

6 curtidas

Já revisei todas as configurações no meu Painel e não há nenhuma caixa de seleção para ativar a abertura de links em uma nova aba… mas os links já se abrem em outra aba.

Tentamos clicar tanto no título de um artigo quanto no próprio link — nenhum dos dois gerou contagem.

Aqui está o ponto complicado: por um dia ou dois, a contagem funcionou de repente, mas depois parou novamente. Nada foi alterado em absoluto. Também perguntei a um moderador e a vários usuários se eles veem alguma contagem de links ao lado dos links postados. Nenhum deles viu, então sei que não é apenas eu, como administrador.

Assim como você, gostaria que os cliques nos links do Onebox fossem contados de forma consistente.

Edição: Devo mencionar que, para links postados após um espaço em branco (para que não sejam convertidos em Onebox), a contagem funciona… apenas não para o Onebox.

2 curtidas

Já ativei a configuração na semana passada; procure por default other external links in new tab. Essa configuração será aplicada a todos os novos usuários que se registrarem no seu site após a ativação da configuração do site. Usuários antigos podem ativá-la em seus perfis (caso possamos ativar a configuração em massa também para usuários antigos via console).

Eu tentei clicar nos dois oneboxes nas duas primeiras postagens deste tópico https://forum.nodders.net/t/2019-plastic-waste-and-recycling/167 e a contagem aumentou de 0 para 1. É possível que o usuário que fez o teste fosse um usuário antigo e não tenha ativado a configuração para abas externas no perfil, ou que o usuário tenha tentado abrir o link em uma nova janela diretamente, clicando com o botão direito no próprio link.

3 curtidas

Provavelmente é isso que está acontecendo. Vou informar a todos que terão que fazer a alteração no perfil deles… como eu. :wink: Obrigado.

Observe também que clicar em links em seu próprio post não aumentará os contadores.

3 curtidas

@dax, @codinghorror, descobri por que o contador de links estava funcionando para mim e para outros em nosso fórum. Em Preferências/Interface/Outro, embora eu tivesse marcado a opção Abrir todos os links externos em outra aba, também tinha marcada a opção Mostrar contagens no ícone do navegador. Aparentemente, esta última anula a primeira. Desmarquei a opção Mostrar contagens no ícone do navegador, salvei e, em seguida, verifiquei uma postagem… o contador apareceu!

Também encontrei uma pequena nuance. Quando um usuário posta um link e o OneBox tenta e falha ao OneBox-lo — deixando o link como está —, o contador de cliques no link não funcionará se o link não for precedido por um espaço em branco. Acabei de editar uma postagem de um usuário onde isso ocorreu, adicionei o espaço e o contador começou a aparecer. :wink:

2 curtidas

@dax Alguma ideia de por que essa configuração é necessária para que os selos de clique dos onebox apareçam? Poderia alterar isso no meu site, mas, para ser útil, teria que mudar a configuração em massa para mais de 7400 usuários, o que prefiro evitar, pois só causaria confusão.

2 curtidas

Eu também não sei por que você se daria ao trabalho, já que os cliques na caixa única não serão contados de qualquer forma, exceto para as poucas pessoas que clicam no link menos óbvio. Isso significa que, em vez de não exibir dados sobre quantas vezes foi clicado, você exibirá dados incorretos (artificialmente baixos), o que, na minha opinião, é muito pior.

1 curtida

Bom ponto — idealmente, a onebox também deveria contar os cliques em seu título.

4 curtidas

Criei um componente de tema para contar também os cliques em seu título.

3 curtidas

Isso realmente costumava funcionar. Os cliques do Onebox eram contabilizados em nosso site. Depois, em algum momento, parou de funcionar. Não me lembro exatamente quando, mas acho que foi há mais de um ano. Digo que isso é uma regressão, não uma solicitação de recurso real.

Você poderia detalhar exatamente o que seu componente faz, @evantill?

1 curtida

Parece ser um pouquinho de JavaScript que poderia ser simplesmente adicionado ao núcleo, assumindo que funcione.

Apenas um script simples que substitui um clique em uma URL dentro do onebox por um clique na URL do cabeçalho.

    // se o clique estiver dentro do corpo do onebox
    $('.onebox-body a').on('click.onebox-track-url', function(event) {      
      event.preventDefault(); // -> ignora o evento de clique dentro do onebox
      var headerUrl = $(event.target).closest('.onebox').find('header a'); // seleciona a URL do cabeçalho
      // clique na URL do cabeçalho em vez disso para atualizar o contador de rastreamento
      if (headerUrl.length > 0) {
        headerUrl[0].click(); // -> simula o clique na URL do cabeçalho
      }
    });
</script>
1 curtida

Parece que os links dentro do corpo do onebox não são rastreados por escolha:

isValidLink() retorna false se o link estiver em .onebox-body

1 curtida

Uma solução poderia ser adicionar uma nova configuração no onebox para habilitar o rastreamento em links dentro dos oneboxes e, nesse caso, adicionar a classe track-link aos links dentro dos oneboxes?

1 curtida

Não está claro para mim, neste tópico, se foi uma decisão intencional deixar de rastrear cliques em onebox ou se isso é apenas um bug para o qual você poderia criar um pull request.

3 curtidas

Seria correto descrever a correção proposta como esta?

“Se o link estiver no corpo de um onebox, encontre a URL do onebox. Se essa URL for a mesma do link, conte o clique. Caso contrário, ignore.”

4 curtidas

É mesmo possível que o onebox tenha um link nele além da URL que está sendo oneboxed? Eu não teria pensado isso.

Adicionei essa funcionalidade no commit abaixo

5 curtidas