54

Search-Friendly Web Development @ DC RUG - August 2010

Embed Size (px)

DESCRIPTION

Geared towards Ruby on Rails developers.

Citation preview

Search Engines

62.6%2.2%

12.7%

3.6%

18.9%

comScore June 2010 Rankings

Google AOLBing AskYahoo

Why?

“SEO Expert”

== “Spammer”

“I literally can’t stand the advertising/marketing/SEO people. They’re making money where there is none, simply because they’re immoral fucktards who are capable of badgering people just to make a little ching. They’re paying overseas workers crap wages to do technical work that is immoral if not illegal, and they do it simply to make money.”

“I'm not an SEO expert, but [it] seems like SEO is something spam sites do. If you are trying to create a high quality destination site, just write good content and let Google do its job.”

- Sachin Agarwal, CEO Posterous

“Let FastCGI do its job”.

On average, 40% of traffic comes from organic search*

“Not my audience!”

luigimontanez.com

“Experts” Not Needed

Professional Practices• User-Centric Design

• Test-Driven Development

• DRY and Maintainable Code

• Server Performance

• Client-Side Performance

• Search Engine Considerations

Six Simple Rules• Can’t outsmart Google (or Bing or Y!)

• Follow Google’s advice

• Obey conventions and standards

• Stay away from hacks

• Think like a search engine

• Think like a searcher

Search Engine Pipeline• Crawling

• Indexing

• Ranking

<crawling>

Discovery• Links to your pages from other sites

• Links to your pages from within your site

• Your sitemap.xml

sitemap.xml• Tell search engines exactly what you

want them to crawl

• sitemaps.org

• Limit: 50,000 URLs, 10MB

• Can specify multiple sitemaps with a sitemap index

Generating sitemap.xml• Write it by hand, stick it in public/

• Build a controller, action, and route entry to respond to ‘sitemap.xml’. Use XML Builder to generate the entries. Cache it.

• Importantly: Strive for 100% coverage.

robots.txt• Exclusion rather than inclusion

• robotstxt.org

User-agent: *Disallow: /profile

Be nice to the crawler• Be performant. Fast server response.

Fast page load. Compress files. Use if-modified-since header.

• Non-www vs. www - pick one.

• Ensure unique content. Use <link rel=”canonical”/> where approriate.

</crawling>

<indexing>

Don’t sabotage it• Don’t use a 302 redirect when you

mean a 301 redirect.

• Make sure images, video, Flash, Silverlight, and AJAX are accessible.

• See the Google Webmaster Central Blog for details.

• Don’t change content based on region.

• Don’t require cookies to view content.

</indexing>

<ranking>

<title>• Most important element to search

engines

• Think long and hard about it

• Keywords! Think like a searcher.

• Best format: Page Title | Site Name

• ProTip: Append &pws=0 for testing in Google

URLs• Override to_param for pretty URLs.

• Dashes are word separators, underscores are not. Use dashes.

• International domains are treated as such.

<meta>• <meta name=”description” content=”...” />

• Make it unique for every page. Use content_for.

• Shown to users, doesn’t affect ranking.

• <meta name=”tags” ... /> is ignored

Headings and Content• <h> tags should be used appropriately.

• Page content should match what the <title> and <h> tags refer to.

• Avoid text-indent:-9999px CSS.

• Watch out for content hijackers.

</ranking>

Tools• Google Webmaster Tools

• Bing Webmaster Tools

• Yahoo! Site Explorer

Three Takeaways• Think like a searcher

• Optimize your <title>s

• Use Google Webmaster Tools