Loading
0

Asp.Net程序员与SEO - Viewstate优化

技术小学生微信公众号
腾讯云服务器大促销。
华为服务器

什么是Viewstate

例如:
input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="DwxNTgzOTU2ODA7dDw7bDxpPDE+Oz47bDx0PDtsPGk8MT47PjtsPHQ8QDA8cDxwPGw8UGFnZUNvdW50O18hSXRlbUNvdW50O18hRGF0YVNvdXJjZUl0ZW1Db3VudDtEYXRhS2V5czs+O2w8aTwxPjtpPDg+O2k8OD47bDw+Oz4+Oz47Ozs7Ozs7OztAMDxAMDxwPGw8SGVhZGVyVGV4dDtEYXRhRmllbGQ7U29ydEV4cHJlc3Npb247UmVhZE9ubHk7PjtsPHB1Yl9pZDtwdWJfaWQ7cHViX2lkO288Zj47Pj47Ozs7PjtAMDxwPGw8SGVhZGVyVGV4dDtEYXRhRmllbGQ7U29ydEV4cHJlc3Npb247UmVhZE9ubHk7PjtsPHB1Yl9uYW1lO3B1Yl9uYW1lO3B1Yl9uYW1 lO288Zj47Pj47Ozs7PjtAMDxw" />

当我看到这一大片内容的时候就觉得这是一个asp.net SEO过程中的难题,一直没有找到方法,这些天查了下英文站找到了这个方法。下面是我看了Search Engine Optimization - Moving View State to the bottom of the pagehttp://www.manuelabadia.com/blog/PermaLink,guid,7924eaf8-b406-43af-9444-b816f6dfa246.aspx)这篇文章后,觉得该方法可行,就翻译了一下,我英文水平有限,只把我看懂的大概意思和自己的理解写下来,希望对大家有帮助。

当我们去对一个ASP.Net页面做SEO的时候,会发现一个很大的问题那就是隐藏的视图状态。很多搜索引擎都明确页面抓取的界限,那就是只会抓取到网页前几千个字节的文本内容,所以当你页面的前2KBViewState垃圾的时候,你的页面很可能会遭到处罚。那么我这篇文章的目的就是把视图状态数据移动到尽可能少。

我已经发现一些途径来解决这个问题,在响应输出的时候重写最终的HTML编码。当这个方法执行后我发先它占有很大的CPU使用。所以,我需要一种方式既能实现功能又不浪费的CPU的方法。我发现反射的方式做到这一点。我的方法使用的ASP.NET控制适配器架构。

控制适配器是一个可以用来控制所产生的HTML控制它适应的类。由于页面类,是一种负责任的渲染视图状态隐藏字段( Page.BeginFormRender调用Page.RenderViewStateFields ,适配器的网页是必要的。然而,视图状态隐藏字段在ASP.NET基础架构中起着关键作用和难以修改相关的HTML

一个PageAdapter有一个方法叫做GetStatePersister()返回的对象继承于PageStatePersister 。当加载和保存视图状态的时候调用PageStatePersister。这里有2个类是从PageStatePersister HiddenFieldPageStatePersisterSessionPageStatePersister继承来的。第一种是默认情况下,存储视图状态中的隐藏字段名为__VIEWSTATE 。第二个存储视图状态在session中。因此,我们可以很容易地创建一个自定义PageStatePersister来控制视图状态加载和保存过程。最大的问题是如何在form标记关闭之前建立隐藏的视图状态,同时以完全透明的解决办法。经过一些尝试我想出了一个解决方案,我很高兴的。

我意识到,这是不可能完全从页面顶部删除视图状态隐藏字段,因为他在ASP.NET的架构这方面发挥着关键作用。但是,同任何自定义页面状态持续的ASP.NET基础架构提供至少一个空视图状态的隐藏字段只有70字节:

<input type="hidden"name="__VIEWSTATE"id="__VIEWSTATE"value=""/>

相关阅读:

Asp.Net程序员与SEO - .Net的URL静态化

Asp.Net程序员与SEO - .Net基于SEO友好数据分页

Asp.Net程序员与SEO - 关注Sitemap

技术小学生微信公众号
华为服务器
腾讯云服务器大促销。

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-36-13051-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
上一篇:从事网站推广工作的个人站长SEO初体验
下一篇:一句话SEO优化:网站排名的49个影响因素