MSN versus Google – batalha versão rap

 

A letra do rap:

Google:
Your new system hasnt gotten many users
They only use Vista cuz it came on their computers
Step to me – Ill wrestle you blue
My dyslexic fans, they call me "El Goog"
Well connected – i got crazy links
S-E-O just means what google thinks
Smart people, they wanna work for me
That´s why I jack you for your employees
Gmails got females – on fire like foxes
i´m six gigs deep, up in their inboxes
Search market share: 4% you
68 me. this battle rap is through

MSN:
You bought Youtube for 2 billion bucks
He bought Youtube, the search still sucks
Your icon´s a joke – it´s just a doodle
Your name sounds like a baby retard poodle
Youre net apps – they´re slow- they dont work,
nobody uses them, they go for the search
I own your platform, I own IE,
I own all degrees of the game, 3-60
You steal my people? heres the stor-y
I buy Facebook and jack your employees
You might have users, but they´ll soon be leavin ya
cuz your search results say search Wikipedia

O vídeo foi publicado pelo site http://searchenginerapbattle.com/, que tem referência a outros dois duelos (Google x Yahoo e MSN x Yahoo). Lá, há um ranking de votos; passe por lá e dê seu pitaco.

Mouse pads bacanas

nVidia
Apple
Jesus Shaves

 

 

Bite Earth
Color Code
Geeky Razer Mouse Pads
Firefox
Do you Yahoo
Crazy Doesn’t even begin to cover it
Neon
 
Counter Strike
Ubuntu
AT&T
BlackKnight
Bomb!
Damn Damn
Windows Vista
Dancing Figures
i am
 
Scary
 
CFeclipse
Mac Station
Accenture
AOL Search
Circuit Print
Sustaining Our World
Dell
Ubuntu
Apple
Staples
Mac OSX
Metro Map Imprint
 
Mac Tiger
Turner Diversity
Only Computer Go Down On Me ;)
Danger Skull
 
Yahoo Mouse Mat
Surf’s up Dude!
Ezine Articles Expert Author
 
Oracle
Think Different Mouse Pad
Equations
Green Green Frog
 
 
Enrich your mobility
 
Google
Color Code Hex
Binary
Half Life
IBM
White Google

SEO e como o Google posiciona seus resultados de busca

SEO é o conjunto de estratégias com o objetivo de potencializar e melhorar o posicionamento de um site nas páginas de resultados naturais nos sites de busca, segundo definição da Wikipedia.



Quando um robo de busca faz o seu trabalho, os principais levados em conta são:

– escrita semântica do código html entregue a eles, conhecido como Web standard

– uso das metatags description e keywords, aplicando conteúdo significativo para as mesmas (obs.: o Google possui o serviço, https://adwords.google.com/select/KeywordToolExternal, que analisa o conteúdo da página e sugere keywords, e o http://www.google.com/trends, onde pode-se pesquisar o histórico de busca de qualquer palavra-chave ou termo, fazendo um comparativo)

– evitar ao máximo referências inexistentes, ou link quebrados

– atualização constante do conteúdo

– termos relevantes no conteúdo da página (usar no conteúdo termos que os buscadores associam como sendo relacionados ao tema principal da página)





Google

O mais famoso sistema de buscas de site, o Google, se utiliza além desses fatores previamente citados, do conceito de Page Rank para posicionar um determinado site nos resultados das suas buscas. O Page Rank é um cálculo complexo que o Google (definidora do conceito de Page rank) não expõe, mas que se sabe que é calculado a partir da quantidade de referências (links) existentes em outras páginas e dos seus respectivos Page Ranks. Ou seja, quanto mais referências em páginas com bons Page Ranks o site tiver, melhor será o seu Page Rank, como se fosse uma espécie de votação.





Estratégias para aumentar referências ao site:

  • disponibilização de feeds (RSS): com isso, qualquer pessoa que visita o Portal CI pode assinar o feed e receber automaticamente no seu leitor de feeds as últimas notícias (ter em mente que a atualização deve ser constante, caso contrário o usuário perderá interesse em assinar o feed)
  • marketing viral: uso de redes sociais (Orkut, Facebook, Twitter, ) blogs e/ou outros serviços (Youtube) para disseminar a informação disponibilizada em um site ou ou um serviço (e consequentemente disseminam-se referências). Com isso, escolhem-se pontos estratégicos para divulgar uma determinada informação e esses próprios meios (os usuários) começam a disseminar essa informação, passando-a para frente (daí vem o uso do termo vírus, fazendo alusão de que a informação se auto-dissemina, semelhante a uma epidemia)
  • parcerias com demais sites da mesma área: contribuir com a publicação de conteúdo em outros sites e aceitar publicações dos outros sites (com isso, tem-se troca de referências entre sites que tratam de assuntos similares, agregando valor ao Page Rank)
  • facicitar a inclusão das páginas em redes sociais: possibilitar ao usuário, através de links de fácil acesso, incluir um conteúdo específico em serviços como del.icio.us, Digg, Technoratti, etc…
  • ações através de e-mail marketing direcionado a um público-alvo (que deve ser definido qual é após um estudo dizendo qual o perfil que a campanha deve atingir), hotsites, exposições pagas em outros sites, estimulando o acesso dos usuários e fomentando o marketing viral
  • disponibilização de widgets: uma nova tendência na web é a possibilidade dos usuários adicionar, a uma rede social (Orkut, Open Social, Facebook, etc…) ou start-page (hNetvibes, iGoogle) que ele participa, um determinado serviço de um site ou de outra rede social. Por exemplo, a American Airlines disponibilizou um widget, disponível para o Open Social (e em breve Orkut) com o qual o usuário pode fazer buscas de passagens aéres (http://www.google.com/ig/directory?url=www.labpixies.com/gadgads/aa/aa_ie_link_site.xml).



Google Adwords

É o serviço do Google onde palavras-chave são vendidas e, quando uma busca é efetuada se utilizando de uma dessas palavras-chave, um anúncio ( com conteúdo definido pelo cliente) é exibido na página de resultado. Usar a combinação do Google Trends (que analisa quais as palavras mais procuradas), Google Keyword Tool (que sugere palavras-chave) e o Google Analytics (serviço de análise do comportamento dos usuários que chegaram ao seu site) são importantes para definir o ponto de partida da campanha, ou seja, definir quais as palavras-chave que devem ser compradas e o formato do anúncio, bem como devem ser utilizadas no decorrer da campanha para efetuar qualquer alteração necessária.

 

Existem vários sites e blogs especializados no assunto. Indico uma boa pesquisa (nos sites buscadores! hehe) para ler mais a fundo a respeito 😉

Google Doctype

O Google acaba de lançar um novo serviço, uma espécie de wiki para desenvolvimento de projetos web. Se chama Google Doctype. A idéia é ser uma biblioteca escrita por desenvolvedores web para os próprios desenvolvedores, falando sobre HTML, Javascript, CSS e tudo mais que se refere à (boa) prática no desenvolvimento de código.


Se vai pegar ou não, ninguém sabe. Mas, estando esse wiki dentro do Google Code, a chance de ser um wiki muito alimentado nos próximos momentos é grande.

Google Doctype
clique para ampliar

 

Referência: http://googlesystem.blogspot.com

Criando um auto-completar (ajax) com PHP e MYSQL

Escrevi esse texto acho que um ano atrás, para um outro site (acabou não dando em nada). Estou reeditando o mesmo 🙂

Vamos ver como fazer o básico para um auto-completar de um input (parecido com o Google Suggest). No nosso caso, vamos procurar por usuários em uma tabela de um banco de dados. Para isso, utilizarei PHP[bb] no lado do servidor. Mas, a linguagem do lado do servidor não é o que realmente importa. Uma funcionalidade que utiliza a metodologia o modelo ajax[bb] deve ser: um cliente javascript acessando um serviço que está no servidor (tanto faz a tecnologia).

No nosso caso, criei uma página PHP (name.php) que:

  • recebe um parâmetro para ser utilizado como filtro na nossa consulta: $name = $_GET["name"];
  • conecta ao banco de dados (no caso, utilizei o MySQL), acessando uma base que contenha uma tabela pm_users (essa tabela tem duas colunas, id e fullName);
  • efetua uma consulta à tabela utilizando $name como filtro na busca pelo campo fullName;
  • monta um array com os registros que satisfazem a busca;
  • retorna esse array no formato JSON (http://json.org/). JSON é um tipo de formato de troca de dados amplamente utilizado na web hoje em dia (tem vantagens e desvantagens com relação ao XML. Em um post futuro falo a respeito de cada um. Por hora, pode-se achar na web bons textos a respeito). Para transformar o array no formato JSON, utilizei uma classe do Zend Framework (http://framework.zend.com/).

Feito o nosso serviço no lado do servidor, vamos nos preocupar agora com a apresentação: criei uma página simples, que contém um formulário com um label e um campo input. E ainda uma área (div), a qual será usada para mostrar os resultados do auto-completar.

Depois, foi criada a formatação CSS. O mais importante no CSS é ver que a div#usersList tem sua posição definida como absoluta, e não está visível quando se entra na página.
Ela só ficará visível quando o usuário estiver digitando na caixa de texto e retornarem resultados.

Agora, temos toda a parte de layout pronta. Falta ligarmos isso com o serviço.
Como faremos? Há inúmeras formas.
A grande maioria das pessoas que utiliza PHP no lado do servidor, ou usa algum frameworks como o Sajax e o Xajax para criar a chamada às funções automaticamente, ou cria arquivos PHP que geram arquivos XML e no lado do cliente, criam na mão javascript para ler e tratar esse XML.
Eu quis, nesse nosso exemplo, dar uma outra forma a vocês de como fazer; na página 1, fiz uma página em PHP que retorna dados no formato JSON. Se eu fiz isso lá, no cliente vou ter que ler os dados também no formato JSON.

Antes de chegar lá, vamos ver como fazer para chamar o serviço criado.

  • um listener foi criado no onload do documento: sempre que o evento onkeyup for disparado na nossa caixa de texto, faremos a requisição no servidor;
  • caso o campo de texto não tenha pelo menos 3 caracteres, garantimos que a lista de resultados seja escondida e saímos da função (esperando que tenhamos 3 caracteres pelo menos);
  • se tiver pelo menos esses três, caracteres, definimos a URL do nosso serviço (no caso, a página PHP name.php) e os parâmetros a serem passados na requisição (no caso, o parâmetro name com o valor a ser usado para filtrar); Obs.: no caso, passamos um parâmetro "rnd=" + Math.round()*4 , isso é necessário para evitar cache na requisição, problema comumente encontrado nos browsers IE6-;
  • então, usamos o método Request do objeto Ajax da biblioteca Prototype (http://prototype.js). Note que esse método é uma espécie de wrapper para a criação do (objeto) XMLHttpRequest. Se você, usuário, quiser, pode continuar com sua implementação na mão do XMLHttpRequest. O impacto é mínimo. Segue link da documentação da API, dessa classe utilizada: http://www.prototypejs.org/api/ajax;
  • em caso de sucesso na requisição, a função de callback onSuccess é chamada, passando transport como parâmetro; transport possui o conteúdo do que foi retornado pelo request. No nosso caso, lembram-se dos dados no formato JSON? Por isso que utilizamos o método evalJSON(boolean) para transformar esses dados em formato compreensível pelo javascript. Obs.: evalJSON(boolean) é um método da Prototype. Se você tiver implementado o XMLHttpRequest, deve fazer a conversão utilizando uma biblioteca adequada. Uma boa procurada no Google lhe trará ótimos resultados a respeito.
  • uma vez com os dados transformados num formato compreensível pelo javascript (no caso, um array), só o que nos é necessário é percorrer esse array, sabendo que cada item do array possui um array de duas posições, onde a primeira é o id e a segunda o nome do usuário (olha só aí o porque o JSON é um belo formato de troca de dados: os dados que vieram do SELECT lá no PHP seguem a mesma ordem agora no javascript; não é preciso criar um XML, usar um DTD, percorrer nós, ver atributos, etc…). Voltando ao nosso array, ao percorrê-lo, criamos um elemento do tipo a para cada registro, e vamos definindo seus atributos (href, title, innerHTML…) e adicionando (appendChild) à lista, formando assim o nosso auto-completar

Pessoal, no final teremos uma página (ok, layout está bem simples, mas o propósito é mostrar a funcionalidade) onde o usuário vai digitando num campo input e através de uma rotina em PHP vão sendo feitas consultas no banco de dados, com filtro de usuários

Os arquivos estão disponíveis para

download

. Podem mexer, utilizar onde quiserem, modificar.