At the moment, Google doesn't see the content inside a Silverlight app.
However, you can provide alternate content for SEO.

Any thing that's inside an object tag is rendered by the browser if it was
unable to load the application that handles that object. If the browser
knows how to handle the object tag then it ignores the alternate content.
For example, if you have:

<object data="data:application/x-silverlight-2,"
type="application/x-silverlight-2">

                <param name="source" value="MyBlog.xap" />

   <div>

      This is my alternate content with SEO keywords and/or a down level
experience

   </div>
</object>


For the above html, if the browser has silverlight plug-in, it'll delegate
the entire object tag and content to the plug-in. The silverlight app will
load as expected and the alternate content will not be rendered.

However, if the browser does not have the plug-in (users still living in the
dark, search engine bots), then the browser will ignore the object tag and
render what ever is inside the tags (which is your down level experience or
SEO keywords etc.)

So, if you design a blog engine with a Silverlight web UI, either make sure
that it renders the alternate content as well, or wait for google/bing/yahoo
to catch up with the times.

Another challenge with the above approach is deep linking.
How do you map your # links to actual urls?
For eg, with silverlight enabled, your links could be:
Home Page = http://myblog.com
BlogPost number 3 = http://myblog.com#/View/Blogs/3
BlogPost number 5 = http://myblog.com#/View/Blogs/5

Notice that the only difference in the above three urls is after the #.
That is, its the same url myblog.com, but a different position on that page
(or a different state of your application). If you were to change the url
before the #, then the browser would consider it another get request and
re-load that page from scratch.

In asp.net, your urls would have been something like:
Home Page = http://myblog.com
BlogPost number 3 = http://myblog.com/View/Blogs?id=3
BlogPost number 5 = http://myblog.com/View/Blogs?id=5

So basically, you need the following for the above type of mapping to work:
1. In your Silverlight app initialization, check the url , query string , #
link and then render the content based on that.
2. In aspx and aspx.cs, for the alternate content, check the url , query
string , # link and then render the alternate content based on that.

So basically, you'll have various aspx pages as you had before Silverlight
ruled the world, but all of those pages would be wrapped inside an object
tag that loads your silverlighapp.xap

A better way would be to use MVC instead of ASP Forms so you could use
routing instead of physically creating various aspx pages.


BTW. there is an issue with the alternate content and search engine ranking.
The search engine bot that is indexing your alternate content has no way to
know for sure if the alternate content that you have provided matches what
your silverlight app has. Malicious websites could have alternate content
with popular keywords, but the actual silverlight app could be "smooth
streaming" porn movies or load pics with deep zoom / photosynth :)

Therefore, Search engines do not assign too much weightage to alternate
content. You can overcome that issue by using css based hidden divs and
using javascript to show one or the other .This solution is better for SEO
but has its own issues for browsers that do not even have javascript
enabled. In that case, you can have your content visible by default and then
hide it if silverlight is enabled. But that will flash the content on the
screen while the dom is loaded, and then it'll disappear.

The gist of it all is that it can be done, but not without significant
development effort from your side. I hope that either google/bing/yahoo
start indexing SL content soon, or Microsoft provides solutions for the
above issues in the navigation framework.

New SEO optimised Business Application Template for Visual Studio?

My 2 cents

--------------------------------------------------------------------------

Asheesh Soni
Web Development Team Leader
Information Technology | Burbank Group of Companies

BURBANK BUSINESS PARK | Aberdeen Road Altona Victoria 3018 Australia


On Sat, Jan 30, 2010 at 7:33 PM, Tony Wright <[email protected]> wrote:

>  Hi all,
>
>
>
> How does a search engine see the content of a Silverlight application?
>
>
>
> My theory is that it doesn’t. I was thinking about finding a
> Silverlight-based blog engine, but there’d be no point if google can’t see
> the content!
>
>
>
> Regards,
>
> Tony
>
> _______________________________________________
> ozsilverlight mailing list
> [email protected]
> http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight
>
>
_______________________________________________
ozsilverlight mailing list
[email protected]
http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight

Reply via email to