Home Categories ASP Tutorials Tutorial

Optimize ASP.Net Pages By Reducing The Size Of The Viewstate To Rank Higher On Search Engines

2.3/5.0 (6 votes total)

Manoj Mansukhani
July 19, 2006

Manoj Mansukhani
Manoj Mansukhani is the founder and CEO of Scarlet Technologies (http://www.scarlettech.com). They provide services to help business get setup and succeed online. Their services include online marketing, search engine optimization, increasing website conversion rates and web development. Visit the website to find out how you can succeed online.

Manoj Mansukhani has written 1 articles for WebKnowHow.
View all articles by Manoj Mansukhani...

One way to optimize the pages you develop with ASP.NET is to keep a check on the view state of the page and the controls that are added to the page. Any seasoned developer of ASP.NET will remember the VIEWSTATE which is added to every page in a hidden field _VIEWSTATE and contains base64 encoded data which could be any where from 800 to tens of thousands of characters long depending on your usage of this property on your page.

There are many issues with view state in ASP.NET 1.x. It is on by default, and unless you know to look for it and disable it when it is not needed, it can significantly increase the amount of data rendered by your page. This becomes particularly painful when you use data-bound controls, all of which use view state to save their state across post backs.

You need to ensure that you only use the VIEWSTATE property for the page and controls where necessary so that the size of the value for the hidden field of _VIEWSTATE is minimum. This will ensure that your page loads fast and that the search engines can retrieve the actual content of your page.

Some search engines only read a certain set of characters from the top (that's why you have most SEO specialists mentioning that you should have your keywords on the top of the page) and the bottom of the page. If the value of the hidden field of _VIEWSTATE is long on your page then these search engines would not be able to get to the actual content of your page as a result it would never map the keywords (keywords density) and you would have a low ranking on these search engines.

How to decrease the size of the view state?

a. As mentioned before the VIEWSTATE for any page is set to TRUE by default. If you do not require the controls or the page to hold the VIEWSTATE you can disable the VIEWSTATE for the page completely by adding the directive to the page. (Usually if you have a page that does not post back to itself you can disable the VIEWSTATE on these pages.)

b. You can selectively disable the VIEWSTATE of the controls, datagrids etc that you use on the page if these controls do not post back to the same page.

You will see a considerable difference in the page size and the loading time of the page once you disable the VIEWSTATE of the controls or the page. This will also be evident from the size of the base64-encoded string in the value field of the hidden field of _VIEWSTATE. By disabling the VIEWSTATE for a couple of datagrid controls on one of the pages of our clients website, we were able to reduce the VIEWSTATE of the page from 10,000 characters to 1000 characters and the page size also reduced by a few kilobytes (KB).

Add commentAdd comment (Comments: 0)  


Other Resources