SlideShare a Scribd company logo
Search Engine Friendly Silverlight Applications Nikhil Kothari Software Architect, Microsoft Corporation http://www.nikhilk.net
Rich Internet Applications Email, TurboTax, Admin Tools http://finance.yahoo.com http://giffy.com
Search-friendly Web Applications Lots of standard practices Friendly URLs via rewriting Managing URLs via 301 redirects Well designed page structure … Indexability Addressing the What – Ensuring meaningful content for indexing Addressing the Where – Ensuring discoverability of the content Relevance Facilitate deep linking Create content worth linking
The Indexability Problem Classic Web Applications Distinct pages with static markup/content Standard navigation Rich Web Applications Single pages with minimal static content Pages with client-side application logic Fetch additional data using XMLHTTP Update page in-place without navigation
Restoring Indexability Add indexable content Publish content along-side in the same page as semantically correct markup The content matters, not the application itself The same content that a user would see Design the RIA to consume content and create a richer presentation and user interaction model HTML data <-> CSS HTML data <-> Script/Silverlight Add discoverability of content Enable deep linking/permalinks/link sharing Use sitemaps to publish links to all interesting content
Demo Using ASP.NET to Add Indexability to Silverlight Applications
Indexability Pattern – HTML Data Page Source Code <script> document.write(‘<div style=“display: none”>’); </script> <div id=“photoList”> <div> <h1 class=“title”>...</h1> <img class=“photo” src=“...” alt=“...” /> <a href=“...”>Link</a> </div> </div> <script> document.write(‘</div>’); </script> <div id=“appContainer” /> <script> // Script to create/start the application </script>
Indexability Pattern – HTML Data Page source as rendered by browser <div style=“display: none”>’ <div id=“photoList”> <div> <h1 class=“title”>...</h1> <img class=“photo” src=“...” alt=“...” /> <a href=“...”>Link</a> </div> </div> </div> <div id=“appContainer” /> <script> // Script to create/start the application </script>
Indexability Pattern – HTML Data Page source as seen by a search crawler <div id=“photoList”> <div> <h1 class=“title”>...</h1> <img class=“photo” src=“...” alt=“...” /> <a href=“...”>Link</a> </div> </div> <div id=“appContainer” />
Why this Particular Pattern? Web development is all about finding patterns that solve multiple problems in a complementary way A single approach that works for Ajax and Silverlight and Flash Extra benefits of this “HTML Data” pattern Helps keep site functional in script-disabled environments Initial data to populate UI is available without a second request back to the server Initial data is already there… so you don’t need yet another progress bar as soon as the app starts up
Why this Particular Pattern? What about content within the <object> tag? Works for Silverlight, but a search engine may or may not index that content Works for plugin scenarios; not for Ajax What about <noscript>? Doesn’t help address the initial data scenario Content of becomes a single text value -> so you have to now parse XML, rather than use the DOM APIs Works for Ajax scenarios; not for plugins
Key Takeaways Indexability is essential to a search-friendly design You  don’t  have to sacrifice indexability to implement richer Web user experiences Enable data indexing, not the application itself Complement your RIA with server-side rendering to assist the search engine crawler Address the what and the where ASP.NET/IIS and Silverlight form an end-to-end Web platform Supports building search-friendly applications http://www.nikhilk.net/AjaxSEO.aspx
Q&A

More Related Content

PPTX
D365UGUK Extending Dynamics Portals Workshop
PDF
How to Change the search results are displayed
PDF
Cool Dashboards and Visualizations for SharePoint Power Users
PDF
Understand the SharePoint Basics
PDF
Introduction to a Responsive Master Page with the Design Manager
PPT
PoolParty Thesaurus Management Quick Overview
PDF
SharePoint - Empower People and Stay in Control - Atidan
PPTX
SharePoint as a Document Management System (DMS)
D365UGUK Extending Dynamics Portals Workshop
How to Change the search results are displayed
Cool Dashboards and Visualizations for SharePoint Power Users
Understand the SharePoint Basics
Introduction to a Responsive Master Page with the Design Manager
PoolParty Thesaurus Management Quick Overview
SharePoint - Empower People and Stay in Control - Atidan
SharePoint as a Document Management System (DMS)

What's hot (20)

PPTX
SharePoint 2010 Overview
PDF
Exploring the New Search in SharePoint 2013 - What can you do now?
PDF
O365Con18 - Query like a Pro - Matthew McDermott
PPT
Engage10 Debrief
PPT
Share Point Voice Annotation
PPT
SharePoint Site Maps Using Visio 2010
PPTX
Spsatl2013 Displaying Dynamic Content With SharePoint Search
PPTX
Displaying Dynamic Content in SharePoint with Search
PPTX
SharePoint Document Management
PPTX
Developing SP 2013 Display Templates
PPTX
SPC Europe Training Week - Real World Challenges in Enterprise Search
PDF
O365Con18 - Invest in Search - Matthew McDermott
PPTX
Spsatl2013 Introduction to the SharePoint's Social APIs
PDF
Sharepoint Basics
PDF
SPC Master Power User SharePoint & Office 365
PPTX
SharePoint 2013 Document Management Features
PPTX
Organizing Information -Things to Consider
PDF
Resume_GregSchnoor
PDF
CANONICALISATION
PPTX
SharePoint 2013 overview
SharePoint 2010 Overview
Exploring the New Search in SharePoint 2013 - What can you do now?
O365Con18 - Query like a Pro - Matthew McDermott
Engage10 Debrief
Share Point Voice Annotation
SharePoint Site Maps Using Visio 2010
Spsatl2013 Displaying Dynamic Content With SharePoint Search
Displaying Dynamic Content in SharePoint with Search
SharePoint Document Management
Developing SP 2013 Display Templates
SPC Europe Training Week - Real World Challenges in Enterprise Search
O365Con18 - Invest in Search - Matthew McDermott
Spsatl2013 Introduction to the SharePoint's Social APIs
Sharepoint Basics
SPC Master Power User SharePoint & Office 365
SharePoint 2013 Document Management Features
Organizing Information -Things to Consider
Resume_GregSchnoor
CANONICALISATION
SharePoint 2013 overview
Ad

Similar to Search Friendly Web Apps (20)

PPTX
Being a tweaker modern web performance techniques
PPTX
Real-World AJAX with ASP.NET
PPTX
Mike Taulty MIX10 Silverlight Frameworks and Patterns
PPT
Getting More Traffic From Search Advanced Seo For Developers Presentation
PDF
Architecting an ASP.NET MVC Solution
PPT
After YSlow "A"
PPT
Advanced Seo Web Development Tech Ed 2008
PDF
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
KEY
Faster Frontends
PPTX
Seo for Engineers
PPT
How We Make Websites
PPT
Developing For The Web
PPT
Shopzilla - Performance By Design
PPTX
Mike Taulty Silverlight3 Dev Days Part2
PDF
Creating an Effective Mobile API
PPTX
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
PPT
Site Architecture Best Practices for Search Findability - Adam Audette
PPT
Web 2.0 Tech Talk
PDF
[DevDay 2017] Using analytics, focusing on SEO and unability - Keys to develo...
PDF
Silverlight Document Search Engine
Being a tweaker modern web performance techniques
Real-World AJAX with ASP.NET
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Getting More Traffic From Search Advanced Seo For Developers Presentation
Architecting an ASP.NET MVC Solution
After YSlow "A"
Advanced Seo Web Development Tech Ed 2008
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Faster Frontends
Seo for Engineers
How We Make Websites
Developing For The Web
Shopzilla - Performance By Design
Mike Taulty Silverlight3 Dev Days Part2
Creating an Effective Mobile API
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
Site Architecture Best Practices for Search Findability - Adam Audette
Web 2.0 Tech Talk
[DevDay 2017] Using analytics, focusing on SEO and unability - Keys to develo...
Silverlight Document Search Engine
Ad

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Empathic Computing: Creating Shared Understanding
PPT
Teaching material agriculture food technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Big Data Technologies - Introduction.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
Chapter 3 Spatial Domain Image Processing.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Review of recent advances in non-invasive hemoglobin estimation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Empathic Computing: Creating Shared Understanding
Teaching material agriculture food technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Machine learning based COVID-19 study performance prediction
Understanding_Digital_Forensics_Presentation.pptx
Approach and Philosophy of On baking technology
Programs and apps: productivity, graphics, security and other tools
Big Data Technologies - Introduction.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

Search Friendly Web Apps

  • 1. Search Engine Friendly Silverlight Applications Nikhil Kothari Software Architect, Microsoft Corporation http://www.nikhilk.net
  • 2. Rich Internet Applications Email, TurboTax, Admin Tools http://finance.yahoo.com http://giffy.com
  • 3. Search-friendly Web Applications Lots of standard practices Friendly URLs via rewriting Managing URLs via 301 redirects Well designed page structure … Indexability Addressing the What – Ensuring meaningful content for indexing Addressing the Where – Ensuring discoverability of the content Relevance Facilitate deep linking Create content worth linking
  • 4. The Indexability Problem Classic Web Applications Distinct pages with static markup/content Standard navigation Rich Web Applications Single pages with minimal static content Pages with client-side application logic Fetch additional data using XMLHTTP Update page in-place without navigation
  • 5. Restoring Indexability Add indexable content Publish content along-side in the same page as semantically correct markup The content matters, not the application itself The same content that a user would see Design the RIA to consume content and create a richer presentation and user interaction model HTML data <-> CSS HTML data <-> Script/Silverlight Add discoverability of content Enable deep linking/permalinks/link sharing Use sitemaps to publish links to all interesting content
  • 6. Demo Using ASP.NET to Add Indexability to Silverlight Applications
  • 7. Indexability Pattern – HTML Data Page Source Code <script> document.write(‘<div style=“display: none”>’); </script> <div id=“photoList”> <div> <h1 class=“title”>...</h1> <img class=“photo” src=“...” alt=“...” /> <a href=“...”>Link</a> </div> </div> <script> document.write(‘</div>’); </script> <div id=“appContainer” /> <script> // Script to create/start the application </script>
  • 8. Indexability Pattern – HTML Data Page source as rendered by browser <div style=“display: none”>’ <div id=“photoList”> <div> <h1 class=“title”>...</h1> <img class=“photo” src=“...” alt=“...” /> <a href=“...”>Link</a> </div> </div> </div> <div id=“appContainer” /> <script> // Script to create/start the application </script>
  • 9. Indexability Pattern – HTML Data Page source as seen by a search crawler <div id=“photoList”> <div> <h1 class=“title”>...</h1> <img class=“photo” src=“...” alt=“...” /> <a href=“...”>Link</a> </div> </div> <div id=“appContainer” />
  • 10. Why this Particular Pattern? Web development is all about finding patterns that solve multiple problems in a complementary way A single approach that works for Ajax and Silverlight and Flash Extra benefits of this “HTML Data” pattern Helps keep site functional in script-disabled environments Initial data to populate UI is available without a second request back to the server Initial data is already there… so you don’t need yet another progress bar as soon as the app starts up
  • 11. Why this Particular Pattern? What about content within the <object> tag? Works for Silverlight, but a search engine may or may not index that content Works for plugin scenarios; not for Ajax What about <noscript>? Doesn’t help address the initial data scenario Content of becomes a single text value -> so you have to now parse XML, rather than use the DOM APIs Works for Ajax scenarios; not for plugins
  • 12. Key Takeaways Indexability is essential to a search-friendly design You don’t have to sacrifice indexability to implement richer Web user experiences Enable data indexing, not the application itself Complement your RIA with server-side rendering to assist the search engine crawler Address the what and the where ASP.NET/IIS and Silverlight form an end-to-end Web platform Supports building search-friendly applications http://www.nikhilk.net/AjaxSEO.aspx
  • 13. Q&A