Your SlideShare is downloading. ×
0
Nathan Buggia
Jonathan Hawkins
                        Senior Product Planner
Architect
                        Live Searc...
Why is Search important?
How to make a Search friendly site
Search enable your ASP.NET site
Search Sitemaps and dynamic da...
Site Referrals Q1-Q4 2006




     Direct, 30%
                                               Google, 30%




            ...
When you’re looking for specific information on an unfamiliar website…


                                                 ...
Crawlers index HTML text and follow links
 Crawlers visit your site on a regular basis and index for new
 content
 Determi...
Dynamic content
 Simple URLs with small number of parameters
   http://www.somesite.com/view.aspx?ItemID=22
   http://www....
SearchDataSource
 Natural binding of UI elements for search input
 Enables data binding of search results
 Style to your w...
Jonathan Hawkins
Architect
ASP.NET
<asp:TextBox ID=quot;TextBoxSearchquot; runat=quot;serverquot;></asp:TextBox>
<asp:Button ID=quot;ButtonSearchquot; runat=...
Enable search engine crawlers to find information in your
site
Sitemaps provide suggestions to search engines
Specify prio...
Turn your ASP.NET navigation sitemap into a
search sitemap
Add application dynamic data to search site map
 URL to the web...
Jonathan Hawkins
Architect
ASP.NET
Jonathan Hawkins
Architect
ASP.NET
Search query language
  http://search.live.com/docs/help.aspx?t=SEARCH_REF_AdvSrchOperators.htm

Search macros (similar to...
Live Search Supporting Broad Commercial Use

 Max Queries/ Day: 25,000
 Max Queries/ Second: 10
 Best effort service level...
Web Masters
 http://help.live.com/help.aspx?project=wl_webmasters
 https://siteexplorer.search.yahoo.com
 http://www.googl...
Add Search and SiteMaps to your site today!
Live Search
 USB Key in your attendee bag
 Learn more - http://search.live.com...
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
<microsoft.web.preview>
 <searchSiteMap enabled=quot;truequot;>
  <providers>
   <add name=quot;Navigationquot;
       typ...
public class ProductSiteMapData : DynamicDataSearchSiteMapProvider
{
  // Return a collection of results.
  // Use LINQ, A...
<?xml version=quot;1.0quot; encoding=quot;utf-8quot; ?>
 <sitemapindex xmlns=quot;http://www.sitemaps.org/schemas/sitemap/...
<?xml version=quot;1.0quot; encoding=quot;utf-8quot;?>
<urlset xmlns=quot;http://www.sitemaps.org/schemas/sitemap/0.9quot;...
Symbols                                     Keywords
+           &        AND       contains:        inanchor:     languag...
Open Search Standard: http://a9.com/-/spec/opensearch/1.1/


JavaScript: window.external.AddSearchProvider('http://www.nas...
Search Capabilities for Dynamic Web Content
Search Capabilities for Dynamic Web Content
Search Capabilities for Dynamic Web Content
Search Capabilities for Dynamic Web Content
Upcoming SlideShare
Loading in...5
×

Search Capabilities for Dynamic Web Content

2,148

Published on

See what you can do to provide fantastic search results for your Web site. See how to integrate search engine support into your site, how to allow crawlers to index your catalog, and how easy it is to do all of this with ASP.NET

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,148
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Search Capabilities for Dynamic Web Content"

  1. 1. Nathan Buggia Jonathan Hawkins Senior Product Planner Architect Live Search ASP.NET Microsoft Corporation Microsoft Corporation
  2. 2. Why is Search important? How to make a Search friendly site Search enable your ASP.NET site Search Sitemaps and dynamic data Improving your Search experience with Live
  3. 3. Site Referrals Q1-Q4 2006 Direct, 30% Google, 30% Yahoo, 12% MSNLive, 3% Other, 25%
  4. 4. When you’re looking for specific information on an unfamiliar website… 100% 90% 47% Search 80% 70% 60% 50% 33% Browse 40% 30% 13% Abandon 20% 10% 0% Forrester Research, forrester.com. “It’s time to update site search functionality”, 5/1/2006, Iris Cremers
  5. 5. Crawlers index HTML text and follow links Crawlers visit your site on a regular basis and index for new content Determine relevancy relative to the rest of the web Make pages for users Produce well formed HTML for your website Use text words for key terms as crawlers can't index images Ensure Title and ALT tags are descriptive Handle Title in ASP.NET Master and Content pages Meta tags that accurately describes the page contents Keep links functional and simple
  6. 6. Dynamic content Simple URLs with small number of parameters http://www.somesite.com/view.aspx?ItemID=22 http://www.somesite.com/movies/view.aspx Review site in Lynx text browser to ensure crawlers have a text rendering for high end features JavaScript, AJAX, Flash, Silverlight Help the Crawler index the right pages robots.txt – specify which directories to include/exclude Sitemap – specify page relative priority, change frequency, last modified
  7. 7. SearchDataSource Natural binding of UI elements for search input Enables data binding of search results Style to your website to provide consistent experience Search Providers Live Search (formally MSN Search) Sample code for Index Server, Yahoo, … Look at the QuickStarts on how to write your own search provider
  8. 8. Jonathan Hawkins Architect ASP.NET
  9. 9. <asp:TextBox ID=quot;TextBoxSearchquot; runat=quot;serverquot;></asp:TextBox> <asp:Button ID=quot;ButtonSearchquot; runat=quot;serverquot; OnClick=quot;ButtonSearch_Click“ Text=quot;Searchquot; /> <asp:SearchDataSource ID=quot;SearchDataSource1quot; runat=quot;serverquot; > <SelectParameters> <asp:ControlParameter ControlID=quot;TextBoxSearchquot; Name=quot;queryquot; PropertyName=quot;Text“ Type=quot;Objectquot; /> </SelectParameters> </asp:SearchDataSource> <asp:GridView ID=quot;GridView1quot; runat=quot;serverquot; DataSourceID=quot;SearchDataSource1quot;> </asp:GridView>
  10. 10. Enable search engine crawlers to find information in your site Sitemaps provide suggestions to search engines Specify priority of the URL relative to the other pages in your site Specify how frequently the page is likely to change Specify last modified date time Partition sitemaps with a sitemap index Supported by major search engines See http://sitemaps.org/protocol.html for details
  11. 11. Turn your ASP.NET navigation sitemap into a search sitemap Add application dynamic data to search site map URL to the web page query string parameters Sitemap priority, change frequency and last modified date Customize with databinding and formatting
  12. 12. Jonathan Hawkins Architect ASP.NET
  13. 13. Jonathan Hawkins Architect ASP.NET
  14. 14. Search query language http://search.live.com/docs/help.aspx?t=SEARCH_REF_AdvSrchOperators.htm Search macros (similar to stored procedures) http://search.live.com/macros AJAX web search control http://search.live.com/siteowner SOAP API http://dev.live.com/livesearch/sdk Web, Image, News, Phonebook, and MetaTags Samples, samples, samples C#, Java, PHP, Ruby, Python, Flash
  15. 15. Live Search Supporting Broad Commercial Use Max Queries/ Day: 25,000 Max Queries/ Second: 10 Best effort service level agreement Online support: http://forum.microsoft.com
  16. 16. Web Masters http://help.live.com/help.aspx?project=wl_webmasters https://siteexplorer.search.yahoo.com http://www.google.com/webmasters Developers http://dev.live.com/LiveSearch http://developer.yahoo.com/search/ http://code.google.com/apis/ajaxsearch/web.html Sitemaps http://sitemaps.org/protocol.html
  17. 17. Add Search and SiteMaps to your site today! Live Search USB Key in your attendee bag Learn more - http://search.live.com Feedback - http://forum.microsoft.com ASP.NET Futures CTP Download CTP today Learn more - http://ajax.asp.net Feedback - http://forums.asp.net/
  18. 18. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  19. 19. <microsoft.web.preview> <searchSiteMap enabled=quot;truequot;> <providers> <add name=quot;Navigationquot; type=quot;Microsoft.Web.Preview.Search.AspNetSiteMapSearchSiteMapProvider, Microsof t.Web.Previewquot;/> <add name=quot;Productquot; type=quot;ProductSiteMapData, App_Codequot; targetUrl=quot;Product.aspx“queryStringDataFields=quot;ProductIDquot; /> </providers> </searchSiteMap> </microsoft.web.preview> <system.web> <httpHandlers> <add verb=quot;*quot; path=quot;SearchSiteMaps.axd“ type=quot;Microsoft.Search.SearchSiteMapHandlerquot; validate=“falsequot;/> </httpHandlers> </system.web>
  20. 20. public class ProductSiteMapData : DynamicDataSearchSiteMapProvider { // Return a collection of results. // Use LINQ, ADO.NET, your code to make a collection public override IEnumerable DataQuery() { String connectionString = “…”; Northwind db = new Northwind(connectionString); Table<Product> Products = db.Products; var q = from p in Products where p.UnitsInStock > (p.ReorderLevel * 10) select p; return q; } }
  21. 21. <?xml version=quot;1.0quot; encoding=quot;utf-8quot; ?> <sitemapindex xmlns=quot;http://www.sitemaps.org/schemas/sitemap/0.9quot;> <sitemap> <loc>http://example.com/Northwind/SearchSiteMaps.axd?sitemap=Product</loc> <lastmod>2007-04-03T08:24:00.169Z</lastmod> </sitemap> <sitemap> <loc>http://example.com/Northwind/SearchSiteMaps.axd?sitemap=Category</loc> <lastmod>2007-04-03T08:24:00.169Z</lastmod> </sitemap> <sitemap> <loc>http://example.com/Northwind/SearchSiteMaps.axd?sitemap=Navigation</loc> <lastmod>2007-04-03T08:24:00.169Z</lastmod> </sitemap> </sitemapindex>
  22. 22. <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <urlset xmlns=quot;http://www.sitemaps.org/schemas/sitemap/0.9quot;> <url> <loc>http://localhost:52062/Northwind/Product.aspx?ProductId=4</loc> </url> <url> <loc>http://localhost:52062/Northwind/Product.aspx?ProductId=8</loc> </url> … </urlset>
  23. 23. Symbols Keywords + & AND contains: inanchor: language: - NOT filetype: inbody: loc:, location: | OR feed:, hasfeed: intitle: prefer: “” meta: inurl: {frsh=100} () macro: ip: {popl=100} site: {mtch=100} http://search.live.com/macros
  24. 24. Open Search Standard: http://a9.com/-/spec/opensearch/1.1/ JavaScript: window.external.AddSearchProvider('http://www.nasa.gov/nasa-opensearch.xml'); Configuration File: <?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?> <OpenSearchDescription xmlns=quot;http://a9.com/-/spec/opensearch/1.1/quot;> <ShortName>NASA Space Image Search</ShortName> <Description>Search NASA.gov for the latest space photos.</Description> <Url type=quot;text/htmlquot; template=quot;http://www.nasa.gov/search?q={searchTerms}quot; /> </OpenSearchDescription>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×