31Three, 130
404 error pages, 60–63, 76–77, 134, 144, 235
A List Apart
accessibility article, 30
“Contrast and Meaning” article, 95, 215
CSS maps article, 33
CSS sprites article, 74
“Flash Embedding Cage Match” article, 203
home page goals article, 93
user research article, 89
A9 search standard, Amazon, 176
AarronWalter.com, 239
abbreviations, 36–37
accessibility
and images, 30–35
and table-based layouts, 35
and text transcripts, 211
accessible content, 29–30. See also accessibility
acronyms, 36–37
Adaptive Path, 159
AdWords, Google, 104, 153, 158, 235, 237
catalog system, 190–197
and Charles, 65
purpose of, 159–160
recommended book on, 181
search system, 162
subscription system, 220–232
Ajax Search API, Google, 159–165
algorithms, search engine, 19, 20, 47, 84, 153
All in One SEO, 147
AllTheWeb, 77
Ambient Findability, 2
anchor tags, 23
Andrew, Rachel, 183
animation tools, 180
Apache
.htaccess files, 53, 55, 60, 66
mod_deflate module, 73
mod_expires module, 66
mod_gzip module, 73
mod_headers module, 67
mod_rewrite module, 52–54, 57, 138
Application Programming Interface. See APIs
array_slice( )
function, 111
articles, writing, 94–95
AskJeeves, 77
Atomz, 167–168
Authentic Jobs, 116
author meta tags, 26
Backlink Analyzer, 236
Barnett, Wyatt, 175
Bennett-Chamberlain, Jesse, 130
Berners-Lee, Tim, 12
.biz domain names, 51
Bjorkoy, Olav Frihagen, 82–83, 84
black hat SEO techniques, 9, 20, 133, 184
blog headlines, 126–127
blog pings, 136
Blog Search, Google, 136
blog templates, 125–126
blog tracking services, 98
blog update services, 136–137
blogs, 124–149. See also WordPress
adding OpenSearch to, 178
adding popular posts section to, 129, 141–142
adding recent posts section to, 129, 143–144
analyzing traffic for, 124
archiving options for, 127, 140
automatic publication between, 94
best practices for, 124–133, 134
boosting site traffic with, 237
as content delivery platforms, 93–94
creating post titles for, 126–127
creating sense of trust in, 130
creating sitemap for, 146
creating your own template for, 126–127
directing users to related posts in, 132
duplicate content in, 132–133
encouraging others to share posts from, 131–132, 144–145
explaining purpose of, 130
including personal photo in, 130
linking to other, 125
promoting RSS feeds in, 130–131
SEO for, 125
summarizing posts in, 128, 140–141
tagging posts in, 147–149
time-consuming nature of, 94
as tool for discovering niche issues, 124
Blueprint CSS framework, 82–83, 84
BMW site, blacklisting of, 9
book reviews, 97–98
bookmark management systems, 117
bookmarklets, 117
Boulton, Mark, 82
Box.net, 117
Brachhold, Arne, 146
Brett, Matt, 130
Brilliant, Larry, 239
Brothercake, 183
browsers. See also specific browsers
adding OpenSearch to, 176–177
disabling JavaScript in, 181, 182
and Google Ajax Search API, 160–161
search features integrated into, 176
Bulletproof Ajax, 181
CAn-SPAM Act, 221
<caption>
tags, 36
Carr, Norm, 89
case studies, 94–95
CastingWords, 209
catalog system, 190–197
Cederholm, Dan, 63
Charles program, 65
Chevy Tahoe user-generated ad campaign, 100
Child, Dave, 54
cite
attribute, 87
clients, caching files for, 64–68
CLOSED expansion mode, 164
coding practices, CSS, 90
collapsible boxes, 185–186
color contrast checker, Snook’s, 96–97
.com domains, 51
combine.php
file, 73
Common Craft, 93
compressing files, 71–73
contact information, 42–43
contact pages, 42–43
content, 80–121
accessible, 29–30. See also accessibility
alternatives to authoring your own, 107–121
in audio/video files, 207–211
blocking indexing of, 26–28, 133
examples of exceptional
AndyRutledge.com, 95
Blueprint CSS framework, 82–83
cartoon site, 91
e-commerce site, 80–82
Smashing Magazine, 89–90
Snook.ca, 96–97
Terra Incognita, 97–98
and findability, 80–82
funneling traffic to specific, 91–93
getting feedback on, 89
helping users find specific, 91–93
hiding, 184
indexing of duplicate, 132–133
open vs. restrictive, 83–84
organizing, 7
originality of, 89–90
placing keywords in, 105–107
setting expiration date headers for, 68
stuffing with keywords, 7, 9, 184
targeting keywords in, 100–105
traits of quality, 84–91
trustworthiness of, 86–88
types of, 93–100
typos/misspellings in, 87
updating, 90–91
user-generated, 98–100
using appropriate voice for, 90
content development strategies, 107–121
content karma, 82–84
Content-Language
meta tags, 26
content-to-code ratio, 28
Content-Type
meta tags, 26
“Contrast and Meaning” article, 95, 215
copyright
meta tags, 26
copyright restrictions, 83–84
copywriters, 7
Creative Commons licensing, 46, 47, 84
Croft, Jeff, 82
CSE, Google, 153–159
CSS
and abbreviations, 37
background images, 30–31
benefits of, 28
coding practices, 90
compressing, 71–73
for expanding/collapsing content, 186
folder names, 69
for hiding content, 184
for image replacement, 34
minifying, 71
navigation systems, 183
positioning, 32
and progressive enhancement, 181–182, 192
for showing microformat icons/links, 45–46
sprites technique, 74
for subscription form, 225
and Web standards, 16
CSS-based layout systems, 35
CSS framework, Blueprint, 82–83, 84
CSS Zen Garden, 13
Custom Search Engine, Google, 153–159
Cutts, Matt, 125
database servers, 175
datetime
attribute, 87
<del>
tags, 87–88
Delicious
API, 121
bookmarklets, 117
browser extensions, 117
examples of RSS feed URLs, 119
link library, 119
researching keywords via, 101
RSS features, 116
sharing blog posts in, 131–132
syndicating bookmarks via, 117–118
and <title>
tags, 22
deprecated elements, findability and, 28
designers, 7
Designing with Web Standards, 5, 13
Diaz, Dustin, 189
Dimon, Garrett, 62
directhit, 77
disabilities, accommodating users with, 29–30, 183. See also accessibility
disallow
statement, 133
display:none
property, 184
DMxZone, 114
domain names
choosing/managing, 51–54
.com vs. other extensions, 51
including hyphens in, 51
including keywords in, 51
moving to new, 58–60
Dragon Design, 146
Dreamweaver microformats extension, 38
dropdown menu systems, 183
Duffy, Seth, 33
duplicate content, indexing of, 132–133
dynamic content, setting expiration date headers for, 68
E24 Transcription, 210–211
ecommerce system, 190
Edwards, James, 183
<em>
tags, 22–23
email addresses. See also mailing lists
collecting, 214–217
managing, 218–219
validating, 225
email newsletters, 216–217
Enablr, 209–210
error pages. See 404 error pages
event attachment functions, 189
EveryZing, 207–208
expandCollapseBoxes( )
function, 186–189
expansion mode options, 164
Expression Engine, 135
Extensible Markup Language, 13. See also XML
Fahrner Image Replacement, 35
Fairbanks, Chris, 178
“fast” spider user-agent, 77
FastFind, 170–171
FeedSmith plugin, 144
Fetch, 138
fetch_rss( )
function, 110–111, 112
file storage site, 117
files
caching, 64–68
compressing, 71–73
managing size of, 69–71
minifying, 70
naming, 50–51
setting expiration of, 67
FilesMatch
condition, 67–68
findability
and 301 redirects, 58–60
and 404 error pages, 60–63
and acronyms/abbreviations, 36–37
and audio/video content, 180, 207–211
defined, 2
and deprecated elements, 28
developers’ impact on, 3–4
and domain names, 51–54
and file/folder names, 50–51
and frames, 28
goals, 234
honest vs. dishonest techniques for improving, 8–9
importance of, 238–239
iterative nature of, 6
and JavaScript, 180–198
and microformats, 37–38
and pop-up windows, 29
prioritized approach to, 234–235
retrofitting website for, 8
roadblocks, 180
server-side strategies, 50–77
tags that promote, 20–23
team members’ roles in, 6-7
testing, 235–236
and URL design, 54–58
and Web project lifecycle, 2–3, 8
and website content, 80–82
FIR, 35
Firebug, 75
Firefox
and acronyms/abbreviations, 37
Firebug add-on, 75
and Google Ajax Search API, 160
integrated search feature, 176
and OpenSearch, 176
Operator add-on, 40
YSlow add-on, 75–76
folksonomy, 7
foreach loop, 112
formatting tags, 28
forums, 99
frames, 28
FREETExT, 175
FTP clients, 138
function header( )
, 68
Galli, Ricardo, 149
Garrett, Jesse James, 159, 160
geo
tags, 26
GET
method, 225
GET variables, 54–57, 173–174, 178
Global Public Health Intelligence network, 238–239
accessibility guidelines, 29
Ajax Search API, 159–165
boosting page rank in, 23
canonical problem, 52–54
Custom Search Engine (CSE), 153–159
and duplicate content, 133
Image Search, 77
and keyword positioning, 25
keyword tool, 104
and link exchanges, 23
and microformats, 46
and multilingual sites, 24
search algorithm, 84
spider user-agent, 77
Google AdWords, 104, 153, 158, 235, 237
Google Analytics, 21
Google Blog Search, 136
Google Calendar, 40
Google PageRank, 51–52, 59, 106, 125
Google Sitemap Generator, 146
Google Toolbar, 52
Google Web Master tools, 54
googlebot, 77
Googlebot-Image, 77
GPHIN, 238–239
graceful degradation, 157
GsearcherOptions( )
function, 164
GwebSearch( )
function, 163
<h1>
tags, 17–18, 19, 105, 126
Happy Cog, 92
hCalendar microformat, 38–41, 46
hCard microformat, 39, 42–43, 46
heading tags, 17–18. See also <h1>
tags
headlines, limiting number of characters in, 113
hResume microformat, 45
.htaccess
files, 53, 55, 60, 66
HTML
for Ajax search system, 162
converting RSS content into, 111–113
for custom search tool, 173
embedding Flash content in, 201
revamping of, 13
for Rollyo search box, 166–167
.html file extension, 51
compression, 71
headers, 64–65
meaning of acronym, 64
monitoring program, 65
HTTP requests, reducing, 74
Huskisson, Jamie, 62
Hypertext Transfer Protocol. See HTTP
hyphens
in domain names, 51
in file/folder names, 50
icon development kit, 45
If-Last-Modified
request header, 65
IIRF, 53
image maps, 32–33
images
accessibility techniques, 30–32
blinking, 215
combining in single file, 74
and file size, 69
naming folders for, 69
providing text descriptions for, 30–32
in search results, 172
in syndicated content, 98
and Creative Commons licenses, 84
encouraging/generating, 23, 58, 82–84, 94, 124
and Google canonical problem, 52
placing keywords in labels of, 20
indexing. See also search engines
controlling with robots.txt
, 76–77, 133
of duplicate content, 132–133
encouraging search engines to skip, 65–66
optimizing performance for efficient, 64–76
of scripted navigation systems, 181
information architects, 7, 88, 89
init( )
function, 196, 229–230 )
Inktomi, 77
Inman, Shaun, 128
<input>
tags, 156
<ins>
tags, 87–88
Internet Explorer, 37, 160, 176
Internet Information Services. See IIS
Internet Services Application Programming Interface, 53
ISAPI, 53
JavaScript
and accessibility, 37
for advanced search interface, 159
avoiding bloated, 69
benefits of unobtrusive, 69
compressing, 71–73
disabling in browsers, 181, 182
externalizing, 69
and findability, 180–198
handling events properly in, 189
minifying, 70–71
navigation problems, 182–183
for progressive enhancement, 185–188
recommended book on, 181
for syndicating bookmarks, 117–118
job listing site, 116
Jordan, Miraz, 134
Kallestad, Steve, 71
karma, content, 82–84
KEI, 103
keyword analyzer, 106–107
keyword density, 7, 50, 106–107, 236
Keyword Effectiveness Index, 103
keyword meta tags, 24
keyword optimization, 106
keyword priority, 236
keyword research services, 101–105
keywords
in anchor tags, 23
in blog post titles, 126–127
calculating effectiveness of, 103
creating master list of, 7
including in domain names, 51
including in file/folder names, 50–51
placing, 105–107
researching/selecting, 100–105
stuffing pages with, 7, 9, 184
in <title>
tags, 21–22
King, Alex, 141
Koch, Peter Paul, 69
lang
attribute, 24–25
Langer, Maria, 134
Lawrence, John, 145
link exchanges, 23
link-farm sites, 51
link libraries, 86, 96, 117–121
link validation tool, 60
linkrolls, 117–118
links
exchanging, 23
inbound. See inbound links
text labels for, 23
listSubscribe( )
method, 227
loadProduct( )
function, 196, 197
logo image files, 18
longdesc
attribute, 31
Lycos, 77
Macromedia, 198
Magnolia
API, 121
bookmarklets, 117
examples of RSS feed URLs, 119–120
Filter, link library, 120
researching keywords via, 101
RSS features, 116
sharing blog posts in, 131–132
syndicating bookmarks via, 117–118
mailing list management systems, 218–220
mailing lists, 214–232
building storeAddress( )
function for, 225–229
constructing Ajax layer for, 229–232
encouraging subscriptions to, 214–217
managing, 218–220
as relationship builders, 214
setting up, 221–222
signup forms for, 215–216, 220, 221–225
validating email addresses for, 225–226
Marsh, Rob, 145
mashups, 159
media search tool, 207–208
Meehan, Tim, 89
microformat extension, Dreamweaver, 38
microformat search engine, 45, 47, 97
microformat translation service, 40, 42
microformats, 37–47
articles/books on, 37
cheat sheets, 38
defined, 37
detecting, 40
findability benefits of, 37–38
for making event data portable, 38–41
for marking up contact information, 42–43
for marking up resumes, 45
and search engines, 46–47
standard icons for, 45–46
for tagging content, 43–44
wiki, 45
minifying files, 70
MIT open source license, 84
mod_deflate
module, 73
mod_expires
module, 66
mod_gzip
module, 73
mod_headers
module, 67
mod_rewrite
module, 52–54, 57, 138
Moll, Cameron, 116
Morville, Peter, 2
Movable Type, 135
movie rental service, 116–117
MP3 files, 207
MSN, 47
MSN Live Search, 77
msNbot, 77
multilingual websites, 24
music site, 115
MySQL, 173
naming files/folders, 50–51
national Federation for the Blind, 29
navigation systems, 182–183
nested tables, 20
.net domain names, 51
Net Results, 127–128
Netflix, 116–117
Netvibes, 93
newsletters, email, 216–217
niche websites, 85–86
nofollow
, noindex
meta tags, 27
noindex
, nofollow
meta tags, 27
object-oriented programming, 109, 226
OnLoad( ) function
, 163
open content, 83–84
OPEN expansion mode, 164
Opera, 160
Operator Firefox add-on, 40
optimizing performance, 64–76
caching files, 64–68
compressing files, 71–73
diagnosing problems, 75–76
managing file size, 69–71
reducing HTTP requests, 74
organic search terms, 104
originality, 89–90
page rank
and duplicate content, 132–133
and Google canonical problem, 52
and link exchanges, 23
tracking, 236
PageRank, Google, 51–52, 59, 106, 125
paid search terms, 104
pandemics, 239
parseRSS( ) function
, 109–110, 115
parseRSS.php file
, 109, 114–115, 117
PARTIAL expansion mode, 164
performance optimization, 64–76
caching files, 64–68
compressing files, 71–73
diagnosing problems, 75–76
managing files size, 69–71
reducing HTTP requests, 74
performance problems, diagnosing, 75–76
permalinks, 138–139
Phark, 33
photo-sharing site, 116
.php file extension, 51
PHP function header( )
, 68
PHPBB, 99
PHPDelicious, 121
Pierzchala, Stephen, 73
pings, blog, 136
PingShot, 137
pixel shims, 30
podcasts
and EveryZing, 207
and FeedBurner, 137
on open content, 84
providing transcripts of, 209
on Web standards, 20
PodZinger, 207
pop-up windows, 29
Popularity Contest plugin, 141–142
Powazek, Derek, 93
progressive enhancement, 181–188, 190, 201–207
project managers, 6
promotion, website, 235
Prototype
built-in event attachment functions, 189, 229, 231
and interactive interface design, 180
minifying, 71
simplifying Ajax interactions with, 191, 197, 223
Public Health Agency of Canada, 238
Ranks.nl keyword analyzer, 106–107
reading levels, 90
<refresh>
meta tags, 25–26
regular expressions, 53
rel-license microformat, 46, 47
rel-tag microformat, 43–44, 147
rel="nofollow"
attribute, 27–28
Resig, John, 189
resource websites, 86, 89, 96. See also link libraries
reviews
user-authored, 99
writing, 96–98
robots-nocontent
attribute, 27
robots.txt
file, 27, 76–77, 133
Rollyo, 165–167
RSS
aggregators, 93
distributing content via, 98
icons, 130–131
introductory video on, 93
meaning of acronym, 93
parsing, 109–115
syndication, 98
RSS feeds
customizing icons for, 130–131
promoting in blogs, 130–131
publishing, 137
subscribing to, 93
tracking subscriptions to, 144
Rundle, Mike, 33
Safari, 160
SARS virus, 238
Scalable Inman Flash Replacement, 34
Scriptaculous, 180
Search Builder, Yahoo!, 168–169
search engine algorithms, 19, 20, 47, 84, 153
search engine optimization. See SEO
Search Engine Ranking Page tracker, 236
search engines. See also search systems
and accessible content, 29
and Ajax, 189
and audio/video files, 180, 207
controlling with robots.txt
, 76–77
and duplicate content, 132–133
getting banned from, 9
how they “think”, 19
and image maps, 32–33
and JavaScript, 180–181, 183–184
and microformat content, 46–47
and nested tables, 20
optimizing content delivery for, 64
preventing content indexing by, 26–28
and progressive enhancement, 182
and table-based layouts, 35
and update frequency, 91
and URL design, 54–58
and Web standards, 19–20
what they like, 4–5
search spider user-agents, 76–77
search systems, 152–178. See also search engines
as alternative to navigation systems, 152
browser-integrated, 176–178
building custom, 173–176
importance of, 152
purchasing, 170–172
using free, 153–169
search terms, organic vs. paid, 104
SearchEngineWatch.com, 105
Section 508 accessibility guidelines, 183
SEFFS, 207
semantic markup, 17–18, 19, 20, 28
semantics extractor, 236
and accessibility, 29–30
black hat techniques. See black hat SEO techniques
complementary techniques, 6
importance of, 4
in-house vs. outsourcing, 8
meaning of acronym, 2
SEO Analyzer tool, 236
SEO plugins, WordPress, 146–147
SERP tracker, 236
server-side findability strategies, 50–77
building search-engine friendly URLs, 54–58
choosing/managing domain names, 51–54
controlling indexing with robots.txt
, 76–77
naming files, 50–51
optimizing for efficient indexing, 64–78
serving custom 404 pages, 60–63
using 301 redirects, 58–60
setExpandMode( )
function, 164
setSiteRestriction( )
function, 163
Shea, Dave, 13, 33, 74, 129, 143
Shull, Ed, 127
SIFR, 34
signup forms, mailing list, 215–216, 220, 221–225
Similar Posts plugin, 145
sitemaps, 146
Sitening, 236
Slurp, 77
Smashing Magazine, 89–90
Smith, Steve, 144
Snook, Jonathan, 96–97
Sociable plugin, 145
social bookmarking sites, 22, 101, 116. See also specific sites
social music site, 115
social news sites, 132
social tagging, 43. See also social bookmarking sites
Socialist plugin, 145
spam detector, 236
spam email, 214
spider user-agents, 76–77
SQL, 174–175
SQL Server, 175
standards, Web. See Web standards
statistics, traffic. See traffic analysis tools
stats applications, 21
StephenGrote.com, 91–92
Sterns, Geoff, 201
storeAddress( )
function, 224–229, 230
strikethrough text, 87
strip_tags( )
function, 112
strlen( )
function, 113
<strong>
tags, 22–23
Structured Query Language. See SQL
subscription forms, mailing list, 215–216, 221–225
subscription system, Ajax-powered, 220–232
Suda, Brian, 37
summary
attribute, 36
SWF files, 198, 203. See also Flash
SWObject
, 201–206
syndicated content, 98
table-based layouts, 35–36
<table>
tags, 36
tabular data, 35–36
tag clouds, 148–149
tagging content, 7, 43–44, 147–149
Target.com, 29
Tech Times newsletter, 217
Technorati
blog tracking service, 136, 237
and hResume microformat, 45
microformat conversion service, 40, 42
microformat search engine, 47, 97
and rel-tag microformat, 44
TED conference, 239
teomaagent1, 77
Terra Incognita, 97–98
text transcripts, 208–211
Textpattern, 135
<th>
tags, 36
Threadless, 63
<title>
tags, 21–22
tool tips, 30
traffic analysis tools, 7, 21, 235, 236
Transcribr, 209–210
transcripts, text, 208–211
transparent GIFs, 30
truncation, 113
trustworthiness, 86–88, 130, 214–215
Type Pad, 135
UGC, 98–100
Ultimate Dropdown Menu, 183
underscores, in file/folder names, 50
UNIT Interactive, 95
Upcoming.org, 116
updating content, 90–91
URLs
building search-engine friendly, 54–58
defining preferences for use of www
in, 54
forcing www
in, 53
general guidelines for designing, 58
with GET variables, 54–57
and Google canonical problem, 52–54
remapping permalink, 138–139
removing www
from, 54
with session IDs, 54–55
usability experts, 7
user-agents, search spider, 76–77
user forums, 99
user-generated ad campaign, 100
user-generated content, 98–100
user research, 88–89
Van Der Sluis, Bobby, 201, 203
vBulletin, 99
viral marketing, 235
VoteLinks, 45
creation of, 12
link validation tool, 60
meaning of acronym, 12
semantics extractor, 236
Web Content Accessibility Guidelines, 183, 206
and Web standards, 12
Wahler, Claus, 207
Walter, Aarron, 239
Web browsers. See browsers
Web Content Accessibility Guidelines, 183, 206
Web pages. See also websites
diagnosing performance problems of, 75–76
evaluating keyword density in, 106–107
moving with 301 redirects, 58–60
signals of quality in, 19
stuffing with keywords, 7, 9, 184
Web standards, 12–17
history of, 13
podcasts, 20
purpose of, 12–13
and search engines, 19–20
Web Standards Project, 12–13
website content. See content
adding search to, 152. See also search systems
blacklisting of, 9
creating quality content for, 84–91
findability of, 3–4. See also findability
finding broken links in, 60
generating traffic to, 214
naming sections of, 7
preventing content indexing of, 26–28
promoting, 235
standards-compliant, 15–16, 19–20. See also Web standards
white hat SEO techniques, 9, 20
white papers, 94–95
Word documents, indexing, 169, 172
WordPress, 134–149
archiving options, 140
creating themes in, 135–136
default installation, 134
defining update services in, 136–137
displaying most popular posts in, 141–142
displaying most recent posts in, 143–144
displaying post tags in, 148–149
displaying related posts in, 145
documentation, 134
encouraging social exchanges in, 144–145
and findability, 134
forums, 134
improving findability in, 136–149
installing plugins for, 135
and OpenSearch, 178
popularity of, 134
recommended book on, 134
remapping permalink URLs in, 138–139
and RSS feeds, 144
SEO plugins, 146–147
setting up, 134
summarizing posts in, 140–141
tagging posts in, 147–149
Wordtracker, 101–103
World Wide Web. See Web
World Wide Web Consortium. See W3C
WP-Cache, 149
WrenSoft, 171
WSFTP Pro, 138
xenu, 61
xFolk, 44
XHR, 65
XHTML
and alt attributes
, 30
for hiding content, 184
vs. HTML, 14
and image replacement, 33
and keyword placement, 21
for microformat content, 46
and scripted style problems, 184
for showing microformat icons/links, 45–46
and Web standards, 13
and WordPress, 136
and Ajax, 159
compressing, 71–73
meaning of acronym, 13
for setting up OpenSearch, 177
sitemap format, 146
and Web standards, 13
XMLHttpRequests, 65
Yahoo!
keyword research tool, 105
and microformats, 46
Search Builder, 168–169
selective cloaking standard, 27
Upcoming.org site, 116
YSlow program, 75–76
YouTube, 207
YSlow, 75–76
Zoom Search Engine, 171–172