动态数据静态化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网页生成静态Html文件有许多好处,比如生成html网页有利于被搜索引擎收录,不仅被收录的快还收录的全。前台脱离了数据访问,减轻对数据库访问的压力,加快网页打开速度。
我们可以通过Article.aspx?id=3这样的方式来请求id为3的文章。不过如果纯粹使用Que ry String来传递信息的话,一个URL可能会带有许多项Query String。例如ArticleList.as px?page=3&keywords=helloworld&category=6&....。
有种说法是,这样的URL由于明显是动态的,因此搜索引擎对它的处理会有所负面倾斜,例如将其权值放低。因此,很多程序都会把为URL规范为特别的形式,例如Article/3,甚至是Article_3.html。使用htm或html作为URL的结尾,是为了“欺骗”搜索引擎,让搜索引擎以为这是一个直接从存储设备上直接读取的资源,它不会改变,因此“它的权值会相对提高”。
客户端服务器端
Article_3.html Article_3.html => Article.aspx?id=3 => 处理=> 输出
这种改变URL,想要获取更好SEO效果的做法,有些人也会把它叫做“伪静态化”。
这种做法是否需要在硬盘上生成一个html文件?没有必要,我可以生成txt文件,可以生成jeffz文件,甚至我可以不生成文件,而是将页面内容直接存放在内存中,甚至是高性能的Key/Value Store里
“静态请求”这个东西吗?不都是需要经过Web服务器处理的吗?只不过,一个是复杂运算,一个是直接读取硬盘文件。
在处理动态网址时,希望您能了解以下几点事实:
1.要正确地生成和维护从动态网址到静态化网址的重写转变实际上是一件很难的事情。
2.将原始的动态网址提供给我们会比较安全,请让我们来处理诸如探测和避开那些有问题
的参数的事情。
3.如果您想重写网址,请去掉那些不必要的参数,同时请保持它动态网址的样子。
4.如果您想提供一个静态网址代替动态网址,那么您应该切实地生成相应的静态内容。
静态和动态网址,Googlebot 对于哪一个识别得更好呢?
我们碰到过很多网站管理员,像我们的朋友那样,认为静态或者看起来是静态的网址对于网站的索引和排名是有优势的。这种看法是基于这样一个假设,即认为搜索引擎在抓取和分析含有会话标识(session ID) 和来源追踪器(source tracker) 的网址时是有问题的。然而,事实是,谷歌在这两个方面都有了相当的进展。就点击率来说,静态网址可能略微有些优势,因为用户可
以很容易地读懂这个网址。但是,就索引和排名来说,使用数据库驱动网站并不意味着明显的劣势。相比较将参数隐藏以使他们看起来是静态的网址来说,我们更希望网站将动态的网址直接提供给搜索引擎。
现在,让我们来看一些有关动态网址的广为传播的看法,并且来纠正一些蒙蔽网站管理员的假说。:)
传说:"动态网址不能被抓取。"
事实:我们可以抓取动态网址并且解释不同的参数。如果您为了让网址看起来像是静态的,而隐藏那些可以给谷歌提供有价值信息的参数,这样做反而会给该网址的抓取和排名带来麻烦。我们的建议是:请不要将一个动态网址改换格式以使其看起来是静态的。尽可能地使用静态网址来显示静态内容是可取的,但在您决定展示动态内容的情况下,请不要将参数隐藏起来从而使他们看起来像是静态的,因为这样做会删除掉那些有助于我们分析网址的有用信息。
传说:"动态网址的参数要少于3个。"
事实:对于参数的数量是没有限制的。但是,一个好的经验是不要让您的网址太长(这个适用于所有的网址,不论是静态的还是动态的)。您可以去掉一些对于Googlebot 来说不重要的参数,给用户一个好看一点的动态网址。如果您不能确定可以去掉哪些参数,我们建议您将动态网址中所有的参数都提供给我们,我们的系统会弄明白哪一些是不重要的。将参数隐藏起来会影响我们正确地分析您的网址,我们也就不能识别这些参数,一些重要信息可能也因此丢失了。
下面一些是我们认为您可能会存在疑问的一些问题。
这是否意味着我应该完全避免重写动态网址?
这是我们的建议,除非您能确保您只是去掉多余的参数,或能够把所有有可能有不良影响的参数完整地删除。如果您把自己的动态网址任意修改使其看起来像是静态的,您要清楚这样做是有风险的,有可能会导致有些信息不能被正常地编译和识别。如果您想给您的网站再增加一个静态的版本,请您一定要提供一个真正意义上的静态的内容,比如生成那些可以通过网站相应路径而获取的文件。如果您仅仅是修改了动态网址的表现形式,而没有真正提供静态的内容,那么您有可能适得其反。请直接把标准的动态URL提供给我们,我们会自动找出那些冗余的参数。
你能给我举一个例子么?
如果您有一个像下面这样标准格式的动态网址:foo?key1=value&key2=value2,我们建议您不用改动它,谷歌会决定哪些参数可以去掉;或者您可以为用户去掉那些不必要的参数。不过要慎重,仅仅去掉那些不重要的参数。这里有一个含有多个参数的动态网址的例子:
/article/bin/answer.foo?language=en&answer=3&sid=9897129 8178906&query=URL
∙language=en –标明这篇文章的语言
∙answer=3 –这篇文章含有数字3
∙sid=8971298178906 –会话标识代码是8971298178906
query=URL –使这篇文章被找到的查询是[URL]
并不是所有的参数都提供额外的信息。所以将这个网址重写为/article/bin/answer.foo?language=en&answer=3 可能不会引起任何问题,因为所有不相关的参数都去掉了。
所以最好的解决方法是通常将动态网址保持他们原来的样子。或者,如果您去掉不相关的参数,请记住一定要保持这个网址是动态的:
缺点
一、静态页面频繁读写会增加损坏磁盘
二、刚说的大网站也用静态化会产生大量的静态页面虽说硬盘比较便宜但在管理和
维护上增加了成本
静态网页化之如何静态
怎样让网页静态更好,举例说明,如news.php?id=1可以适当的优化成1.html格式。这样更简法,更容易搜索引擎抓取,像这样动态网页
目前的搜索引擎baidu、谷歌、雅虎、微软Live等知名品牌,对的aspx处理的权级跟html是一致的。搜索引擎并不在意后缀,在意的只是URL挂的参数?id=123&page=42这种。如果是这样,可以用urlwrite技术做伪静态,这是解决方法。如果你老板执意要生成静态的话,无论对asp还是还是php都只能用最传统的办法生成静态,那就是动态组装html字符串代码,组装完毕后保存在磁盘上。
伪静态:
所谓文本论坛,实际就跟真静态的说法差不多了,将数据储存在空间上面,大量读写硬盘
" 目前有 2129867 篇帖子,存储成html的话大约是 20799 M,也就是 20G左右。这当中还不计算由于磁盘存储机制造成的空间浪费(100个1k 的文件占用的空间可能会是200K)。"
"删除、更新这些html内容会导致大量的磁盘io操作及大量的磁盘碎片."
3.关于伪静态的坏处