网站的SEO布局

时间:2011-04-07 13:29:15

标签: asp.net web seo

我正在创建一个关于书籍的网站,并且用户通过遍历主题,然后是类别然后是子类别来到达他/她想要的书。

像往常一样,我制作的网页使用像这样的查询字符串

  

www.mywebsite.com/subjects.aspx?subjectid=10

主观指的是其中一个主题。

用户选择了类别,然后选择子类别并到达书籍。现在,所有内容都由它的id引用,而不是由它的名称引用。

现在我的问题是搜索引擎不知道有多少子主题,并且主题名称不能从ID中理解。

当我尝试使用Google自定义搜索并传递到我网站的网址时,它并未深入到图书级别,而是保留在主网址www.mywebsite.com上。

我看到有一些网站有这样的网址:

  

http://dotnetslackers.com/articles/aspnet/Implementing-Search-in-ASP-NET-with-Google-Custom-Search.aspx

他们真的为每篇文章创建了一个单独的aspx页面吗?

我可能无法让人们理解我想要的东西因为我刚开始使用asp.net所以请认为它与SEO有关。

如果需要澄清,请发表评论并编辑问题。

编辑1 :就在我发布此问题时,我注意到它也创建了类似的页面类型:

http://stackoverflow.com/questions/5581873/seo-layout-of-the-website

现在,这是一个新文件夹“seo-layout-of-the-website”!

编辑:2 因此,我认为网址重写是我需要的。一个教程中给出的示例表明,对于以下网址: http://www.store.com/products.aspx?category=books
http://www.store.com/products.aspx?category=DVDs
http://www.store.com/products.aspx?category=CDs

我可以将它们重定向到 http://www.store.com/products.aspx/Books
http://www.store.com/products.aspx/DVDs
http://www.store.com/products.aspx/CDs

但在我的情况下,我使用的是ID,这是否意味着我应该使用名称(subject.aspx?subjectname = abcd而不是subject.aspx?subjectid = 123)?

2 个答案:

答案 0 :(得分:2)

网址重写是您正在寻找的。所以你可以转换你的网址:

www.mywebsite.com/subjects.aspx?subjectid=10

为:

www.mywebsite.com/subject/10

通过添加路线。如果您使用的是ASP.NET 4,则可以轻松完成。在Global.asax.cs文件中,在Application_Start函数中定义以下内容:

using System.Web.Routing;

protected void Application_Start(object sender, EventArgs e)
{
  RouteTable.Routes.MapPageRoute(
    "SubjectRoute",
    "subject/{subjectId}",
    "~/subjects.aspx"
  );
}

subjects.aspx.cs中,使用以下内容获取值:

if (Page.RouteData.Values["subjectId"] != null)
{
  var mySubjectId = Page.RouteData.Values["subjectId"].ToString());
}

答案 1 :(得分:0)

不,他们不会为SEO目的创建新页面。我们大多数人所做的是重写htaccess或apache文件中的URL规则。我不知道它在asp中是如何工作的

相关问题