Serviços de buscas geralmente usam a tecnologia chamada Web Crawler para indexar automaticamente sites, porem para indicar corretamente o conteúdo a ser indexado é preciso tomar um conjunto de medidas, felizmente isto se torna mais fácil com o ASP .NET 2.0.
Mantenha uma estrutura de navegação hierárquica
Uma boa estrutura de navegação é essencial para permitir a descoberta de qualquer página em nosso site não apenas por serviços de busca, mas também seus usuários. Para implementar uma estrutura de navegação no ASP.NET 2.0 você deve cadastrar cada página no arquivo Web.Sitemap e usar o conjunto de controles Menu, SiteMapPath, TreeView para exibi-los em sua MasterPage.
Descreva o conteúdo de suas páginas com as tags TITLE e META.
As tags TITLE, META “description” e META “keywords” são usadas pelos indexadores para obter informações sobre seu site, devemos portanto configurá-las corretamente ou a indexação não será bem sucedida.
- TITLE - Titulo do site que será exibido na barra de titulo do navegador. Definir esta tag ajuda ao serviço de busca entender qual é o assunto principal do site ou da página.
- META “description” – Uma breve descrição do conteúdo da sua página que será exibida pelo serviço de buscas. Use no máximo 250 caracteres.
- META “keywords” – Palavras chave e seus sinônimos que definem o conteúdo do seu site. Procure formar um conjunto diversificado que identifique unicamente a página em questão.
No ASP.NET 2.0 podemos cadastrar todas estas informações no arquivo Web.Sitemap onde já estão cadastradas todas as páginas do nosso site.
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Default.aspx" title="Home" description="...” keywords="...”>
<siteMapNode url="~/BasicReporting/Default.aspx"
title="Basic Reporting"
description="Basic Reporting Samples"
keywords="Basic, Reporting, Samples" />
</siteMapNode>
</siteMap>
Criaremos então estas tags em nossa MasterPage com a diretiva runat=”server” para permitir o preenchimento de todas estas informações a partir do conteúdo cadastrado no arquivo Web.SiteMap.
<html>
<head>
<title></title>
<meta name="description" runat="server" content="" />
<meta name="keyword" runat="server" content="" />
</head>
<body>
...
</body>
</html>
Feito isto, colocaremos o seguinte código no evento Load de nossa MasterPage:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not SiteMap.CurrentNode Is Nothing Then
Me.Page.Title = IIf(SiteMap.CurrentNode.Title = Nothing, "", _
SiteMap.CurrentNode.Title)
Me.description.Content = IIf(SiteMap.CurrentNode.Description = Nothing, "", _
SiteMap.CurrentNode.Description)
Me.keywords.Content = IIf(SiteMap.CurrentNode("keywords") = Nothing, "", _
SiteMap.CurrentNode("keywords"))
End If
End Sub
Registre-se no MSN Search Live
No site http://search.msn.com.br/docs/submit.aspx você poderá então registrar seu site no serviço, aguarde pelo menos 24 horas para o web crawler do MSN Search Live começar a indexar seu site. Você pode verificar se seu site já foi indexado digitando site:seguido de seu endereço da web na caixa de pesquisa Live Search. Exemplo: site:www.microsoft.com
Para obter os resultados da pesquisa em seu site você poderia usar um script fornecido pela própria Microsoft que ira mostrar o resultado da busca na pagina do MSN Live Search ou utilizar o Web Service do serviço para obter os resultados da pesquisa.
Neste artigo vou optar por usar o Web Service que permite uma apresentação customizada do resultado, para isso você precisa então se registrar no site http://search.msn.com/developer e obter uma Application ID.
O componente MSNSearch
O componente MSN Search que criei, atua como um adaptador para os resultados do Web Service e portanto é dependente deste. Para usa-lo você precisa configurar no arquivo web.config conforme o quadro abaixo:
<configuration>
<appSettings>
<add key="MSNApplicationID"
value="55A15FA5CDF8A852355476C2D111ED11A1C1B11Z"/>
<add key="MSNSearchSite"
value="http://thespoke.net/blogs/thiagocf"/>
</appSettings>
...
</configuration>
- MSNApplicationID – Application ID obtida no site do MSN, enquanto este valor não for substituído a aplicação não retornará nenhum resultado.
- MSNSearchSite (Opcional) – URL do site ao qual a busca estará restrita. Se você desejar que a busca não fique restrita a nenhum site (buscar na web) esta chave pode ser omitida.
O componente expõe na properties window o mesmo conjunto de propriedades do web service, para maiores informações sobre o conjunto de propriedades consulte a documentação do serviço. Para maiores informações sobre como usar o componente, veja os exemplos disponíveis no download, se ainda assim existirem dúvidas me envie um e-mail.
DOWNLOAD - MSN Search Component 1.0 + Exemplos
Aguarde alguns segundos até o link aparecer no 4Shared.
Ate +