URL amigável, também conhecida como Friendly URL, é como são chamados os endereços web que são facilmente compreendidos por nós e também aos sistemas de buscas, permitindo saber quase a 100% o assunto da página que está visitando.

 

Segundo especialistas, o Google indexa mais facilmente uma página com URL amigável.

Hoje em dia o uso de URL amigáveis em sites/blogs é frequente. As URLs amigáveis são uma das muitas estratégias incluídas no SEO (Search Engine Optimization).

 

As URLs amigáveis têm como vantagem uma maior usabilidade, por serem fáceis de lembrar e por terem sua manutenção barata, caso queira trocar a tecnologia de seu site.

 

Exemplos de URL amigável:

 

www.seusite.com.br/produto
www.seusite.com.br/hospedem_de_sites

Exemplo de URLs não amigáveis:

www.seusite.com.br/produto.aspx?cd=1
www.seusite.com.br/hospedagemdesites.aspx

Criando Nosso Projeto no ASP.NET:

 

Abra o Visual Studio e crie um novo projeto, conforme figura 01.

 

URL Amigável - Asp.Net 4.0

Figura 01 – Criando novo Projeto no Visual Studio 2010.

 

Na figura 02 iremos criar um projeto em branco (Blank Solution), e daremos um nome de “UrlAmigavel” a essa solução e clique no botão OK.

 

 Url Amigável - Asp.Net 4.0

Figura 02 – Definindo o nome do nosso projeto

 

Com nosso projeto criado, conforme figura02, vamos adicionar uma aplicação Asp.Net, daremos o nome de “Web.UrlAmigavel”.

 Url Amigável - Asp.Net 4.0
Figura 03 – Criando uma aplicação web

 

O nosso projeto terá o visual abaixo da figura 04, é um visual simples para que possamos demonstrar como funcionam as urls amigáveis. Nesse exemplo eu adicionei:

 

  1. Master Page
  2. Página de Produto
  3. Página de contato

 

Na master page eu coloquei um HyperLink chamado “lnkhome” para chamar a página principal (default.aspx), um HyperLink chamado “lnkproduto” que vai chamar a página “produto.aspx?cd=1” e o HyperLink chamado “lnkcontato” que irá chamar a página contato.aspx.

 

Código HTML

 

<%@ Master Language=”C#” AutoEventWireup=”true” CodeBehind=”Principal.master.cs”

Inherits=”Web.UrlAmigavel.Principal” %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” 

<head runat=”server”>

<title></title>

<asp:ContentPlaceHolder ID=”head” runat=”server”>

</asp:ContentPlaceHolder>

</head>

<body>

<form id=”form1″ runat=”server”>

<div>

<strong>URL amigável no Asp.Net 4.0 e C#.</strong>

<br />

<br />

<asp:HyperLink ID=”hlkHome” runat=”server” Text=”Home” NavigateUrl=”#”/>&nbsp;&nbsp;&nbsp;

<asp:HyperLink ID=”hlkProduto” runat=”server” Text=”Produto” NavigateUrl=”#”/>&nbsp;&nbsp;&nbsp;

<asp:HyperLink ID=”hlkContato” runat=”server” Text=”Contato” NavigateUrl=”#”/>

<br />

&nbsp;<asp:ContentPlaceHolder ID=”ContentPlaceHolder1″ runat=”server”>

</asp:ContentPlaceHolder>

</div>

</form>

</body>

</html>

Url amigável - Asp.Net 4.0

Figura 04 – Layout do projeto

 

Nosso objetivo é colocar URLs amigáveis nesses links, ficando assim:

 


URLs não amigáveis

URLs amigáveis
produto.aspx?cd=1 notebook-acer
contato.aspx entre-em-contato
default.aspx pagina-principal

Antes de iniciarmos a codificação precisamos colocar a tag <urlMappings> dentro da tag <system.web>, ficando assim nosso webconfig:

 

<configuration>

<system.web>

<compilation debug=”true” targetFramework=”4.0″ />

<urlMappings>

</urlMappings>

</system.web>

</configuration>

 

Agora sim, vamos iniciar a codificação criando uma classe chamada urlamigavel.cs. Dentro dessa classe vamos criar um método chamado AdicionarUrlAmigavel, a função desse método é gravar no web config dentro das tags <urlMappings></urlMappings> as configurações das URLs, segue código do método AdicionarUrlAmigavel.

 

Código C#

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Configuration;

using System.Configuration;

namespace Web.UrlAmigavel

{

public class urlamigavel

{

public void AdicionarUrlAmigavel(string UrlAmigavel, String NomePagina)

{

UrlMapping urlMap = null;

// Abre o Web.config

Configuration config = WebConfigurationManager.OpenWebConfiguration(“~”);

// Recupera a seção urlMappings, do web.config

UrlMappingsSection urlMapSection = (UrlMappingsSection)config.GetSection(“system.web/urlMappings”);

// Adiciona a URL Amigável a seção, que é salva no Web.Config

urlMap = new UrlMapping(“~/” + UrlAmigavel, NomePagina);

urlMapSection.UrlMappings.Remove(urlMap);

urlMapSection.UrlMappings.Add(urlMap);

// Grava no web.config

config.Save();

}

}

}

Vamos agora chamar esse método dentro do Page_Load da MasterPage:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using Web.UrlAmigavel;

namespace Web.UrlAmigavel

{

public partial class Principal : System.Web.UI.MasterPage

{

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

urlamigavel UrlAmigavel = new urlamigavel();

UrlAmigavel.AdicionarUrlAmigavel(“notebook-acer”, “produto.aspx?cd=1″);

hlkProduto.NavigateUrl = “~/notebook-acer”;

UrlAmigavel.AdicionarUrlAmigavel(“entre-em-contato”, “contato.aspx”);

hlkContato.NavigateUrl = “~/entre-em-contato”;

UrlAmigavel.AdicionarUrlAmigavel(“pagina-principal”, “default.aspx”);

hlkHome.NavigateUrl = “~/pagina-principal”;

UrlAmigavel = null;

}

}

}

}

 

Execute o projeto e clique nos links que foram adicionados, você verá que as URLs agora estão amigáveis. Vamos ver também como ficou no webconfig, após executar o projeto e clicar nos links:

 

<?xml version=”1.0″?>

<configuration>

<system.web>

<compilation debug=”true” targetFramework=”4.0″ />

<urlMappings>

<add url=”~/notebook-acer” mappedUrl=”produto.aspx?cd=1″ />

<add url=”~/entre-em-contato” mappedUrl=”contato.aspx” />

<add url=”~/pagina-principal” mappedUrl=”default.aspx” />

</urlMappings>

</system.web>

</configuration>

 

Link Home: http://localhost:7921/pagina-principal


Link Produto: http://localhost:7921/notebook-acer

 

 

Link Contato: http://localhost:7921/entre-em-contato

 

 

O artigo explica de forma clara e objetiva como tratar URLs para que elas se tornem amigáveis para usuários e também para os mecanismos de busca (SEO).


Para saber mais

Aprofunde seus conhecimentos na comunidade de Asp.Net

Exibições: 2222

Comentar

Você precisa ser um membro de DevBrasil para adicionar comentários!

Entrar em DevBrasil

© 2019   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço