como criar google mapa do site para o site MVC?

votos
25

Eu queria saber se alguém fez isso ainda, ou tem qualquer exemplos sobre como criar um Google Sitemap para um site MVC.

Qualquer ajuda ou exemplo seria apreciada.

Im falando sobre isso: https://www.google.com/webmasters/tools/docs/en/protocol.html

Publicado 19/05/2009 em 20:42
fonte usuário
Em outras línguas...                            


5 respostas

votos
22

Eu usei código Mapa de Mike Brind , com uma pequena mudança.

Você precisa adicionar o XNamespace para cada XElement, caso contrário Google cospe o manequim.

Aqui está a minha versão:

public ContentResult Index()
        {
            XNamespace ns = "http://www.sitemaps.org/schemas/sitemap/0.9";
            const string url = "http://www.website.com/controller/action/{0}";
            var items = _db.DataAccessHere();
            var sitemap = new XDocument(
                new XDeclaration("1.0", "utf-8", "yes"),
                new XElement(ns + "urlset",
                    from i in items
                    select
                    //Add ns to every element.
                    new XElement(ns + "url", 
                      new XElement(ns + "loc", string.Format(url, i.ItemID)),
                          new XElement(ns + "lastmod", String.Format("{0:yyyy-MM-dd}", i.DateAddedUTC)),
                      new XElement(ns + "changefreq", "monthly"),
                      new XElement(ns + "priority", "0.5")
                      )
                    )
                  );
            return Content(sitemap.ToString(), "text/xml");
        }

Agradecemos a Mike para a publicação do artigo e código original.

Respondeu 15/12/2009 em 04:50
fonte usuário

votos
5

Auto plug descarado: Eu criei uma biblioteca chamada SimpleMvcSitemap depois de ter problemas estranhos com MvcSiteMapProvider na produção. Você pode servir arquivos Mapa do site a partir de qualquer método de ação sem qualquer configuração:

public class SitemapController : Controller
{
    public ActionResult Index()
    {
        List<SitemapNode> nodes = new List<SitemapNode>
        {
            new SitemapNode(Url.Action("Index","Home")),
            new SitemapNode(Url.Action("About","Home")),
            //other nodes
        };

        return new SitemapProvider().CreateSitemap(nodes);
    }
}

Ele também suporta todas as extensões do Google Mapa do Site disponível.

Respondeu 13/12/2013 em 22:53
fonte usuário

votos
5

A maneira mais fácil seria a utilização de qualquer um de uma série de construtores mapa do site livres lá fora - eles vão rastrear o seu site, siga links, e gerar um arquivo XML mapa do site para você.

Aqui está um exemplo para

Respondeu 19/05/2009 em 20:49
fonte usuário

votos
3

Aqui está uma pós que pode lhe dar algumas idéias. Basicamente, ele gera um mapa do site a partir de valores de rota.

Respondeu 19/05/2009 em 20:49
fonte usuário

votos
2

Então aqui está a coisa, usando geradores irá praticamente criar um link para "tudo" em seu site. Então, se você tem, digamos que um site de cartão, e você tem igual a cem mil artigos de cartão, cada um com o seu próprio link e tudo, você provavelmente verá a mesma quantidade de links. Se você quer isso, então geradores de Sitemap XML são o caminho a percorrer.

Mas se você quer um pouco mais personalizado, você pode fazer estes:

Liste todas as principais seções de seus sites. Isso é fácil de fazer, considerando que a maioria dos MVCs estiver usando o "URLs limpas" tipo de coisa. o tipo como "site.com/items/phones"

Criar um documento XML, dependendo do idioma que você está usando.

No mínimo, você deve ter um documento como este:

<?xml version="1.0" encoding="utf-8"?> 
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 
      <url> 
        <loc>http://dragonflysco.com/catalog/finishings/19</loc> 
      </url> 
      <!-- more here -->
    </urlset>

Para a estrutura mais avançada, verificar isso: http://www.google.com/support/webmasters/bin/answer.py?answer=183668

Respondeu 25/10/2010 em 06:07
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more