ASP.NET网站做SEO必须静态化吗?
中国网页设计在《网站静态化的利弊》和《url重写实现网站伪静态的利弊》文章中分析了网站是否需要静态化,静态化的好处和缺点。
本文主要分析了ASP.NET网站做SEO是否必须静态化。网站静态化考虑最多的就是SEO,关天静态化的利弊可以查看上面两篇文章,些处总结如下:
1、从URL进行分析
对于搜索引擎蜘蛛来说,静态URL简短、美观、稳定,动态URL地址中过多且复杂的参数会使蜘蛛难以理解和区分。
对于ASP.NET Web Form网站来说,如果只是想优化URL,那么倒是可以考虑使用伪静态的方法。
对于使用ASP.NET MVC开发的网站来说,ASP.NET MVC的路由机制就为我们提供了对seo十分友好的URL,甚至可以考虑不对网站进行静态化操作。
2、访问速度
静态页面访问的速度比动态页面快,从SEO的角度来看是十分有利的。
动态页面比如asp.net网站一般还需要经过程序处理相关的业务逻辑,以及从数据库中读取数据才能渲染页面并呈现出来,一定程度上会拖慢页面的访问速度。在遇到高强度访问压力的时候,静态页面快速和稳定的优势将会完全体现出来。
3、从网站服务器压力考虑
静态页面消耗硬盘的资源较多,一般在磁盘空间容量方面,主要是大量的页面文件和分级文件夹。另外静态页面在生成时候,对于硬盘的IO读写操作和CPU消耗也是十分巨大的,特别是遇到有大量的页面要进行静态化的时候,CPU运算和IO操作将会更加显著的降低服务器性能。
静态化后的网站确实有利于降低服务器压力。在生成静态页面时所造成的服务器性能影响,是可以通过一定的手段进行优化。另外大家也可以了解下CDN技术,即内容分发网络,对于静态页面来说,一旦使用了这个技术,外加上浏览器缓存,那么用户访问网站的响应速度就像火箭一样快!访问速度快了,从另一个角度来看又是有利于搜索引擎对网站内容的抓取。
而ASP.NET这类的动态网站一般比较消耗服务器的内存资源,这里需要开发人员注意对网站进行优化,尽量避免将大量数据保存至会话中,以及在使用缓存方面也需要额外注意。另外有些动态网站对CPU使用率也是十分高的,比如一些提供图片处理的服务网站。此外需要对数据库进行大量增删改操作的动态网站,对服务器压力非常的大,例如最常见的论坛类网站(WEB2.0),甚至有的服务器商在出租服务器时,会有额外的提示服务器可承受的压力数据。
4、从技术角度分析
作为一个ASP.NET开发人员,曾经在对网站进行静态化的时候遇到过许多问题。首先从网站程序的复杂度进行分析,一个具有静态化功能的网站必是非常复杂的,因为静态化一个网站要考虑的技术性问题十分多(这里不包括伪静态)。
进行静态操作的时候,不仅要考虑到单个页面的操作,还需要注意整体与单个之间的复杂关联,有种牵一发而动全身的压迫。就拿最常见的上一页和下一页来说,如果当前网站的某一篇文章删除了,那么这篇文章对应的上下页就必须要重新进行静态化,否则链接的地址将会出现404。简单的页面尚且如此,更别说那些大型的网站了,每个页面中超级复杂的关系就够喝一壶了。
再从进行静态操作的时机来看,一般开发人员要实现相应的触发开关功能,用于判断是否要进行静态化操作,以及要进行什么样的静态化操作。是局部还是整体?静态页面文件是否存在?静态页面的数据是否过期?这些问题都说明了生成的时机是很重要的,否则会造成用户看到的数据不是最新的内容。
此外静态化操作对服务器性能的影响也是煎熬开发人员的难题之一,我们不可能频繁的进行静态化操作,对磁盘的IO操作以及大量的逻辑处理都会消耗大量CPU的资源,服务器性能随之受到影响。在进行批量操作时,一定要考虑使用线程进行处理,千万不能阻塞网站的整体进程。
老实话,对于网站开发者来说,静态功能也许是一个头疼的问题,开发难度加大了,同时维护难度和管理难度也通用加大,在网站备份的时候还得考虑是否要备份这些静态文件!特别是大型的网站,静态化往往需要进行复杂的架构设计!
ASP.NET网站做SEO必须静态化吗?是否需要静态化,还得看整体的需求。
一般来说一些不经常更新内容的页面就可以考虑进行静态操作,比如新闻页面,小说的章节页面,毕竟这些内容一旦发布了,就很少会进行改动。而且可以使用CDN技术进行加速。
优点:
1、利于SEO,体现在友好的URL路径和快速的访问速度,asp.net mvc网站可以忽略URL的影响。
2、静态页面访问速度快,用户体验好,结合CDN技术、缓存和相应的架构,提速效果更加明显!
3、相比动态页面一定程度上减轻服务器压力
缺点:
1、需要使用大量硬盘空间
2、增加网站开发复杂度,不利于程序维护和管理。
3、不太灵活,静态化操作是需要触发开关的,不可能频繁的进行操作,可能导致数据更新慢,需要进行相应的设计。
11820