中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Asp.Net程序員與SEO - Viewstate優(yōu)化

2019-03-05    來源:Two Man

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

什么是Viewstate

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

當我看到這一大片內(nèi)容的時候就覺得這是一個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)這篇文章后,覺得該方法可行,就翻譯了一下,我英文水平有限,只把我看懂的大概意思和自己的理解寫下來,希望對大家有幫助。

當我們?nèi)σ粋ASP.Net頁面做SEO的時候,會發(fā)現(xiàn)一個很大的問題那就是隱藏的視圖狀態(tài)。很多搜索引擎都明確頁面抓取的界限,那就是只會抓取到網(wǎng)頁前幾千個字節(jié)的文本內(nèi)容,所以當你頁面的前2KBViewState垃圾的時候,你的頁面很可能會遭到處罰。那么我這篇文章的目的就是把視圖狀態(tài)數(shù)據(jù)移動到盡可能少。

我已經(jīng)發(fā)現(xiàn)一些途徑來解決這個問題,在響應(yīng)輸出的時候重寫最終的HTML編碼。當這個方法執(zhí)行后我發(fā)先它占有很大的CPU使用。所以,我需要一種方式既能實現(xiàn)功能又不浪費的CPU的方法。我發(fā)現(xiàn)反射的方式做到這一點。我的方法使用的ASP.NET控制適配器架構(gòu)。

控制適配器是一個可以用來控制所產(chǎn)生的HTML控制它適應(yīng)的類。由于頁面類,是一種負責任的渲染視圖狀態(tài)隱藏字段( Page.BeginFormRender調(diào)用Page.RenderViewStateFields ,適配器的網(wǎng)頁是必要的。然而,視圖狀態(tài)隱藏字段在ASP.NET基礎(chǔ)架構(gòu)中起著關(guān)鍵作用和難以修改相關(guān)的HTML 。

一個PageAdapter有一個方法叫做GetStatePersister()返回的對象繼承于PageStatePersister 。當加載和保存視圖狀態(tài)的時候調(diào)用PageStatePersister。這里有2個類是從PageStatePersister HiddenFieldPageStatePersisterSessionPageStatePersister繼承來的。第一種是默認情況下,存儲視圖狀態(tài)中的隱藏字段名為__VIEWSTATE 。第二個存儲視圖狀態(tài)在session中。因此,我們可以很容易地創(chuàng)建一個自定義PageStatePersister來控制視圖狀態(tài)加載和保存過程。最大的問題是如何在form標記關(guān)閉之前建立隱藏的視圖狀態(tài),同時以完全透明的解決辦法。經(jīng)過一些嘗試我想出了一個解決方案,我很高興的。

我意識到,這是不可能完全從頁面頂部刪除視圖狀態(tài)隱藏字段,因為他在ASP.NET的架構(gòu)這方面發(fā)揮著關(guān)鍵作用。但是,同任何自定義頁面狀態(tài)持續(xù)的ASP.NET基礎(chǔ)架構(gòu)提供至少一個空視圖狀態(tài)的隱藏字段只有70字節(jié):

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

相關(guān)閱讀:

Asp.Net程序員與SEO - .Net的URL靜態(tài)化

Asp.Net程序員與SEO - .Net基于SEO友好數(shù)據(jù)分頁

Asp.Net程序員與SEO - 關(guān)注Sitemap

標簽: SEO ASP.NET 程序員 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:搜索引擎技術(shù)揭密:排序技術(shù)

下一篇:一句話SEO優(yōu)化:網(wǎng)站排名的49個影響因素