SlideShare a Scribd company logo
Architecting Navigation
Classing up your URLs http://store1.com/product.aspx?id=MB147L&SessionId=2344&RegionCode=en-US&format=rich&cat=3 http://store2.com/mp3_players/Apple_ipod_nano_16_G2_Black/ http://store3.com/mp3-players/Apple-ipod-nano-16-G2-Black/ store3.com mp3 Players apple ipod nano 16 G2 Black store2.com mp3_players Apple_ipod_nano_16_G2_Black store1.com product.aspx id=MB147L SessionId=2344 RegionCode=en-US format=rich cat=3
Crawler Sign Posts 200 OK W3 standard for HTTP Status Codes 304 Not Modified 404 Gone 301 Moved Permanently 302 Moved Temporarily
Bonus Crawling Tip!
What is the difference? oreilly.com oreilly.com/index.csp www.oreilly.com www.oreilly.com/index.csp What’s the difference?
Canonicalization in action Check your site’s canonical forms using:  Yahoo’s Site Explorer Canonical Form # Sites Linking In oreilly.com 25,030 oreilly.com/index.csp 0 www.oreilly.com 1,174,124 www.oreilly.com/index.csp 0
Canonicalization Recommendation 1) Chose www vs. non-www, 301 redirect one to the other Detailed article on the issue from Matt Cutts www.mysite.com      mysite.com  3) Make all internal links to the correct canonical form 4) Use Google Webmaster Tools to select www vs non-www. 2) Trim your folder-level default filename off the end mysite.com/default.aspx      mysite.com
Example: Consistent Linking
Case Study – Vans.com
Can we find them?
What they  want  to be found for skate shoes bmx shoes Google 122 89 Yahoo 18 131 Live Search 13 29
Titles May I please have:  http://vans.com
Descriptions http://developer.yahoo.com/yui/
Advanced Topics (There’s more!) URL parameters Tracking referrers and visitors State management Geographic location of content Rearchitecting link structure Content submission protocols
Implementation Tips
ASP.Net URL Rewriting in ASP.Net Implementation whitepaper Work around for 404 error pages Implementing Redirects in ASP.Net Implementing Redirects in IIS ASP.Net URL session state management
Asp.Net Custom Error Pages HTTP/1.x 302 Found Location:  http://www.globalscholar.com/Error.aspx GET /Error.aspx HTTP/1.1 Host:  www.globalscholar.com Detailed article on the issue from Colin Cochrane
ASP.Net 301 Redirects <script> protected void Page_Load(object sender, EventArgs e)  {     Response.Status = &quot;301 Moved Permanently&quot; ;     Response.AddHeader(&quot;Location&quot;, &quot;http://mysite.com/new-URL&quot;);  } </script> Include in any *.aspx file… (you don’t need a code behind file)
Other Redirects PHP <?php // Permanent redirection header(&quot;HTTP/1.1 301 Moved Permanently&quot;); header(&quot;Location: http://www.domain.com/&quot;); exit(); ?> Cold Fusion <CFHEADER statuscode=&quot;301&quot; statustext=&quot;Moved Permanently”> <CFHEADER name=&quot;Location&quot; value=&quot;http://www.domain.com/&quot;> JSP <% response.setStatus(301); response.setHeader( &quot;Location&quot;, &quot;http://www.new-url.com/&quot; ); response.setHeader( &quot;Connection&quot;, &quot;close&quot; ); %> Perl #! /usr/bin/perl use cgi; my $q = cgi->new(); print $q->redirect( -location => 'http://www.newsite.com/newpage.cgi’, -status => 301, );
ASP.Net Canonicalization protected void Application_BeginRequest(Object sender,  EventArgs e)  {  if (HttpContext.Current.Request.Url.ToString().ToLower().Contains(       &quot;http://www.mysite.com&quot;))  {       HttpContext.Current.Response.Status = &quot;301 Moved Permanently&quot;;       HttpContext.Current.Response.AddHeader(&quot;Location&quot;,           Request.Url.ToString().ToLower().Replace(               &quot;http://www.mysite.com&quot;,               &quot;http://mysite.com&quot;));  } } Create in your Global.asax file…. More information and examples:  http://search.live.com/results.aspx?q=301+redirect+asp.net
IIS 301 Redirects Click here for a whitepaper
Apache Redirects Use .htaccess file for bulk operations: Moving a single page Redirect 301 /oldpage.html http://www.example.com/newpage.html Moving a site (and redirecting everything to the home page) Redirect 301 / http://www.example.com Changing file extension RedirectMatch 301 (.*)\.html$ http://www.example.com$1.php
Apache Canonicalization Use .htaccess for bulk operations: Non-www to www (need mod_rewrite enabled) Options +FollowSymlinks RewriteEngine on rewritecond%{http_host} ^domain.com [nc] rewriterule^(.*)$ http://www.domain.com/$1 [r=301,nc]] Index page to root domain Options +FollowSymLinks RewriteEngine on # index.php to / RewriteCond%{THE_REQUEST} ^[A-Z]{3, 9}\ /.*index\.php\ HTTP/ RewriteRule^(.*)index\.php$ /$1 [R=301,L]
Questions?
Where to next? http://janeandrobot.com   http://ninebyblue.com   http://SearchDeveloperDay.com   http://webmaster.live.com   http://google.com/webmaster   http://siteexplorer.search.yahoo.com

More Related Content

PPT
Joomla! Day UK 2009 .htaccess
ODP
Sphinx 1.1 i18n 機能紹介
PDF
Search 500-video-clips
PDF
Play With Docker
PPTX
E Pi Server Easy Search Technical Overview
PDF
How to Upgrade Your Database Plan on Heroku and Rails Setup?
PDF
OpenERP Performance Benchmark
ODP
Satellite Apps around the Cloud: Integrating your infrastructure with JIRA St...
Joomla! Day UK 2009 .htaccess
Sphinx 1.1 i18n 機能紹介
Search 500-video-clips
Play With Docker
E Pi Server Easy Search Technical Overview
How to Upgrade Your Database Plan on Heroku and Rails Setup?
OpenERP Performance Benchmark
Satellite Apps around the Cloud: Integrating your infrastructure with JIRA St...

What's hot (16)

PDF
前瞻性Web性能优化pwpo
PDF
WordPress Security - ওয়ার্ডপ্রেসের সিকিউরিটি
PDF
Log files: The Overlooked Source of SEO Opportunities
PDF
Selenium sandwich-2
PPT
J M Githeko Agenda Software installation – Apche, MySQL, PHP
PDF
Running PHP on a Java container
PDF
When RSS Fails: Web Scraping with HTTP
PPT
Google Bot Herding, PageRank Sculpting and Manipulation
TXT
key pada handpone samasung
PDF
Cloud Automation with Opscode Chef
PDF
Routing @ Scuk.cz
ODP
Beyond php - it's not (just) about the code
ODP
Web Scraping with PHP
PDF
Selenium Sandwich Part 1: Data driven Selenium
PPT
How do speed up web pages? CSS & HTML Tricks
PDF
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
前瞻性Web性能优化pwpo
WordPress Security - ওয়ার্ডপ্রেসের সিকিউরিটি
Log files: The Overlooked Source of SEO Opportunities
Selenium sandwich-2
J M Githeko Agenda Software installation – Apche, MySQL, PHP
Running PHP on a Java container
When RSS Fails: Web Scraping with HTTP
Google Bot Herding, PageRank Sculpting and Manipulation
key pada handpone samasung
Cloud Automation with Opscode Chef
Routing @ Scuk.cz
Beyond php - it's not (just) about the code
Web Scraping with PHP
Selenium Sandwich Part 1: Data driven Selenium
How do speed up web pages? CSS & HTML Tricks
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
Ad

Similar to 04 Architecting Navigation (20)

PPT
Advanced SEO for Web Developers
PPT
Getting More Traffic From Search Advanced Seo For Developers Presentation
PPT
Internet Explorer 8 for Developers by Christian Thilmany
PPTX
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
PPT
Aspnet2 Overview
PPTX
.htaccess for SEOs - A presentation by Roxana Stingu
PPT
Widget Summit 2008
PPT
URLs and Domains (SMX East 2008)
PPT
腾讯大讲堂09 如何建设高性能网站
PPT
腾讯大讲堂09 如何建设高性能网站
PDF
The Django Web Application Framework
PPTX
Web Front End Performance
PPT
Advanced and Hidden WordPress APIs
PPT
Even Faster Web Sites at jQuery Conference '09
PPT
Front End Website Optimization
ODP
Pyramid Lighter/Faster/Better web apps
PPTX
Spring Surf 101
PPTX
Performance Metrics in a Day with Selenium
PPT
EPiServer Web Parts
PPTX
Fast by Default
Advanced SEO for Web Developers
Getting More Traffic From Search Advanced Seo For Developers Presentation
Internet Explorer 8 for Developers by Christian Thilmany
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Aspnet2 Overview
.htaccess for SEOs - A presentation by Roxana Stingu
Widget Summit 2008
URLs and Domains (SMX East 2008)
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
The Django Web Application Framework
Web Front End Performance
Advanced and Hidden WordPress APIs
Even Faster Web Sites at jQuery Conference '09
Front End Website Optimization
Pyramid Lighter/Faster/Better web apps
Spring Surf 101
Performance Metrics in a Day with Selenium
EPiServer Web Parts
Fast by Default
Ad

More from Nine By Blue (7)

PPT
Dev Summit Sf Flash Search V5
PPTX
LAMP Stack and SEO
PPT
Jennifer Lopez Microsoft Stack
PPT
Diagnosing Technical Issues With Search Engine Optimization
PPT
Diagnosing Issues
PPT
Marketing And Development
PPT
The Truth About Seo
Dev Summit Sf Flash Search V5
LAMP Stack and SEO
Jennifer Lopez Microsoft Stack
Diagnosing Technical Issues With Search Engine Optimization
Diagnosing Issues
Marketing And Development
The Truth About Seo

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
Teaching material agriculture food technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Approach and Philosophy of On baking technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Machine learning based COVID-19 study performance prediction
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Teaching material agriculture food technology
Encapsulation_ Review paper, used for researhc scholars
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
The AUB Centre for AI in Media Proposal.docx
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Chapter 3 Spatial Domain Image Processing.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Approach and Philosophy of On baking technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MIND Revenue Release Quarter 2 2025 Press Release
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine learning based COVID-19 study performance prediction

04 Architecting Navigation

  • 2. Classing up your URLs http://store1.com/product.aspx?id=MB147L&SessionId=2344&RegionCode=en-US&format=rich&cat=3 http://store2.com/mp3_players/Apple_ipod_nano_16_G2_Black/ http://store3.com/mp3-players/Apple-ipod-nano-16-G2-Black/ store3.com mp3 Players apple ipod nano 16 G2 Black store2.com mp3_players Apple_ipod_nano_16_G2_Black store1.com product.aspx id=MB147L SessionId=2344 RegionCode=en-US format=rich cat=3
  • 3. Crawler Sign Posts 200 OK W3 standard for HTTP Status Codes 304 Not Modified 404 Gone 301 Moved Permanently 302 Moved Temporarily
  • 5. What is the difference? oreilly.com oreilly.com/index.csp www.oreilly.com www.oreilly.com/index.csp What’s the difference?
  • 6. Canonicalization in action Check your site’s canonical forms using: Yahoo’s Site Explorer Canonical Form # Sites Linking In oreilly.com 25,030 oreilly.com/index.csp 0 www.oreilly.com 1,174,124 www.oreilly.com/index.csp 0
  • 7. Canonicalization Recommendation 1) Chose www vs. non-www, 301 redirect one to the other Detailed article on the issue from Matt Cutts www.mysite.com  mysite.com 3) Make all internal links to the correct canonical form 4) Use Google Webmaster Tools to select www vs non-www. 2) Trim your folder-level default filename off the end mysite.com/default.aspx  mysite.com
  • 9. Case Study – Vans.com
  • 10. Can we find them?
  • 11. What they want to be found for skate shoes bmx shoes Google 122 89 Yahoo 18 131 Live Search 13 29
  • 12. Titles May I please have: http://vans.com
  • 14. Advanced Topics (There’s more!) URL parameters Tracking referrers and visitors State management Geographic location of content Rearchitecting link structure Content submission protocols
  • 16. ASP.Net URL Rewriting in ASP.Net Implementation whitepaper Work around for 404 error pages Implementing Redirects in ASP.Net Implementing Redirects in IIS ASP.Net URL session state management
  • 17. Asp.Net Custom Error Pages HTTP/1.x 302 Found Location: http://www.globalscholar.com/Error.aspx GET /Error.aspx HTTP/1.1 Host: www.globalscholar.com Detailed article on the issue from Colin Cochrane
  • 18. ASP.Net 301 Redirects <script> protected void Page_Load(object sender, EventArgs e) {    Response.Status = &quot;301 Moved Permanently&quot; ;    Response.AddHeader(&quot;Location&quot;, &quot;http://mysite.com/new-URL&quot;); } </script> Include in any *.aspx file… (you don’t need a code behind file)
  • 19. Other Redirects PHP <?php // Permanent redirection header(&quot;HTTP/1.1 301 Moved Permanently&quot;); header(&quot;Location: http://www.domain.com/&quot;); exit(); ?> Cold Fusion <CFHEADER statuscode=&quot;301&quot; statustext=&quot;Moved Permanently”> <CFHEADER name=&quot;Location&quot; value=&quot;http://www.domain.com/&quot;> JSP <% response.setStatus(301); response.setHeader( &quot;Location&quot;, &quot;http://www.new-url.com/&quot; ); response.setHeader( &quot;Connection&quot;, &quot;close&quot; ); %> Perl #! /usr/bin/perl use cgi; my $q = cgi->new(); print $q->redirect( -location => 'http://www.newsite.com/newpage.cgi’, -status => 301, );
  • 20. ASP.Net Canonicalization protected void Application_BeginRequest(Object sender, EventArgs e) { if (HttpContext.Current.Request.Url.ToString().ToLower().Contains(     &quot;http://www.mysite.com&quot;)) {     HttpContext.Current.Response.Status = &quot;301 Moved Permanently&quot;;     HttpContext.Current.Response.AddHeader(&quot;Location&quot;,         Request.Url.ToString().ToLower().Replace(             &quot;http://www.mysite.com&quot;,             &quot;http://mysite.com&quot;)); } } Create in your Global.asax file…. More information and examples: http://search.live.com/results.aspx?q=301+redirect+asp.net
  • 21. IIS 301 Redirects Click here for a whitepaper
  • 22. Apache Redirects Use .htaccess file for bulk operations: Moving a single page Redirect 301 /oldpage.html http://www.example.com/newpage.html Moving a site (and redirecting everything to the home page) Redirect 301 / http://www.example.com Changing file extension RedirectMatch 301 (.*)\.html$ http://www.example.com$1.php
  • 23. Apache Canonicalization Use .htaccess for bulk operations: Non-www to www (need mod_rewrite enabled) Options +FollowSymlinks RewriteEngine on rewritecond%{http_host} ^domain.com [nc] rewriterule^(.*)$ http://www.domain.com/$1 [r=301,nc]] Index page to root domain Options +FollowSymLinks RewriteEngine on # index.php to / RewriteCond%{THE_REQUEST} ^[A-Z]{3, 9}\ /.*index\.php\ HTTP/ RewriteRule^(.*)index\.php$ /$1 [R=301,L]
  • 25. Where to next? http://janeandrobot.com http://ninebyblue.com http://SearchDeveloperDay.com http://webmaster.live.com http://google.com/webmaster http://siteexplorer.search.yahoo.com