of 25/25
Architecting Navigation

04 Architecting Navigation

  • View

  • Download

Embed Size (px)


How to architect a web site and its links for search engine crawlability, usability, and accessibility

Text of 04 Architecting Navigation

Search Friendly Web App Design

Architecting Navigation

Classing up your URLs




store3.commp3Players apple ipodnano 16 G2 Black

store2.com mp3_players Apple_ipod_nano_16_G2_Black

store1.com product.aspx id=MB147L SessionId=2344RegionCode=en-US format=rich cat=3

Crawler Sign Posts 200 OKW3 standard for HTTP Status Codes 304 Not Modified 404 Gone

Bonus Crawling Tip!

What is the difference? oreilly.com oreilly.com/index.csp www.oreilly.com www.oreilly.com/index.cspWhats the difference?

Canonicalization in actionCheck your sites canonical forms using: Yahoos Site Explorer

Canonical Form# Sites Linking Inoreilly.com25,030oreilly.com/index.csp0www.oreilly.com1,174,124www.oreilly.com/index.csp0

Canonicalization Recommendation1) Chose www vs. non-www, 301 redirect one to the otherDetailed article on the issue from Matt Cuttswww.mysite.com mysite.com 3) Make all internal links to the correct canonical form4) Use Google Webmaster Tools to select www vs non-www.

Example: Consistent Linking

Case Study Vans.com

Can we find them?

What they want to be found for

skate shoesbmx shoesGoogle12289Yahoo18131Live Search1329

TitlesMay I please have: http://vans.com


Advanced Topics (Theres more!)URL parametersTracking referrers and visitorsState managementGeographic location of contentRearchitecting link structureContent submission protocols

Implementation Tips


URL Rewriting in ASP.NetImplementation whitepaperWork around for 404 error pagesImplementing Redirects in ASP.NetImplementing Redirects in IISASP.Net URL session state management

Asp.Net Custom Error PagesHTTP/1.x 302 FoundLocation: http://www.globalscholar.com/Error.aspxGET /Error.aspxHTTP/1.1Host: www.globalscholar.com

Detailed article on the issue from Colin Cochrane

ASP.Net 301 RedirectsInclude in any *.aspx file (you dont need a code behind file)

Other RedirectsPHP Cold Fusion JSP Perl #! /usr/bin/perl use cgi; my $q = cgi->new(); print $q->redirect( -location => 'http://www.newsite.com/newpage.cgi, -status => 301, );

ASP.Net Canonicalizationprotected void Application_BeginRequest(Object sender, EventArgs e) { if (HttpContext.Current.Request.Url.ToString().ToLower().Contains( "http://www.mysite.com")) { HttpContext.Current.Response.Status = "301 Moved Permanently"; HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace( "http://www.mysite.com", "http://mysite.com")); }}Create in your Global.asax file.More information and examples: http://search.live.com/results.aspx?q=301+redirect+asp.net

IIS 301 RedirectsClick here for a whitepaper

Apache RedirectsUse .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 CanonicalizationUse .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]


Where to next?http://janeandrobot.com http://ninebyblue.com http://SearchDeveloperDay.com

**http status codes signposts for how robots traverse web site*TIP!

Good for user experienceGood for link credit in search enginesIts like getting bonus links!

Sometimes easy to tell what it should have been. Otherwise, redirect to home page

For instance-first url has an extra spaceSeveral should be to home page*Whats the difference between urlsAll look the same point to the same pageTo a userButTo search engines, 4 different pages**internal links to canonical version-for instance, if using reference parameter for links back to home page

1-3 takes time, 4 can do now*****Complicated way of doing a javascript redirectSome search engines can follow simple javascript redirects, but none can follow this

No noscript on this pageNo content on the pageNo linksSo index a blank page with no title, no description, and no content

Only have other pages on the site indexed because of links from other pagesBut cant drill further into this site from home page alone

Thats why live is indexing untitled documentAnd thats why so many pages are indexed as home pageHome page seems to change a lot so engines dont know where to send people

Who has a smartphone? Check out this page and what do you see?*Speaker Notes:------------------

Here three sample descriptions from the vans.com site The first one has a generic description Since the site has no description meta tags, search engines look to DMOZ to see if the community has provided one When the site doesnt provide one, and DMOZ doesnt have one, then the search engines look for some good content on the page. If they cant find any, then they simply dont show a description. Im not sure why Yahoo has JavaScript in their description, but if you look at the page the developer had cut & pasted the entire Yahoo YUI library as well as the entire Yahoo YUI CSS file into the page, resulting in 98% of the page being source code. This could have something to do with it.-we dont know how yahoos crawler works, but could be an unclosed comment tag************Holistic online strategy-marketing-search-customer engagement---------