Tuesday, March 24, 2009

ASP.NET SEO Basics

As ASP.NET the SEO is Popular topic and ASP.net is growing its popularity also as platform for public systems. Therefore SEO is going to be more essential topic also for ASP.NET developers. The world of SEO is always in rapid change last year Google published 450 updates to it's search engine algorithms? Although the field is changing fast there are some key points that has been fundamental and unchanged this far. Let's see how you can make your sites more SEO friendly on ASP.NET.

1. Page titles

One of the most important things are page titles (between tags). When somebody is searching something then these titles are shown as links in search results. One of the common mistakes is using same title for all pages. Imagine how worthless are the following search results for user.

TheVeryBigCorporation
Some fragments from page that may not be useful for user.

TheVeryBigCorporation
Some other fragments from page as description.

TheVeryBigCorporation
Almost no content, let's show what we have. Date Modified 01/19/2008 Titles by Marc and Lewis Custom services.

TheVeryBigCorporation
Some fragments from page that may not be useful for user.

TheVeryBigCorporation
Some fragments from page that may not be useful for user.

When using page titles carefully you give searchers a reason to visit your site - if your site offers something they are looking for. They can easily see from results if this page may offer something they are interested in.

Adding title to your pages is not something complex. If you built CMS then you have titles anyway inserted for each page. If you built product catalog then use product names as page titles. If you think further you discover that you have more data already there in your databases you can use in page titles.


2. Use meaningful URLs

"Nice" URLs is the other important point. Instead of using long URLs that contain many query parameters, you should use URLs that are formatted as URLs of static pages. Some experts say that it is enough, I don't agree - it is not enough. Look at the following two URLs.

somesite.com/index.php?op=content&act=view&id=100.html

somesite.com/content/view/100.html

First one looks like some alian language. The other one is better at one point - it is shown correctly by almost every mail client in this world (except the buggy ones of course). But for visitor this URL doesn't have any value. Visitor may get some idea that he or she is looking at content and then there is hundred. What is this hundred stand for? Dunno.

Now let's go one step further and let's use meaningful URLs instead of nice ones. Meaningful URL is nice URL that has some meaning for visitor. I mean if I give you meaningful URL you can figure out what you may find on page behind this URL. Here is the meaningful version of previous URL.

somesite.com/printers/laserjet-1200.html

Now you have URL that tells you what you can find when you follow it. In this case it hopefully opens the page that introduces HP LaserJet 1200.

You can use components like UrlRewritingNet.UrlRewrite for nice URLs. Also be noticed that IIS7 has URL mapping support that provides you with mod_rewrite-like features (mod_rewrite is very popular Apache HTTP Server module).

3. Tell about the structure of your content

Every page has some structure. Title, maybe teaser, paragraphs, headings and so on. Maybe some citations and quotes and why not some important points you want to emphasize. Most of robots are not very strong on analyzing CSS. To make your page semantically correct follow these steps.

1. Use headings to divide longer stories to parts that make sense to readers. You can use
...
tags by example. These tags are made for this.
2. If you need to emphasize some sentence of your text, put it between , or tags.
3. Use for citations, for quotes and so on. Let robots know what parts your pages contains.

This way you also make your pages easier to read to your visitors. I am sure they are happy if you provide correctly structured content that is easy to read.

You can make your users life easy - use WYSIWYG editors like FCKEditor, so your users can create structured content by theirselves. FCK has also support for ASP.NET and offers ASP.NET control you can use on your pages for free. Integrating these editors to your site is nothing complex.

4. Test your site on extreme conditions

What happens when your site is slow and requests often timeout? Well, some of these requests are made by robots and if they continuously cannot connect your site they will dsrop it form their indeces. Make sure your site responds acceptably fast to requests also under heavy load.

As a visitors we don't like slow sites. We want pages to open fast and when page is opening every second is like decade for us.

You can use tools to make automatic stress tests to your site. Just record your paths, configure flood and run the tests. When you use performance counters you may find out almost all weak parts of your site before it goes to production.

5. Test your AJAX site in terms of SEO

When using AJAX in your site then you are usually in hard trouble - search engine spiders will see only few parts your site because they doesn't run JavaScript. Yes, they can analyze it but they doesn't run it. So, most content of AJAX intensive sites is invisible for robots and it will never get indexed.

To make your AJAX site search engine friendly try to avoid initial content loading over JavaScript. At least for these parts of your page that you want to be indexed. Also you have to make it easy to robots to navigate through your site.

If you want to see how robots will see your AJAX site then use a simple trick. Turn off JavaScript support from your browser and try to visit your AJAX site. Now you will see what really gets indexed when robots are indexing your site.

Each of previous six point - mentions visitors and how things are getting better for them. Exactly - better to visitors.

6- The End - The Point

The fundamental point of SEO is not technically optimize your sites for robots and indexing algorithms. Search engines are developed differently - they try to find more and more accurately how well page fits for humans needs.

Each of previous six point - if you noticed - mentions visitors and how things are getting better for them. Exactly - better to visitors, not robots.

Microsoft offers POSReady 2009 white papers

Microsoft announced six brief white papers about its Windows Embedded POSReady 2009 for point-of-service systems. The papers discuss the operating system's development tools, creating a prototype application, best practices for automatic updates, POS for .NET, using SQL, and legacy OPOS (OLE for POS) support, says Microsoft.

Newly offered on Microsoft's MSDN website, the white papers cover the company's Windows Embedded POSReady 2009 operating system. Formally announced in January, POSReady 2009 is designed as a successor for Windows Embedded for Point of Service (WEPOS). Compared to the older POS stack, it offers technologies such as Microsoft Silverlight, the .NET Framework 3.5 with Windows Presentation Foundation, Internet Explorer 7, Windows Media Player 11, Microsoft SQL Server Express, and viewers for Microsoft Office documents.

Hire ASP.NET Developers

Monday, March 23, 2009

ASP.NET MVC RC2 Released

Getting ever so closer to the final release, Release Candidate 2 (RC2) of ASP.NET MVC is up for downloading. This new release candidate is all about the Installer and not so much about tooling or the runtime — good news for those who have already invested serious learning time.

What's New with RC2?

A few changes have been made from RC1 which was released at the beginning of February. Microsoft wanted to ensure that the Installer was "rock solid" before they announced the RTM version:
  • .NET Framework v3.5 SP1: There are two assemblies (System.Web.Routing and System.Web.Abstraction) that are a part of the .NET Framework 3.5 SP1 used with the MVC installer. So instead of packaging up these assemblies with the MVC download, you are required to install the latest version of the framework.
  • .NET Framework 3.5 Without SP1: You can still bin deploy to a host that doesn't have SP1 of the framework installed. You just have to deploy the two assemblies mentioned above separately along with the MVC assembly. Here's the instructions to do it.
  • Server Only Install: You will be able to install MVC on a server that does not have Visual Studio installed. This wasn't the case with RC1, which was a bit of pain when dealing with hosting providers and production servers.