针对Asp.net MVC SEO的几点建议
2016-05-18 15:38
453 查看
1. 引言
SEO 即搜索引擎优化,很多web开发人员本应该熟悉,至少需要了解的一个知识点。像百度、必应等搜索引擎其实一直都在进化。但是有些优化的技巧可能在短时间内不变。今天就给大家介绍几个专门针对Asp.net MVC网站的SEO技巧, 当然有些技巧也通用于其他website.
2. SEO工具
首先介绍下一个 SEO 的一个小工具(SEO Toolkit),这个工具有点类似于一些分析exe程序性能的工具。但是不同的是它主要针对网站分析出哪些页面需要做SEO优化。如果你已经有一个网站上线了,用这个小工具测试,相信可以找出一些可以优化的地方。该工具是安装到IIS 7.x 里面的,确保你的主机已经安装了IIS,安装完该工具后,可以在IIS Manager上看到
点击进去 就可以使用该工具,它包含了网站SEO分析、Sitemap 生成和Robots相关。
这里我们主要使用第一个
可以看到它找出了不少可以SEO优化地方,比如 <meta name=description/> ,<h1/> 等等。每一个能优化的地方该工具都给出了详细的介绍和如何实现优化。
3. 优化技巧
1) 确保网站的所有链接都是有效的,这个不用多说。2) 确保每一个页面都有一个独一无二的title,对于Asp.net mvc 来说把 <title>@ViewBag.Title</title> 放到_layout.cshtml head 中 ,然后在每个页面的对应的Action 中设置 ViewBag.Title 即可。这个title 表示了当前页面的主题。
3) 确保每个页面只有一个 <h1> 这里有些页面出于设计的原因不想影响网页美观,就可能不想要放置<h1>。如何解决这样的问题呢?
可以设置css 把<h1> 移出网页范围外,也可以将<h1> 文本的颜色调成背景色, 或者直接添加hidden 类隐藏<h1>, 虽然<h1> 被隐藏了但是还是能被搜索引擎抓取。
搜索引擎抓取的并不是render 之后的页面,而是整个Html 文档。相信不少网站就这么做的
http://51zhang.net/Oxford/HowOld http://51zhang.net/Oxford/HowOld?addcomments=true http://51zhang.net/Oxford/HowOld?deletecomment=true
这三个地址形式不同,第一个才是希望呈现给搜索引擎的,那么我们就可以在其他两个页面的head中添加canonical
<link rel='canonical' href='http://51zhang.net/Oxford/HowOld' />
从功能上讲 canonical可以理解为301永久重定向的辅助功能。
5 ) 尽量少用Ajax实现的上一页,下一页列表。比如博客园的新闻列表:http://news.cnblogs.com/n/page/3/
如果采用Ajax在本页面实现翻页效果,对于爬虫而言其实是同一个Url。
6 ) 尽量给网站添加robots.txt 和sitemap.xml
robots.txt 指示爬虫哪些可以爬取 哪些不可以爬取。比如 博客园的http://www.cnbeta.com/robots.txt
Disallow 表示哪些路劲是不能爬取的。
sitemap.xml 代表了整个网站的地图 能够告诉爬虫网站具体有哪些页面, 如果页面数量少,手动生成一个不是什么大问题。当页面过多时,
这里给大家推荐一个 sitemap 生成工具 https://github.com/maartenba/MvcSiteMapProvider
7 ) 使用直接路由 RouteAttribute
默认创建的Asp.net MVC项目,可以有好几种方式访问主页
http://localhost
http://localhost/home
http://localhost/home/index
但是有些搜索引擎在处理这样的问题时就没那么明智了。当然可以使用canonical。如果是Asp.net mvc5 就可以直接通过RouteAttribute
做优化。
4. 总结
SEO优化的技巧肯定不止这些,比如专门针对 前段采用AngularJs 的优化方式。这样的技巧也只有在实践中掌握.欢迎访问我的个人主页 51zhang.net 网站还在不断开发中…..
相关文章推荐
- 如何:在 ASP.NET(c#) 网页中检测浏览器类型
- ASP.NET WebApi 路由配置
- .NET跨平台之旅:成功将示例站点升级至ASP.NET Core RC2
- 七天学会ASP.NET MVC(七)——创建单页应用 【转】
- 七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL 【转】
- 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理 【转】
- 七天学会ASP.NET MVC (四)——用户授权认证问题 【转】
- 七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理 【转】
- 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 【转】
- 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 【转】
- Asp.net MVC中 Controller 与 View之间的数据传递
- C#实现二维码功能,winform 以及 asp.net均可以用
- ASP.NET Aries 开源开发框架:开发指南(一)
- asp.net MVC SignalR 与数据库 实时同步显示
- Asp.net中WebForm 与 MVC的架构区别
- Web API路由
- ASP.NET Core 开发 - Entity Framework (EF) Core
- 在ASP.NET 2.0中操作数据之六十四:GridView批量添加数据
- 在ASP.NET 2.0中操作数据之六十三:GridView实现批量删除数据
- 一点一点学ASP.NET之基础概念——委托