What’s new in ASP.NET 4.0
With Visual Studio 2010 Beta 1 and .NET Framework Beta 1 out for some time, this post is due from me for a long time. ASP.NET 4.0 has many improvements for different set of scenarios such as Webforms, Dynamic Data & AJAX based web development. There are also a lot of enhancements to the core runtime that powers ASP.NET such as Caching, Session & Request/Response objects.
For this post, we will examine some of the web form enhancements. There are sure a lot of them and we will examine some of them in the future posts.
Controlling View State using the ViewStateMode Property – Performance Enhancement
One of the most complained thing in ASP.NET Webform is the growing viewstate which becomes a concern for performance. While earlier you can set the EnableViewState property to true or false, post that, all the controls, by default inherit and even if you set it to enabled at control level, the behaviour was inconsistent.
With ASP.NET 4.0, the ViewStateMode property helps to determine for every control, whether the ViewState should be enabled, disabled or inherited accordingly. Ex.-
<asp:Panel ID="pnlViewState" runat="server" ViewStateMode="Disabled">
Disabled: <asp:Label ID="label1" runat="server" Text="Value set in markup" ViewStateMode="Inherit" /><br />
Enabled: <asp:Label ID="label2" runat="server" Text="Value set in markup" ViewStateMode="Enabled" />
<hr />
<asp:button ID="Button1" runat="server" Text="Postback" />
</asp:Panel>
In the code-behind
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
label1.Text = "Value set in code behind";
label2.Text = "Value set in code behind";
}
}
When you run the above page, you can find that the intial value for both the labels is set to “Value set in code behind” whereas after clicking on the button (postback), the value of label1 changes to “Value set in markup” whereas the value of label2 remains unchanged. As you can see, the Panel which holds both these lables has ViewStateMode set to Disabled and label1 is inherting the mode (this is the default if not specified) and label2 has it enabled. That is the reason label2 maintains viewstate while label1 loses it.
While it is arguably possible using the simple EnableViewState property earlier, it was never consistent. Considering the fact that in most of our performance sessions, we talk about disabling viewstate and then enabling it at control level while it doesnt work, this ViewStateMode is a welcome architectural change to improve performance.
Page Meta Keyword & Description – Search Engine Optimization feature
Upto Visual Studio 2008, one can set the Title of the page declaratively or through program using Page.Title. However, as more and more web traffic is happening through search engines, Page’s Title, Keyword and description become more important. Although the Keyword feature was exploited and hence many search engines today ignore it, Page Description is something still major search engines such as Google, Bing use for identifying and indexing pages based on content.
The new feature in ASP.NET 4.0 allows users to programmatically set the Page Description and Keywords as follows:-
protected void Page_Load(object sender, EventArgs e)
{
this.Page.Title = "My ASP.NET Blog";
this.Page.MetaKeywords = "ASP.NET, Web Development, Blog, ASP.NET Blog";
this.Page.MetaDescription = "This Blog contains posts related to ASP.NET and Web Development";
}
The above code appends the following markup
<meta name="keywords" content="ASP.NET, Web Development, Blog, ASP.NET Blog" />
<meta name="description" content="This Blog contains posts related to ASP.NET and Web Development" />
And the way it works is that, if the meta tags are already present in the HTML markup, whatever is set in the code behind will fill up the “content” part alone if the “name” tag is matching.
Although this looks simple, it is very useful in cases where you want to set these dynamically based on a condition / criteria. So far, these were set statically in the HTML. Now with Page Class level access, these can be set dynamically.
There are many more enhancements to Webforms such as Routing improvements, setting ClientID etc., which we will examine in the future posts.
Cheers !!!
Posted in: asp.net | Tags: asp.net asp.net 4.0 .net 4.0 meta keyword description seo eventargs webform clientidReasons Why SEO and SEM Teams Should Work Together
Keyword Expansion via SEO
A lot of SEO work results in traffic from the long-tail of searches. That is, a properly optimized site can bring in a lot of traffic in small amounts for a very, very large number of phrases. This list of long-tail words is an excellent source of ideas for what can be used with PPC campaigns. This can be particularly effective if a site is ranking well organically in one search engine, but not in another. When this situation occurs, the list of words from search engine A can be used for a PPC campaign on search engine B.
Long-Term Cost Savings from SEO
It's inevitable that every PPC campaign will contain high-traffic terms that cost a lot per click or high-conversion terms that don't quite offer the return necessary to justify their cost. With such words, SEO could be the answer to significant savings. For example, rather than spend $10,000 for 2 months for these high-cost terms consider instead turning off the campaign and pouring the $10,000 in to optimization efforts to attract the same traffic organically. Yes, deactivating the campaign for 2 months is going to result in short-term loss of revenue, but the results from the successful optimization effort will be many months or even years of "free" organic traffic.
Decrease in Per Click Costs
Recently Google made public some changes to their AdSense program. These changes include the addition of a quality score that is used when determining the cost of an ad. This quality score will mean that two exact ads will have different costs depending on the quality of the destination page. Although there are many factors that will be used to measure the quality of the destination page, most of these factors can be influenced by SEO. In fact, improving the quality of a web page as perceived by the search engines is pretty much what all SEO is about. So if you use SEO to increase the quality of your site, you will end up reducing the cost per click of your ads.
Posted in: website seo | Tags: keyword expansion keyword expansion long-term cost saving decrease p2p paid to click