首页 > 优化 > 关键词  > SEO最新资讯  > 正文

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

2009-04-09 17:46 · 稿源:Two Man

什么是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 pagehttps://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

举报

  • 相关推荐
  • 谷歌“坟场”再添一员:将于 12 月关闭 Instant Apps!

    2017 年首次推出的 Instant Apps 功能将于 2025 年 12 月正式退役。届时,用户只能回归“老老实实用网页”的生活方式了……

  • 程序员住车里 被质疑占用公共资源:没有不文明行为 喜欢自由

    近日,深圳程序员张运来因不租房住车里的生活方式在网络上掀起一阵讨论热潮。 早在今年4月,张运来“车居”一事便进入大众视野。4月19日,张运来向记者透露,三年多前购车时,门店汽车尾箱放置的床垫让他萌生了住车里的想法。 张运来已在深圳工作六年,最初几年租住在出租屋,每月两千五的租金换来的却是一个狭小且环境不佳的单间。买车后,他毅然选择住进车里

  • 程序员被解雇 怒改公司所有密码!获刑7个月铁窗泪

    在英国西约克郡,一位被解雇IT技术人员因心怀怨恨,对雇主公司发动了一场数字攻击,最终被判处7个月零14天的监禁。 根据警方的公告,2022年7月,Mohammed Umar Taj在被公司暂停工作后的数小时内,便开始实施恶意的 数字暴行”。 他非法侵入公司系统,擅自更改登录凭证,还破坏了公司的多因素身份验证系统,致使公司日常运营受到严重干扰,造成至少20万美元的损失。 公�

  • 程序员开发奇妙广告拦截器:戴上AR眼镜就能屏蔽现实世界的广告

    在当今这个广告无处不在的时代,比利时程序员斯泰恩斯潘霍夫带来了一款令人瞩目的AR应用。 它能在现实中精准识别并巧妙屏蔽广告、广告牌以及各类品牌标识,然后将它屏蔽。 这款颇具创新性的应用能够在Snap第五代AR眼镜Spectacles上运行。其背后调用了谷歌强大的Gemini AI,凭借先进的算法,快速且准确地识别出眼镜视野中的广告内容。 一旦识别成功,应用便会迅速将其�

  • 程序员在深圳住4平米车里 3年省10万:称并不适合所有人

    近日,广东深圳一名43岁的程序员张运来因选择车内露营的生活方式引发网络关注。这位每周往返阳江与深圳的软件工程师,用三年时间证明"车居"不仅是经济选择,更是一种追求自由的生活态度。。" 在深圳湾公园开启车居生活后,张运来重构了日常轨迹:清晨8点在公园洗手池洗漱完毕,驱车12公里抵达科技园上班;午休时在车内小憩;下班后根据心情选择不同公园驻�

  • StarRocks 优化实践:揭秘毫秒级实时分析的三大核心技术

    StarRocks是一款高性能实时分析数据库,通过三大核心技术解决海量数据分析难题:1)向量化执行引擎,采用批处理方式减少CPU开销,支持SIMD指令集加速计算;2)CBO优化器,基于统计信息智能选择最优执行计划,支持复杂查询改写和物化视图优化;3)列式存储结构,结合稀疏索引和Bitmap索引提升I/O效率。其企业级产品镜舟数据库在此基础上增强多租户隔离、RBAC权限控制等特性

  • 前OpenAI研究员:有时,ChatGPT为了“自救”,会选择牺牲用户

    他对OpenAI最新GPT-4o模型进行的一系列实验。这些实验旨在测试AI是否会偏向“自我保护”,甚至可能以牺牲用户利益为代价……

  • AI时代的营销答卷:淘宝天下摘得TopDigital桂冠

    淘宝天下凭借AI技术在营销领域的创新实践,在第十三届TopDigital创新营销盛典上斩获两项大奖。其获奖案例《淘宝蛇年"一起上春晚"云参演证互动传播》通过AIGC技术生成个性化"云参演证",结合明星联动和裂变式传播策略,实现超45亿曝光量,累计生成1.18亿张参演证,重塑了传统春节文化互动模式。同时,与神州租车合作的小米SU7 Ultra上新营销案例,通过头部KOL传播和社交化内容裂变,达成2.36亿+曝光量,获"社会化营销"铜奖。淘宝天下已布局AI驱动的全链路营销解决方案"淘天智家平台",支持从创意生成到多媒介内容生产的全流程,持续推动数字营销创新。

  • 27岁程序员敲代码时视网膜脱离 眼科医生提醒高危人群

    ​近日, 27 岁的合肥程序员小李经历了一场惊心动魄的健康危机。凌晨 2 点,连续加班数小时的他突然发现电脑屏幕上的代码扭曲变形,视野上方浮现固定黑影,紧急就医后被确诊为孔源性视网膜脱离,且病变已累及视觉中枢黄斑区。经眼科专家连夜实施视网膜复位手术,其右眼视力虽未完全恢复至术前水平,但已保住基本视觉功能。 "这类疾病就像'眼球内的地震'�

  • DigitalOcean 携手 AMD 推出 AMD Instinct MI300X GPU Droplet,加速 AI 创新

    DigitalOcean与AMD达成合作,将推出搭载AMD Instinct MI300X GPU的云服务器,支持AI/ML/HPC工作负载。该GPU具备192GB HBM3内存,能完整加载数十亿参数模型,显著提升训练和推理效率。服务定价每小时1.99美元起,支持1-8个GPU配置,并与Kubernetes无缝集成。未来还将推出MI325X GPU,并面向中国市场提供服务。此次合作旨在为开发者提供经济高效的AI开发解决方案,简化云端GPU部署流程。