Função php para gerar url encurtadas com a API do migre.me

Com a febre de redes sociais, twitter, facebook, Google Plus, etc, as url encurtadas se tornaram uma ferramenta importante e até mesmo vital para os desenvolvedores, blogueiros e usuários finais de plantão.

Com as técnicas de SEO sendo cada vez mais utilizadas, a tendência é que os sites utilizem cada vez mais url longas onde a mesma traz em sua estrutura informações relevante sobre o seu conteúdo visando maior organização e otimização para mecanismos de busca.

Isso gera um desconforto na divulgação dessas URL em redes sociais, principalmente o Twitter, porque vai exatamente na contra-mão. Como o microblog permite apenas 140 caracteres em cada atualização de status, talvez o espaço se torne insuficiente.

Felizmente existem ferramentas e sites que geram as famosas url encurtadas, como o http://migre.me. Url encurtadas são strings, geralmente com menos de 20 caracteres, que gerenciam o redirecionamento para uma URL considerada normal. Por exemplo, o link http://www.rafaelwendel.com se torna migre.me/7V9wO . Assim, mesmo você digitando o segundo link (nada sugestível) você chegará à página inicial do meu blog 🙂

Pois bem. Pensando na necessidade em se ter e gerar as URL encurtadas, resolvi entrar no blog oficial do migre.me na parte da API (http://migreme.com.br/blog/category/api/) e acabei verificando que sua utilização é ridícula de fácil.

Com o conhecimento adquirido, criei uma função php onde passo uma “URL normal” e ela, através da API do migre.me, retorna a URL encurtada da mesma.

Aí vai a função:

<?php
 
/**
    * Acessa a API do migre.me e gera uma URL encurtada
    * @author Rafael Wendel Pinheiro
    * @param  $url URL a ser encurtada
    * @return String URL encurtada ou informações do erro
*/	
function gera_url_encurtada($url){
    $url = urlencode($url);
    $xml =  simplexml_load_file("http://migre.me/api.xml?url=$url");
 
    if($xml->error != 0){
        return $xml->errormessage;
    }
    else{
        return $xml->migre;
    }
}
 
$url_encurtada_1 = gera_url_encurtada('http://www.rafaelwendel.com');
echo $url_encurtada_1;
// retorna http://migre.me/7VaFd
 
$url_encurtada_2 = gera_url_encurtada('http://www.rafaelwendel.com/2012/02/otimize-o-banco-de-dados-do-seu-wordpress-com-o-wp-optimize/');
echo $url_encurtada_2;
// retorna http://migre.me/7VaFe

Como você pode ver, para utilizar a função basta passar como parâmetro a URL que deseja encurtar. Em caso de sucesso ela te retornará a URL encurtada. Caso contrário ele te retorna informações sobre o erro ocorrido. A função trabalha com informações em XML e uso o simplexml_load_file (que já foi abordado em outros posts) para executar a API.

Antes de terminar vaí uma ressalta: existe um limite de 30 URLs por hora para usuários comuns (free) que é verificado através do IP. Então fique atento a esse limite.

Espero que tenham gostado.

Abs.

Siga-me no twitter: @rafaelwendel

É formado em Sistemas de Informação, pós-graduado em Sistemas de Banco de Dados e mestre em Educação com foco em Tecnologias Sociocomunitárias. Trabalha como professor de ensino técnico e tecnológico no Instituto Federal de Educação, Ciência e Tecnologia de São Paulo ministrando disciplinas nas áreas de programação, banco de dados, desenvolvimento de projetos e engenharia de software.

Posts relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *