Gerar URLs Amigáveis para os motores de pesquisa, pode melhorar imenso os resultados na pesquisa. Há uma grande diferença entre “/?p=771″ e “/php-gerar-links-amigaveis”.
Ter URLs amigáveis dá também ao utilizador uma ideia do que irá conter a página em que estão a clicar.

Utilizo uma função em PHP para gerar os URLs amigáveis nos projectos dos meus clientes. A ideia é bastante simples. Utilizo o título da página criada pelo utilizador e a partir daí crio o URL passando por alguns passos:

  1. Remover toda a pontuação
  2. Colocar todo o URL em minúsculas
  3. Remover espaços, e colocar um hífen
  4. Remover palavras duplicadas
  5. Remover palavras que não são úteis em SEO

O Código PHP

/* Obtém o input, e desfaz-se dos caracteres indesejados */
function gerar_link_seo($input,$substitui = '-',$remover_palavras = true,$array_palavras = array())
{
	//Colocar em minúsculas, remover a pontuação
	$resultado = trim(ereg_replace(' +',' ',preg_replace('/[^a-zA-Z0-9\s]/','',strtolower($input))));

	//Remover as palavras que não ajudam no SEO
	//Coloco as palavras por defeito no remover_palavras(), assim eu não esse array
	if($remover_palavras) { $resultado = remover_palavras($resultado,$substitui,$array_palavras); }

	//Converte os espaços para o que o utilizador quiser
	//Normalmente um hífen ou um underscore
	return str_replace(' ',$substitui,$resultado);
}
function remover_palavras($input,$substitui,$array_palavras = array(),$palavras_unicas = true)
{
	//Separar todas as palavras baseadas em espaços
	$array_entrada = explode(' ',$input);

	//Criar o array de saída
	$resultado = array();

	//Faz-se um loop às palavras, remove-se as palavras indesejadas e mantém-se as que interessam
	foreach($array_entrada as $palavra)
	{
		if(!in_array($palavra,$array_palavras) && ($palavras_unica ? !in_array($palavra,$resultado) : true))
		{
			$resultado[] = $palavra;
		}
	}

	return implode($substitui,$resultado);
}

Explicação

A função aceita 4 variáveis:

1. $input – string – será o URL Amigável, no meu caso, o título da página
2. $substitui – string – o caractér a substituir, o separador, normalmente um hífen ou um underscore
3. $remover_palavras – boolean – remove palavras específicas, as que não fazem diferença em SEO
4. $array_palavras – array – um array de palavras que deve ser removido do URL porque não ajudam em SEO (exemplo: de, e, o, a, etc…)

Exemplo

$palavras_indesejadas = array('a','um','de','o','é','à','com','pode','da','porque','não');
echo gerar_link_seo('Outro dia a Programar com PHP','-',true,$palavras_indesejadas);
//Resultado :: outro-dia-programar-php

echo gerar_link_seo('MooTools outra vez?  Porque não apenas jQuery?','-',true,$palavras_indesejadas);
//Resultado :: mootools-outra-vez-apenas-jquery

echo gerar_link_seo('Um euro poupado é um euro ganho','-',true,$palavras_indesejadas);
//Resultado :: euro-poupado-ganho

Faz um favor a ti mesmo, torna as tuas páginas dinâmicas mais apelativas a motores de pesquisa com URLs amigáveis.


Muito FracoFracoRazoávelBomMuito Bom (1 votos, média: 5,00 num total de 5)
Loading ... Loading ...