[PHP] Gerar URLs Amigáveis

A 2 de Fevereiro de 2010, categoria PHP, por Carlos Gonçalves
8

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 ...
Tags:
 

9 Razões Para Não Contratar Aquela Pessoa

A 12 de Fevereiro de 2009, categoria Opiniões, Ideias e Dicas, por Carlos Gonçalves
12

A maioria das minhas “discussões” com quem me contrata, acaba sempre por ser sobre a anterior experiência com outros programadores que se dizem profissionais da área. No meu ponto de vista, existem vários factores a ter em conta antes de contratar alguém, dou-vos 9 razões para as quais não deves de contratar aquela pessoa.

Não Contratar esta Pessoa

Não Contratar esta Pessoa

1. Ele auto intitula-se como “Webmaster

Qualquer pessoa que se auto-intitula como “Webmaster“, é porque provavelmente não é master de nada. O termo “Webmaster” actualmente tornou-se numa tradução para o termo “amador”. A web diversificou-se em tantos ramos diferentes, que a palavra webmaster deixou de ter significado (será que alguma vez teve?)

2. É um Expert em FrontPage

Qualquer programador / designer web, com qualidade, definitivamente sabe que o Microsoft FrontPage não é uma ferramenta profissional. O FrontPage é para os papás e mamãs que querem criar um site dedicado aos seus cães, e não para alguém que está a tentar fazer negócios. Todo e qualquer bom programador web, deve trabalhar a nível de código.

3. Ele Envia o Teu Site para um X número de Motores de Busca

Submeter o teu site em centenas de motores de busca seria óptimo… há 10 anos atrás.
Os sites são indexados pelos motores de busca pelo seu conteúdo e palavras-chave. Search Engine Optimization (SEO) é um grande negócio e submeter o site em motores de busca, não é o caminho para chegar ao topo do Google.

4. Ele quer um “Criado Por….” no rodapé de cada página

Tu pagaste a essa pessoa para criar um instrumento de marketing para ti – não um spot publicitário para ele. O site é como uma rampa de lançamento para o teu negócio, o programador é simplesmente a pessoa por detrás da cortina – mantém-no lá.

5. Ele criou um WebSite todo XPTO para a Tia / Amigo

A tua empresa necessita de alguém que já tem experiência na área. A resposta mais comum para a pergunta “Quem era ele e para que empresas ele já trabalhou?” é “Ah, ele já fez um site para a filha dos CEO’s da empresa XPTO.”
Sinceramente, oiço a história do amigo-do-amigo o tempo todo. Escolhe alguém com um portfólio considerável que possa fornecer referências.

6. Ele Pode Fazer uma Página Fantástica com Animações Flash

Tradução: “Posso gastar dezenas de horas a desperdiçar o teu dinheiro para criar algo que vai demorar muito a carregar e será ignorado mais vezes do que a sobremesa de um mau restaurante.” Coerência e fluidez são factores importantes para web design – não animações sem sentido que desperdiça tempo aos visitantes e o teu dinheiro

7. Ele Menciona Que É Um Expert Em HTML

Quem é que não o é? Eu argumentaria ao cliente, que tenho experiência numa qualquer linguaguem progrmação (PHP, Ruby on Rails, ColdFusion, etc), a não ser que ele questione que coisas banais consegues fazer. Um mecânico poderia usar uma banana no meu carro se isso o ajudar a repara-lo. Mantém as tuas ferramentas, nomeadamente HTML, para ti mesmo – ao cliente não lhe interessa

8. Ele Coloca Um Contador Todo Bonitinho No Teu Site

Vais adicionar uma relíquia do início da internet no meu site, para que os meus concorrentes tenham uma ideia da minhas estatísticas? Perfeito! Os contadores torna um site o menos profissional possível – não utilizem.

9. Ele Coloca Uma Mensagem A Dizer: “Melhor Visualizado em …” No Teu Site

Qualquer programador mediano, sabe que não é ele que faz as regras.
Segue as normas na fase inicial e, em seguida, corrige os erros do Internet Explorer – assim é que funciona. Nenhum programador responsável colocaria uma mensagem “Melhor Visualizado em…” num site.


Muito FracoFracoRazoávelBomMuito Bom (3 votos, média: 3,33 num total de 5)
Loading ... Loading ...
Tags:
 

Procuras alguma coisa?

Utiliza o formulário abaixo para pesquisares no meu site:


Ainda não encontraste o que procuravas? Deixa um comentário num post ou contacta-me para que te possa ajudar!

Links de Interesse!

Links por mim recomendados...

Arquivos

Ordenado de forma cronológica...