Traditionally, web developers were forced to run their ASP.NET applications under the Microsoft Windows platform. As a result, many open source web developers were not able to utilize Microsoft’s powerful ASP.NET framework on various platforms, such as Linux or the Mac OS. A few years ago, Novell started an open source project called Mono, which brings the ASP.NET Framework to virtually any platform.
What this means for companies planning to build a website is that they are no longer bound by license limitations from Microsoft if they choose to utilize the ASP.NET framework. The fact that ASP.NET was required to run on a costly Windows server swayed many web developers and companies alike into choosing an open source solution, such as the LAMP stack (Linux, Apache, MySQL and PHP). Now with the release of Mono, developers can run ASP.NET on what is called a LAMA stack (Linux, Apache, MySQL and ASP.NET), which would have been unheard of a few years ago.
Although the Windows platform is still the fastest and easiest way to run the ASP.NET framework, the release of Mono is particularly interesting because it gives both web developers and companies, who would have otherwise dismissed ASP.NET altogether, the option to incorporate the powerful framework into their existing server configurations.
You can learn more about the Mono Project by visiting http://www.mono-project.com.
Firstly, Flash requires the installation of a browser plug-in to display its content, but the browsers that support it are mostly limited to personal computers. So a flash heavy website will not display correctly for other devices with web browsers, such as cell phones, PDAs or some of the most popular gaming systems.
Secondly, it is still unknown how well Flash based content gets indexed in search engines. Traditionally, Flash based content was ignored by all search engines. Although Google and Yahoo have announced that they are able to index flash content, the SEO benefits and success have yet to be proven. Some common things we see from our clients are the use of Flash as their primary navigation source. If your primary navigation is contained within a Flash movie, then you need to consider an html based alternative. Probably the best use of Flash, in our opinion, is for rich banner ads, or aesthetic elements that do not rely heavily on important content.
Overall, if you are concerned about search engine rankings and you have a content rich website, it is best not to design an all Flash site. If you still want to go down that route, make sure you have an alternative html option, such as those listed above, so search engines will play well with your website. As of right now, it does not appear that you can have an all Flash website without some kind of supplemental solution. Only time will tell if Flash and SEO are truly good bedfellows.
A common SEO technique is to make sure the content of your web page is placed as close to the top of your HTML as possible. This will help ensure that your relevant content achieves higher priority by search engine spiders. ASP.NET provides a great framework for developing feature rich web applications, especially with the addition of view state. View state gives web forms the ability to persist changes across postbacks. Other web scripting languages are not able to accomplish this easily, however, this benefit may have some negative SEO implications.
The view state of a page is placed by default in a hidden form field named ___VIEWSTATE at the top of the html source code. The contents of the __VIEWSTATE form field contain serialized information, which can get very large (tens of kilobytes), about various controls on the web page. When a web page does not have a lot of controls using view state, the hidden form field will look something like this…
… which is probably fine at the top of the page. But, often times a web page may have numerous controls, no matter how much it is optimized to minimize view state, which produce a view state value that looks something like this…
… actually it could go on and on. This particular view state sample (this is just a small portion) was 10 pages long! Needless to say, you don’t want that to appear before your precious web page content.
There is an easy way to move the __VIEWSTATE form field to the bottom of the html source code. By pasting the following VB.NET code, “as is”, into your web form, the view state will be moved to the bottom of the html source code right above the closing </form> tag…
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
Dim stringWriter As System.IO.StringWriter = New System.IO.StringWriter
Dim htmlWriter As HtmlTextWriter = New HtmlTextWriter(stringWriter)
Dim html As String = stringWriter.ToString()
Dim StartPoint As Integer = html.IndexOf("
If StartPoint >= 0 Then
Dim EndPoint As Integer = html.IndexOf("/>", StartPoint) + 2
Dim viewstateInput As String = html.Substring(StartPoint, EndPoint - StartPoint)
html = html.Remove(StartPoint, EndPoint - StartPoint)
Dim FormEndStart As Integer = html.IndexOf("") - 1
If FormEndStart >= 0 Then
html = html.Insert(FormEndStart, viewstateInput)
Now when you browse your web page, the __Viewstate hidden form field and its ridiculously long value, will be at the bottom of the page, and your precious content will be closer to the top, just how the search engines like it.