segunda-feira, 3 de novembro de 2008

Melhorando audiência utilizando técnicas de SEO

Um dos grandes diferenciais para qualquer site nos “tempos de hoje” é quão fácil o seu site é encontrado pelos usuários na Internet, traduzindo para o popular: quão fácil o Google consegue indexar o conteúdo do seu site e torná-lo disponível para os usuários, porém muito se discute sobre técnicas de SEO e pouco se mostra na prática, tentarei mostrar aqui um pouco sobre o que aprendi sobre SEO e técnicas que ajudam os buscadores a indexar mais facilmente o seu site.

Segue abaixo um checklist dos itens mais importantes e relevantes para um site ter para ser indexado facilmente pelos buscadores.

Url: Deve ser a mais objetiva e curta possível, é um dos itens mais “Hot” para que o buscador indexe facilmente. Um bom exemplo de uma url para um produto de informática poderia ser: “http://informaticaprodutos.com.br/produtos/perifericos/mouse”. Portanto nada urls do tipo: “?id=12345”, tente tornar a url “mais amigável” possível. Quando utilizar palavras compostas separe-as sempre por hífen ex: “http://informaticaprodutos.com.br/produtos/diversos/capa-de-impressora”.

Título da página (TITLE): O título assim como a url possível deve ser o mais curto e objetivo possível, ele deve descrever cada página do seu site, portanto nunca repita o mesmo título em todas as páginas, pois isso afeta a “indexação” do seu site, um exemplo de bons títulos de páginas poderia ser: PRODUTOS – INFORMÁTICA NOW, SEVIÇOS – INFORMÁTICA NOW e deve ser de no máximo 60 caracteres.

Palavras chave (KEYWORDS): Também um dos itens mais importantes para melhoria de SEO. A inserção de “palavras chave” dentro da tag Meta contribui e muito para a indexação do site pelos buscadores. Ex: <meta name="KeyWords" content="google, seo, website ranking, factors, search engine optimization">.
Obs: Cada palavra deve conter de 10 a 60 caracteres e não deve conter caracteres especiais.

Descrição (Description): Também um atributo da tag Meta deve conter uma descrição objetiva do site, deve conter no máximo 200 caracteres.

Subtítulos (H1, H2, H3) : Também um dos itens “Hot” para os buscadores, o site deve conter subtítulos no formato de tags H que são muito relevantes para os navegadores.

Links internos: Links no site que apontem para o mesmo site para conteúdos diferentes também podem ajudar muito na indexação do conteúdo pelos buscadores.

Links externos: Para que o site seja relevante para o buscador deve haver também links em outros sites que direcionem para o seu, aumentando assim a sua importância e relevância nas buscas. Por isso vale muito à pena investir em fóruns e outros blogs.

Existe também ferramentas que auxiliam muito para avaliar e otimizar SEO do seu site segue ai alguns serviços disponibilizados pelo Google:

http://google.com/webmasters/tools

http://www.google.com/insights/search/

http://www.sitemapbuilder.net

Referências:

http://www.vaughns-1-pagers.com/internet/google-ranking-factors.htm

http://www.seocompany.ca/seo/seo-techniques.html


http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=35291


http://www.criarweb.com/artigos/top-10-tecnicas-seo.html


BlogBlogs.Com.Br

quarta-feira, 1 de outubro de 2008

Filtrando Listas tipadas em C#

Uma grande facilidade da linguagem C# quando estamos trabalhando com listas tipadas (Generics) é a possibilidade de filtrarmos os objetos contidos dentro dela de acordo com alguma de suas propriedades. Vou demonstrar um exemplo dessa funcionalidade utilizando o mesmo projeto criado no artigo anterior (Ordenando listas tipadas em C#).

1º Passo: Vamos criar o método que irá validar se o objeto é condizente com a propriedade a ser validada como filtro do objeto. No exemplo queremos filtrar todos os objetos Pessoa a qual a idade da pessoa seja igual ou maior a 20 anos.


private static bool personFilter( Pessoa p )
{
return (p.Idade >= 20);
}

2º Passo: Vamos criar o método que será responsável por invocar a filtragem dos objetos da lista de acordo com a mesma e retornar uma “sublista” contendo somente os objetos que corresponderam a filtragem. Nesse passo utilizaremos a propriedade do Framework chamado de FindAll que realiza esta filtragem para nós de acordo com nosso método de filtragem que criamos no passo anterior.

private List <People> findPeople()
{

return this.getPessoas().FindAll(personFilter);
}

3º Passo:
Agora vamos criar o métod que exibe o resultado da filtragem dos objetos na tela.

protected void Page_Load(object sender, EventArgs e)
{

Response.Write("Pessoas com idade igual ou maior a 20");
foreach (Pessoa item in this.findPeople())
{

Response.Write(item.Nome + " " + item.Idade + " ");
}

}

4º Passo: Resultado exibido na tela.


Referência: http://msdn.microsoft.com/en-us/library/fh1w7y8z.aspx

sexta-feira, 29 de agosto de 2008

Armazenamento gratuito

Um dos melhores serviços que surgiram com a Web 2.0 foi o serviço de armazenamento gratuito de arquivos, fotos, vídeos e etc. Estes serviços geralmente oferecem um espaço de armazenamento muito bom chegando em média a 5 Gb.
Segue alguns serviços muito bons:
SkyDrive da Microsoft que oferece 5 Gb de armazenamento;
4Shared que oferece 5 Gb de armazenamento.

sábado, 23 de agosto de 2008

Nasce a comunidade eu.NET

Acaba de ser criada a comunidade no orkut do blog eu.NET onde poderemos nos conhecer uns aos outros como frequentadores assíduos do blog, então aproveitem mais essa ferramenta de aprendizado desse mundo chamado .NET!

http://www.orkut.com.br/Community.aspx?cmm=66613813

sexta-feira, 15 de agosto de 2008

Ordenando listas tipadas utilizando asp.net C#

Uma ferramenta muito interessante disponível na linguagem C# é a possibilidade de ordenarmos listas de objetos pelas características do próprio objeto, por exemplo, quando temos uma lista de objetos Pessoa e queremos ordenar essa lista pela idade de cada pessoa, isso pode nos ajudar muito, pois o que geralmente faríamos pelo banco de dados podemos fazer pela própria aplicação tirando assim do banco esta responsabilidade tornando nossa aplicação “mais escalável” e flexível.
Vou demonstrar aqui a ordenação de uma lista de pessoas pela idade de cada pessoa.

1º Passo: Vamos criar uma web application simples para demonstração e criar uma classe Pessoa que será utilizada para nosso exemplo com as propriedades necessárias.



2º Passo: Vamos criar um webform que utilizaremos de exemplo e criar uma lista de pessoas no code behind do webform.



3º Passo: Vamos criar agora o método que irá ordenar a lista para nós pela idade de cada pessoa.



4º Passo: Agora vamos programar a chamada dos métodos para exibir a lista ordenada.


5º Passo: Execute a página e a lista estará ordenada como segue no exemplo:


Referências: http://msdn.microsoft.com/en-us/library/b0zbh7b6.aspx

sexta-feira, 8 de agosto de 2008

Está no Ar!

Está no ar o mais novo site para publicação de fotos! o Abril Fotos que felizmente tive o prazer de fazer parte da equipe de desenvolvimento acessem e confiram! Pin Fotos

domingo, 22 de junho de 2008

Criando um site multi idiomas utilizando ASP.net

Com o crescimento da internet e a globalização, muitos sites hoje em dia são disponibilizados em diversos idiomas para facilitar o acesso ao mesmo ao maior número de usuários possível. Porém fazer um site em diversos idiomas pode se tornar uma tarefa árdua, por isso a plataforma .NET nos proporciona ferramentas que nos facilita este trabalho, demonstrarei uma neste artigo que nos facilitará a criação de uma aplicação web em mais de um idioma.

1º Passo: Crie uma web application no Visual Studio[bb].

2 º Passo: Arraste um controle Label para a página.

3 º Passo: Vá ao modo design da página e clique uma vez no controle Label, vá até o menu Tools > Gerate Local Resource, será criada uma estrutura de pasta e arquivo com o nome do arquivo do controle e alguns atributos que podem ser colocados para serem mostrados como valores TEXT do controle। Segue a imagem da estrutura das pastas e arquivos:



4 º Passo: No arquivo Default.aspx.resx podem ser colocados os atributos que serão mostrados no controle em tempo de execução da página. Segue a imagem com os valores dos atributos do controle que podem ser colocados.




5 º Passo: Vamos agora criar um arquivo de Resource para um idioma secundário. Clique com o botão direito sobre o arquivo Default.aspx.resx > Copy > Clique com o botão direito sobre a pasta App_LocalResource > Paste. Será criado um arquivo de cópia do arquivo com os mesmos atributos do arquivo e valores. Renomeie o arquivo para o seguinte formato: .aspx..resx Exemplo: Default।aspx.en.resx.





6 º Passo: Clique no arquivo criado e mude os atributos do controle de acordo com o idioma como segue o exemplo:





7 º Passo: Execute o arquivo no browser, você verá que o texto carregado como TEXT do controle será aquele inserido no arquivo Default.aspx.resx, pois assume o conteúdo deste arquivo como principal para a página. Para visualizar o conteúdo no idioma secundário basta mudar o idioma do browser de acordo com o idioma criado para o arquivo ex: EN para inglês. Recarregue o arquivo e verá o conteúdo inserido no arquivo de Resource.

sábado, 17 de maio de 2008

Criptografia de dados utilizando hashcode

Uma das questões de segurança em sistemas web que devemos levar em consideração quando lidamos com informações de usuários é a maneira como este se fará seu login no sistema e como as informações de login serão armazenadas.

Com .NET podemos utilizar alguns recursos da plataforma para nos auxiliar nesta tarefa. Vou demonstrar como criptografar informações de login do usuário para armazená-las no bando de dados com segurança.

Vamos criar os métodos necessários para fazer a criptografia das informações do usuário em uma string formada com base 64.

Com estes métodos podemos utilizar para criptografar os dados do usuário para gravar no banco de dados e para validar as informações fornecidas pelo usuário para validar o login.

Referências: http://pt.wikipedia.org/wiki/Hash

quarta-feira, 14 de maio de 2008

Compartilhando User Controls entre aplicações

Uma das grandes facilidades de se trabalhar com ASP.NET[bb] é a possibilidade de criar “componentes” para reutilizá-lo em várias páginas. Uma das maneiras mais simples de fazê-lo é através da criação de User Controls, onde desenvolvemos todas as ações que nosso componente requer tais como: Mostrar elementos na tela, executar alguma ação específica etc. e replicar este componente em outras interfaces facilmente através do registro do mesmo na página. Porém podemos ter componentes que são comuns a vários sites e ao invés de replicarmos o código do componente diversas vezes na página (que possivelmente causará problema de manutenção) vou demonstrar aqui uma maneira simples de compartilhar User Controls entre aplicações.

1º Passo: Vamos criar um projeto web application que conterá apenas os controles que queremos que seja replicado em outros projetos. Criarei como exemplo um calendário dentro do User Control que deverá aparecer em todas as interfaces que utilizarem este User Control.

2º Passo: Vamos criar agora uma web application que consumirá o User Control desenvolvido no projeto anterior.

3º Passo: Agora vamos registrar nosso User Control diretamente no web.config para que permita uma maior “dinâmica” no modo de inserção do componente nas páginas que o utilizarão.

OBS: Vamos registrar o caminho do User Control com um caminho lógico específico, onde este não existe no projeto atual, mas posteriormente você entenderá o “por que”.


4º Passo: Agora vamos registrar o User Control no nosso webform.


5º Passo: Compile e publique os projetos.

6º Passo: Agora vamos implementar a tarefa que permitirá o User Control ser encontrado pelo nosso webform. Vá ao IIS e vá para o diretório virtual da sua página (se ainda não criou faça-o agora) e clique com o botão direito do mouse sobre a pasta virtual e escolha Novo > Diretório Virtual e crie outro diretório virtual com o nome de “Controls” por exemplo e coloque o caminho físico dos arquivos do projeto que é responsável pelos controles.

6º Passo: Agora seu User Control pode ser visualizado pelas suas aplicações, permitindo assim múltiplos web sites acessá-lo.

OBS: Vale lembrar que para que todos os web sites encontre o controle é necessário criar o subdiretório virtual que aponte para onde residem os arquivos do User Control.

sexta-feira, 9 de maio de 2008

Utilizando “smart tags” (Intellisense) para criar mapeamento no Nhibernate

Algumas das “maiores” tarefas para se trabalhar com o framework de persistência de objeto para banco de dados é o trabalho de criar o mapeamento das classes em xml que serão persistidas para o banco de dados, mas este processo pode de uma maneira geral nos tomar muito tempo, para facilitar este processo podemos utilizar as smart tags para nos auxiliar na criação do mapeamento em xml. Para isso devemos baixar os arquivos os arquivos de schema do Nhibernate[bb] no site do Framework: http://www.hibernate.org/6.html na sessão de downloads do Nhibernate. Após baixar o pacote de instalação e extrair os arquivos encontrará dois arquivos de schema com a extensão .xsd copie estes dois arquivos para o seguinte caminho: C:\Arquivos de Programas\Microsoft Visual Studio 9\xml\schemas\ . Após isso quando for criar seus mapeamentos do Nhibernate poderá utilizar as teclas de atalho CTRL + SPACE para utilizar as smart tags.

Referências na web:

http://www.hibernate.org

http://blog.benday.com/archive/2006/01/15/3646.aspx