Leandro Martins

Classe Seo, otimizando seu site com as tags title e description

by Leandro Martins on jan.24, 2009, under Classes, PHP, SEO

Com o crescimento dos buscadores, nunca foi tão importante ficar entre a primeira página do resultado obtido nas buscas. Algoritmos de indexação cada vez mais complexos e analisando vários aspectos do site, como o algoritmo de pagerank que defini a posição de um site numa busca. E para pegar uma posição boa nas busca, são usadas várias técnicas conhecidas pelo termo Search Optimize Engine ou mais conhecido como SEO.


A técnica utilizada nessa classe se trata da otimização das tags “title e description”. Nesse tutorial vou falar apenas sobre a classe Seo, para mais informações sobre a influência dessas tags nas buscas, sugiro acessar esse artigo escrito pelo Ronaldo que fala sobre title tag e meta description tag.

A classe trabalha tanto com banco de dados mysql como postgre, e para usar ela, basta informar o nome do parâmetro que indica os módulos de sua aplicação, seu id e um valor padrão para tags. Para entender melhor seu funcionamento, segue o seu fluxograma abaixo.

Class seo_td

Class seo_td

Como podemos ver, o fluxo dela lembra um “efeito cascata”, um método vai chamando o outro e retornando um resultado.

A classe Seo_td()

Agora vou comentar sobre seus métodos.

init() inicia a classe Seo_td;

write_tags_td() verifica qual texto das tags vai ser renderizado, os textos do model ou valor padrão definido pela parâmetro default_tags_value;

consult_db() faz a consulta na base de dados afim de busca os valores para as tags(title e dscription);

build_query() constrói a query para executar a consulta. Essa query é composta por 3 parâmetros:

  • fields_name: nomes dos campos na tabela, o qual o representa o valor das tags. Esses campos por padrão são chamados de “titulo e conteúdo”, mas pode ser mudado facilmente utilizando o parâmetro field_name;
  • tbl_name: nome da tabela que vai ser pesquisada.  Esse nome é definido pelo método check_name_modules().
  • register_id: o id do registro da tabela, normalmente pegado através da variável global $_GET.

check_name_model() esse método é responsável por defini o nome da tabela, para isso ele verifica dois parâmetros:

  • module_name: diz para classe qual vai ser o nome do módulo. Esse parâmetro é usado quando o nome do módulo é o mesmo usada para o nome da tabela no BD;
  • modules_name: diz para classe qual vai ser o nome do módulo também, mas com uma pequena diferença. Esse parâmetro é usado numa situação onde o nome do módulo é diferente do nome da tabela, normalmente para aplicações que não segue o padrão MVC. Nesse caso é passado um array associativo, definido qual o nome da tabela representa o seu módulo.

Que tal um exemplo?

  1. <?php
  2.  
  3. require(‘conection.php’);
  4. require(‘Seo.php’);
  5.  
  6. $seo_td = new Seo_td();
  7.  
  8. $seo_td->default_tags_value     = array(‘title’ => ‘Classe Seo’, ‘description’ => ‘Class, seo, php’);
  9. $seo_td->module_name       = $_GET[‘cmd’];
  10. $seo_td->register_id          = $_GET[‘id’];
  11. $seo_td->init();
  12.  
  13. ?>

Note que é bem prático o seu uso, a classe não possui um método para efetuar conexão, e sim só para consultar, sendo assim antes de executar a classe, certifique-se que existe uma conexão com o banco de dados. Esse é um exemplo para o caso de o nome do modulo ser o mesmo que na tabela. Vou mostrar um segundo exemplo onde o modulo tem nome diferente da tabela.

  1. <?php
  2.  
  3. require(‘conection.php’);
  4. require(‘Seo.php’);
  5.  
  6. $seo_td = new Seo_td();
  7.  
  8. $seo_td->default_tags_value     = array(‘title’ => ‘Classe Seo’, ‘description’ => ‘Class, seo, php’);
  9. $seo_td->module_name             = $_GET[‘cmd’];
  10. $seo_td->modules_name             = array(‘noticias’ => ‘tbl_noticias’,
  11. ‘artigos’ => ‘tbl_artigos’);
  12. $seo_td->register_id             = $_GET[‘id’];
  13. $seo_td->init();
  14.  
  15. ?>

Podemos notar que foi adicionado mais um parâmetro que contém as relações de módulo e tabela.

Outros parâmentros que podem ser usados:

  1. <?php
  2.  
  3. require(‘conection.php’);
  4. require(‘Seo.php’);
  5.  
  6. $seo_td = new Seo_td();
  7.  
  8. $seo_td->default_tags_value     = array(‘title’ => ‘Classe Seo’, ‘description’ => ‘Class, seo, php’);
  9. $seo_td->module_name          = $_GET[‘cmd’];
  10. $seo_td->register_id          = $_GET[‘id’];
  11. $seo_td->init();
  12.  
  13. #Define qual tipo de DB vai se usado.
  14. $seo_td->db_type = ‘psql’;
  15.  
  16. #Define quais os nomes dos campos usado para pegar informação, para as tags title e description
  17. $seo_td->fields_name = ‘title, description’;
  18.  
  19. ?>

Lembrando que o local onde deve usada a classe, é entre as tags <head></head>
Para mais informações sobre como usar a classe, abaixo segue o download, contendo exemplos e sua documentação.

Download da classe

Até a proxíma!

:, ,
3 comments for this entry:
  1. Ronaldo Bitencourt - Seo.blog.br

    Muito boa essa classe eu já uso em meus projetos pq o leandro já tinha me passado ela dei força pra ele publica-la aqui.

    Recomendo o seu uso facilita muito.

    Parabéns pela classe Leandro.

    Abs,

    @oronaldosantos

  2. Classe em php para SEO - class.seo.php

    [...] De forma simples e rápida ele mostra como funciona a classe veja na fonte como funciona a classe em php para tilte tag e description tag. [...]

  3. Domingos Nunes

    Essa resoluçao é otimo, dessa forma o site tem SEO, Programaçao OO e ainda é PHP.

Leave a Reply

Pesquisar