Uma maneira de ajudar a conseguir mais visitas para seu blog é usando os botões das redes sociais. Com ele você consegue atrair mais visitas para seu blog quando as pessoas clicam nele para compartilhar. Se seu post for muito bom e as pessoas gostarem ele com certeza irá viralizar e você irá conseguir muito mais visitas para este post.
O facebook fornece uma maneira de você adicionar o botão curtir em todas as suas páginas de seu blog. Mas como pegar o número de curtir de um link via PHP?
Além de oferecer o botão de curtir o facebook oferece uma API onde você pode pegar o número de likes de um link entre muitas outras coisas. Ele fornece isso através da API Graph. Veja um exemplo de retorno do número de likes deste post.
Acessando o link de exemplo, você tem um retorno de um JSON como o abaixo:
1 2 3 4 5 6 |
{ "http://aprendacriarsites.com/desabilitar-botao-submit-ao-enviar-um-formulario-html-com-jquery/": { "id": "http://aprendacriarsites.com/desabilitar-botao-submit-ao-enviar-um-formulario-html-com-jquery/", "shares": 4 } } |
Conhecendo a saída deste link basta criar uma função para consumir a API e retornar somente o número de curtir passando como parâmetro o link que você deseja. Para isso criei uma simples função:
1 2 3 4 5 6 7 8 |
function get_likes($url) { // faz a requisição a API passando a URL como parametro $json_string = file_get_contents('http://graph.facebook.com/?ids=' . $url); // usando a função json_decode e transformando em um array $json = json_decode($json_string, true); // retorna o número de likes return intval( $json[$url]['shares'] ); } |
Agora para exibir o número de likes basta chamar a função e passar o link completo como no exemplo:
1 2 3 |
<?php echo get_likes("http://aprendacriarsites.com/como-tirar-o-fundo-de-uma-imagem-e-deixar-ela-transparente-de-maneira-facil/"); ?> |
Pronto, essa é uma forma bem simples de exibir o número de likes de uma página na internet. Você pode usar isso e gravar no banco de dados o número de curtir de cada uma de suas páginas do seu site e depois fazer uma consulta para exibir os artigos mais populares entre outras ideias.
Lembrando que o facebook considera o número de shares como qualquer coisa feita com um link. Ele considera como um share:
- A pessoa clicar no botão curtir.
- A pessoa compartilhar o link copiando e colando diretamente a URL e enviar.
- Os comentários em cada um dos compartilhamentos são considerados.
- Os likes do compartilhamento.
Se você quiser informações mais completas e separadas você pode usar o FQL. Que é como se fosse uma consulta ao banco de dados do facebook. Veja nesta função como usar esta rotina.
1 2 3 4 5 6 7 8 9 10 11 |
function facebook_likes($url){ // criando a consulta FLQ $fql_query = "SELECT comment_count, comments_fbid, commentsbox_count, like_count, normalized_url, share_count, total_count, url "; $fql_query .= "FROM link_stat WHERE url = '$url'"; // fazendo a requisição $json_string = file_get_contents('http://graph.facebook.com/fql?q=' . urlencode($fql_query)); // transformando o json retornado em array $json = json_decode($json_string, true); // retorna um array com os índices return $json['data'][0]; } |
Agora para exibir de forma separada cada um dos itens considerados como shares do facebook:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $shares = facebook_likes('http://www.naosalvo.com.br/policial-e-pego-quebrando-a-propria-viatura-durante-a-manifestacao-na-paulista/'); // número de likes nos comentários echo $shares['comment_count']; // número de comentários usando o plugin de comentários em seu site echo $shares['commentsbox_count']; // número de curtir echo $shares['like_count']; // número de compartilhamento echo $shares['share_count']; // total de tudo acima (menos comentários) echo $shares['total_count']; ?> |
Você pode usar estas informações para monitorar seus links e guardar no banco de dados por exemplo. Pode usar para saber quais são os links mais populares do seu blog, basta usar a criatividade.
Para facilitar eu criei uma ferramenta simples para você poder consultar o número de likes no facebook de um link. Funciona mesmo com links onde não existe o botão curtir (lembre-se que se a pessoa copiou e colou o link direto o facebook também conta).
Gostou desta dica? Tem alguma dúvida? Envie um comentário.
Olá amigo, gostaria de saber como verificar se um post foi compartilhado como publico ou não.
Obg.
Olá Laércio, ainda não vi essa possibilidade via API. Abraço.
Muito obrigado, ótimo post.
Olá amigo, ótimo post. Gostaria de sabe como gravar a quantidade de curtidas no banco de dados. Tem como fazer isso?
Aldo, basta pegar o resultado e salvar. É como um número qualquer.
Funcionou! =D Vlw. Teria a versão para Twitter?
Eu não tenho uma versão do twitter mas seu que é possível sim. Dá uma olhada neste link http://99webtools.com/script-to-get-shared-count.php
Tem como saber se uma pessoa compartilhou um link ou post no face?
para fazer um checker para liberar um form.