Index Index SYMBOLS * (asterisk) metacharacter, 67, 374 * (asterisk) quantifier, 374, 378¨C380, 382 \\ (backslash), 62 ~/, absolute paths and, 87 + (plus) quantifier, 380¨C382 . (period) metacharacter, 67 ? (question mark), 372, 374, 382 A ABC123.txt, 366¨C370 absolute URLs, 86¨C87, 123 accented letters (diacritics), 301¨C305 accessibility, 24¨C25, 389 acquisition rate, link, 32 Add ( ) methods, SocialCollection, 205¨C206 AddComment.aspx, 230¨C235 ad-hoc queries, 1, 389 administrator privileges, 12, 15 ADO.NET, 287¨C289 affiliate pages, duplicate content in, 148¨C153 age, of sites, pages, links, 30 aggregators. See feed readers AJAX (Asynchronous JavaScript and XML) blended approach for, 181¨C182 dealing with pure sites, 354 defined, 389 problems for search engines, 181 alert box, in JavaScript, 361 Alexa Rankings, 39¨C40 algorithms, 237, 390 Allow directive, robots.txt, 139 alt tag, 29 ALTER PROCEDURE, 274¨C275 anchor text, 32, 390 anchors, 28 Anti-Cross Site Scripting Library, 216 Apache, 54, 390 API (application programming interface), 390 App_Code folder creating and using nofollow library, 221¨C225 creating RSS feeds, 186¨C191 implementing custom markup translator, 177¨C180 application programming interface (API), 390 Application_Error ( ) method enabling error logging for e-commerce store, 341¨C342 error logging using, 118¨C119, 122¨C123 overview of, 115¨C116 architecture, site duplicate content as result of, 134 guidelines for SEO, 155 overview of, 4¨C6 .ashx vs. aspx, 94 ASP.NET Control Adapter extensibility architecture, 86 debugging with Internet Explorer, 14 defined, 390 experience in, 4 paging, 347 URL rewriting with, 75¨C76, 82¨C83 UrlRewriter.NET with, 82 ASPNET.MDF, 390 .aspx vs. ashx, 94 asymmetric encryption, 390 Asynchronous JavaScript and XML. See AJAX (Asynchronous JavaScript and XML) Atom for blogs, 245 defined, 390 overview of, 185 attacks, avoiding black hat, 215 authentication defined, 390 preparing seoasp application in Windows Vista, 10¨C11 SQL Server, 16¨C19 authorization, 390 B backslash (//), 62 Beginning CSS: Cascading Style Sheets for Web Design (Wiley Publishing, Inc.), 172 Beginning Regular Expressions (Watt), 64, 87, 357 Best of the Web, 352 BigDaddy update, 25, 131, 390 black hat SEO, 209¨C241 301 redirect attacks, 237¨C239 attack avoidance, 215 avoiding comment attacks using nofollow, 220¨C225 bending rules, 213¨C214 buying links, 240 content theft, 239¨C240 defined, 390 Digital Point Co-op, Link Vault and, 240 HTML insertion attacks, 216¨C220 insertion attacks, 215¨C216 overview of, 212 preventing victimization, 354 requesting human input, 230¨C237 sanitizing user input, 225¨C230 blended approach, 181¨C182 31473bindex.qxd:WroxPro 7/30/07 4:52 PM Page 399 C O P Y R I G H T E D M A T E R I A L 400 block-level elements block-level elements, for layout, 29 blogs defined, 390 feeds provided by, 184 overview of, 43 RSS and Atom formats for, 245 site enhancement with, 354 social bookmarking and, 194¨C195 bookmark equity, links, 23 bookmarks. See social bookmarking BooksFeed.ashx, 186¨C189 bots. See spiders breadcrumb navigation, 143¨C145, 390 broken links, detecting, 312¨C318 browsers changing user agent in, 266 disabling cache during development, 74 plugins, 41¨C42 BULK OPERATIONS privileges, 293 C C# compiler, accessing, 86 C# programming language, 4, 391 CAPTCHA images creating and using, 230¨C235 how it works, 236¨C237 overview of, 230 Capture class, 87¨C89 CaptureCollection class, 87¨C89 cardinality operators, 377 Cartoons.aspx, 95¨C96 Cascading Style Sheets. See CSS (Cascading Style Sheets) case sensitivity maintaining consistency, 52¨C53 regular expression matching and, 66 case studies building e-commerce store. See e-commerce store, building link bait, 260¨C264 Cassini, IIS vs., 8 Catalog.aspx, 336¨C340 building e-commerce store, 320¨C344 building link factory, 100¨C102 creating social bookmarking library, 201 implementing pop-up navigation, 159 using sIFR replacement method, 167¨C170 CatalogDb class building e-commerce store, 332¨C336 methods in, 348 reading stored procedures, 345¨C347 categories, for breadcrumb navigation, 144¨C145 character classes, 365, 369 characters matching doubled, 362¨C365 matching multiple optional, 374¨C377 matching optional, 372¨C374 matching sequences of different, 370¨C372 matching single, 358¨C362 metacharacters, 365¨C370 CheckAnswer ( ) method, simpleCaptcha, 236 CheckLink.aspx, 313¨C315 CheckLinkPath.aspx, 315¨C317 classes defined, 391 static vs. instance, 103 structs vs., 202 Classic.NET AppPool, 122 click-through, 391 click-through rate (CTR), 4, 391 ClickTracks, 37 Cloak class detecting when visitor is a search engine, 285 implementing cloaking, 289¨C290 methods, 271¨C272 Cloak.cs file, 289 CloakData table, 270, 283, 285¨C286 CloakDb class, 272, 287, 289 CloakDb.cs class, 276¨C282 cloaking, 265¨C291 ADO.NET and, 287¨C289 bending rules, 212¨C213 code and database structures, 285¨C290 dangers of, 268 debate on, 267¨C268 defined, 391 geo-targeting vs., 291¨C292 implementing and testing, 273¨C285 overview of, 265¨C266 preventing perception of, 312 three-part process of, 285 UpdateAll ( ) method and, 289¨C290 URL-based session IDs and, 148 using JavaScript redirect, 267 using meta noarchive tag, 268¨C269 CloakTest.aspx, 269¨C270, 282¨C285 CloakUpdate table, 272, 274, 285¨C286 CLR (click-through rate), 391 code-behind files defined, 391 implementing CAPTCHA, 232 spreading class over files, 207 collections, regular expressions stored as, 180 Colors2.text sample file, 374¨C377 comment attacks, 220¨C225 comments, 230¨C235 Comments.aspx, 227¨C228 community forums, 22, 42 consistency, URL, 52¨C53 constructors defined, 391 static, 125, 177, 180¨C181 content, as link bait, 259 content theft defined, 391 duplicate content as result of, 135 sitemaps mitigating damage from, 245 using black hat SEO for, 239¨C240 Context.Rewrite Path, 86 conversion rate defined, 391 in split testing, 310¨C311 in web analytics, 36 31473bindex.qxd:WroxPro 7/30/07 4:52 PM Page 400 401 evil hooks Index cookies for affiliate pages, 149 defined, 391 URL-based session IDs and, 146¨C148 copy prominence, 172¨C175 copywriting issues, 4 CoreMetrics, 37 crawlable images sIFR replacement method, 166¨C170 Stewart Rosenberger's text replacement method, 170¨C171 text replacement and, 164¨C165 CREATE PROCEDURE, 274¨C275 createCommand ( ) method, 287¨C288 CreateLink( ) function, 53 cross-linked web sites, 33, 309¨C310 CSS (Cascading Style Sheets) defined, 391 tables-based layout vs., 172 using regular text styled by, 164¨C165 CTR (click-through rate) page title critical to, 26¨C27 URL keywords/domain name effecting, 27¨C28 curly-brace syntax, 382¨C387 {n,} syntax, 386¨C387 {n,m} syntax, 383, 385¨C386 {n} syntax, 382 {O,m} syntax, 383¨C385 custom controls, 391 custom markup language enhancing on-page HTML optimization with, 226 generating SE-friendly HTML with, 176¨C177 implementing custom markup translator, 177¨C180
element, 116, 121 CustomMarkup.Translate( ) method, 180 D \d metacharacter, 365¨C370 dashesRegex, 102¨C103 data escaping, 215¨C216, 391 databases building e-commerce store, 322¨C324 creating seoasp, 15¨C19 organization of data in, 345¨C346 preventing 301 attacks by storing URLs in, 238¨C239 debug mode creating seoasp application in Windows Vista, 14 enabling for application, 122 sending error logging emails, 118 DefaultAppPool, 80, 122 /Default.aspx, 132 DELETE command, 288, 293, 391 delist, 391 DHTML (dynamic HTML), 157, 164 diacritics (accented letters), 303¨C305 Dictionary, 180 Dictionary type, 203¨C206 Digital Point Co-op, 240 direct citation equity, links, 23 directories defined, 391 getting listed in reputable, 352 Disallow directive, robots.txt, 138¨C141 Dispose ( ) method, IHttpModule, 94¨C95 element, 164 DMOZ, 352 DNS (Domain Name Server), 307¨C308, 392 DOM (Document Object Model), 392 domain names foreign language SEO and, 301 keywords in, 27¨C28 penalties for using expired, 35 ranking registration length of, 30 ranking TLD for links, 33¨C34 using redirects for multiple, 130 using redirects to change, 130¨C131 . (dot) character, regex, 62 DoubledR.txt sample file, 387¨C388 drill-down navigation, 143 drop-down menus, DHTML, 157 duplicate content, 133¨C154 in breadcrumb navigation, 143¨C145 causes and effects of, 134¨C135 defined, 392 fixing, 352 looking for, 355 in navigation links, 143¨C144, 148 negative effects of, 3 in pages with duplicate meta tags/title values, 146 penalties for sites with, 35 in print-friendly pages, 143 in similar pages, 145 in URL canonicalization, 131¨C132, 146 in URL-based session IDs, 146¨C148 URLs and, 49 using affiliate pages for, 148¨C153 using robots meta tag for, 136¨C137 using robots.txt for, 137¨C142 dynamic HTML (DHTML), 157, 164 dynamic URLs, 48¨C52 E e-commerce store, building, 319¨C350 analyzing design decisions, 344¨C349 implementing product catalog, 320¨C344 requirements, 319¨C320 elements, HTML, 171 email, 118¨C119, 122 encapsulation, 392 encryption, symmetric, 396 enhancements, web site, 351¨C356 entry variables, JavaScript, 361¨C362 error logging e-commerce store, building, 341¨C342 exercise in, 116¨C123 escapes preventing HTML insertion attacks, 216¨C220 preventing SQL insertion attacks, 215¨C216 Escaping.aspx, 219¨C220 ethics cloaking, 267¨C268 geo-targeting, 266 evil hooks, 259 31473bindex.qxd:WroxPro 7/30/07 4:52 PM Page 401 ExpertRank of Ask.com, 24 expired domain names, 35 Extensible Markup Language (XML), 245¨C247, 392, 398 external 302 redirects, 112 F faceted navigation, 143 feed. See web feeds feed readers, 184, 392 FeedReader.aspx, 191¨C193 file naming conventions, 52 Find and Replace dialog * operator, 378¨C380 + operator, 380¨C382 matching doubled characters, 363 matching multiple optional characters, 374 matching single character in JavaScript, 358 findstr utility, 369, 374 Firefox, 108 500 status code adding to e-commerce store, 344 building custom error pages, 116¨C123 defined, 389 overview of, 114 fixes, web site, 351¨C356 FixLinks ( ) method, NoFollow, 224¨C225 FixTags ( ) method, Sanitize, 228¨C229 fixThisLink evaluator, 225 .FLA files, 392 flag arguments, rewrite rules, 62 Flash blended approach and, 181¨C182 defined, 392 search engine problems with, 181, 354 text replacement fonts in, 170 using sIFR replacement method with, 168 Flash movies, 396 Florida update, 25, 392 folder requests, and URL rewriting, 75 fonts, 164¨C165, 170 foreign keys, 345, 392 foreign language SEO, 299¨C306 dealing with accented letters, 301¨C305 geo-targeting in, 266 languages and region modifiers in, 300 server location and domain name in, 300¨C301 spam and, 305 using address of foreign location, 301 forms, SE-friendly HTML, 176 FortuneCookie.ashx, 260¨C264 forums reputable community, 42 site enhancement using, 354 wariness of, 22 404 status code adding to e-commerce store, 344 building custom error pages, 116¨C123 defined, 389 loading, 129¨C130 overview of, 112¨C113 frames, SE-friendly HTML, 175 fun hooks, 258 G GenerateGoogleSitemap ( ) method, 254 GenerateYahooSitemap ( ) method, 254 Generic Handler template, 91¨C94 generic handlers creating RSS feeds, 186¨C189 generating robots.txt on-the-fly, 140¨C141 rewriting ID-free URLs, 90¨C94 GenericRssHttpHandlerBase class, 189 generics creating sitemaps programmatically, 254 functionality of, 180 working with, 203¨C204 GeoTarget class, 292 geo-targeting building e-commerce store, 322 defined, 392 implementing, 293¨C297 overview of, 265¨C266 working with, 291¨C292 GeoTest.aspx, 296¨C297 GetProductsInCategory, 345¨C347 GetSecondaryProductCategories, 347 Global.asax file auto-correction for e-commerce store with, 341 defined, 392 error logging with, 118¨C119 overview of, 115¨C116 URL rewriting with, 82¨C83 GMail, 1 Go404( ) method, 129¨C130 Google bending rules, 214 bombing, 32 cloaking guidelines, 267 creating sitemaps programmatically, 249¨C254 geo-targeting used by, 266 informing about sitemap updates, 247¨C248 phishing vulnerability example, 238 supplemental index of, 35¨C36, 134 XML sitemap standard, 245¨C247 Google Analytics, 36¨C37 Google PageRank, 23¨C24 Google Sandbox, 34¨C35, 392 Google Trends, 39, 301 googlebot, 138¨C140 googling, 1 graphical text ethical use of cloaking for, 290¨C291 sIFR replacement method, 166¨C170 Stewart Rosenberger's text replacement method, 170¨C171 text replacement and, 164¨C165 Group class, 87¨C89 GroupCollection class, 87¨C89 402 ExpertRank of Ask.com 31473bindex.qxd:WroxPro 7/30/07 4:52 PM Page 402 H hashing, 236¨C237, 392
, 348¨C349 headings, 27, 301¨C303 Hilltop algorithm, 24 HITS, 24 HitTail, 37 hooking links, 258¨C259 hosting providers, 307¨C308 HTML (HyperText Markup Language), 171¨C181 copy prominence and tables, 172¨C175 custom markup language generating, 176¨C181 Flash or AJAX used with, 181¨C182 forms, 176 frames, 175 insertion attacks, 215, 216¨C220 sanitizing user input by escaping, 225¨C230 structural elements, 171 traditional sitemaps in, 243¨C244 .html suffix, 51, 62 HtmlEncode ( ) method defined, 220 preventing HTML insertion attacks, 217¨C219 sanitizing user input with, 225¨C226 HtmlForm class, 85¨C86 HTTP (HyperText Transfer Protocol) creating state with ViewState, 174¨C175 defined, 393 rewriting ID-free URLs with, 94¨C96 tutorial on, 90 HTTP status codes, 107¨C132 building custom error pages, 114¨C123 defined, 107, 393 overview of, 108¨C109 redirects, 109¨C112, 123¨C132 removal 404, 112¨C113 server error 500, 114 HTTP_X_REWRITE_URL server variable, 60, 129 HttpContext, 82¨C83 HTTPS (HyperText Transfer Protocol Secure), 393 HttpUtility class, 217¨C220, 226 HttpWebRequest, 314¨C315 HttpWebResponse, 314¨C315 human input. See CAPTCHA images humor hooks, 258 tags, 27 Hyperlink control, in templates, 349 HyperText Markup Language. See HTML (HyperText Markup Language) HyperText Transfer Protocol. See HTTP (HyperText Transfer Protocol) HyperText Transfer Protocol Secure (HTTPS), 393 I ID-free URLs, rewriting, 87¨C96 using generic handlers, 90¨C94 using HTTP modules, 94¨C96 using .NET regular expressions, 87¨C90 IEnumerable interface, 203, 206 if...else clause, 362 IHttpHandler interface, 188¨C189 IHttpModule interface, 94 IIRF (ISAPI Rewrite Filter), 59 IIS (Internet Information Services) installing, 8¨C9 preparing seoasp web site in Windows XP , 12 setting 404 page through, 121, 123 URL rewriting, numeric/keyword-rich, 80¨C82 URL rewriting with, 54, 55¨C64 URL rewriting with ASP .NET, 75¨C76 IIS Manager tool, 10¨C11 ImageFile property, Social struct, 202¨C203 images. See also graphical text building e-commerce store, 322 crawlable, 164¨C171 rendering as text, 290¨C291 rewriting files, 96¨C98 inbound links, 31¨C32, 393 indexes, adding to data tables, 345 indexing error pages, 114, 132 informational hooks, 258 inheritance, 393 Init ( ) method, IHttpModule, 94¨C95 INSERT command, 393 insertion attacks, 215¨C220 instance members, vs. static, 103, 181 Intellisense, 6 interactive link bait, 259¨C260 interactive web tools, 259 internal 302 redirects, 112 Internet Explorer, 14, 108 Internet Information Services. See IIS (Internet Information Services) invisible on-page ranking factors, 28¨C29 IP addresses changing hosting providers, 308 cross-linked sites and, 33 defined, 393 IP delivery, 265¨C266, 393 iplists.com, 270¨C271, 286 ISAPI extension, ASP.NET, 75 ISAPI Rewrite Filter (IIRF), 59 ISAPI_Rewrite, 62 building e-commerce store, 326¨C327 generating robots.txt on-the-fly, 140 implementing redirects with, 123 other directives used with, 64 redirecting keyword-rich URLs, 150¨C153 RewriteRule and, 62¨C64 rewriting ID-free URLs, 92 rewriting image files, 96¨C98 rewriting keyword-rich URLs, 73¨C74 rewriting numeric URLs, 71¨C72 rewriting URLs with, 55¨C61 URL correction using, 127 using redirects, 130¨C132 working with regular expressions, 65¨C76 IsReusable, 188 , 348¨C349 403 Index 31473bindex.qxd:WroxPro 7/30/07 4:52 PM Page 403 J JavaScript, 155¨C171 cloaking, 267 copy prominence and, 172 crawlable images, 164¨C171 defined, 393 DHTML menus, 157 DHTML popup windows, 164 graphical text, 164¨C171 links, 157 matching single character in, 359¨C362 matching three-digit numbers, 366¨C370 not requiring visitors to support, 155 popup windows, 157¨C164 redirects, 132 Joe Ant, 352 K keyword density, 393 Keyword Discovery, 40¨C41 keyword stuffing, 26, 393 keyword-rich rewritten URLs benefits of, 46¨C47 examples of, 72¨C74 overview of, 51¨C52 redirecting, 150¨C153 using UrlRewriter.NET, 80¨C82 keywords embedded in image/media file names, 96¨C98 meta, 29 page copy ranking and, 27 page URLs/domain name ranking and, 27¨C28 researching, 40¨C41 Komodo Regular Expression Toolkit matching doubled characters, 363¨C364 matching optional characters, 372¨C374 matching sequences of different characters, 371¨C372 matching three-digit numbers, 367¨C368 L LAMP (Linux/Apache/MySQL/PHP), 54 lang attribute, foreign language SEO, 300 languages. See foreign language SEO libraries, 1, 86 link bait, 257¨C264 case study, 260¨C264 defined, 393 examples of, 259 hooking links, 258¨C259 interactive, 259¨C260 overview of, 257 site enhancement using, 353 Link Calculator, 259¨C260 link churn, 32 link equity, 22¨C24, 393 link factory, 98¨C104 link farm, 393 Link Vault, 240 LinkAdage, 353 LinkBait.html, 262¨C264 link-buying, 240 LinkFactor.cs file, 328¨C330 links. See also navigation acquisition rate of, 32 age of, 30 anchor text of, 32 buying, 353 cross-linked sites, 33 detecting broken, 312¨C318 location of, 34 number on page, 33 problems with JavaScript, 157 quantity, quality and relevance of inbound, 31¨C32 reciprocal, 32 semantic relationships among page, 33 structure of internal, 28 TLD of domain name for, 33¨C34 Loader.ashx, 91¨C94 Location header, 317 logging errors 404 pages configured through IIS, 121 exercise in, 116¨C123 overview of, 115¨C116 login, 17¨C19, 156 M MakeCategoryProductUrl, LinkFactory, 102 MakeMediaUrl, LinkFactory, 102 managed stored procedure, 393 market research Alexa Rankings, 39¨C40 Google Trends, 39 overview of, 37¨C38 Yahoo! Site Explorer, 38¨C39 marketing, search engine, 2 Master Pages, 86, 394 Match class, 87¨C89 MatchCollection class, 87¨C89 MatchEvaluator class, 224¨C225 MatchEvaluator delegate, 87¨C89 Matrix navigation, 143 Matt Cutts, 394 MaxMind geo-target database, 291, 293 MD5 (Message Digest 5), 237 media files, rewriting, 96¨C98 Media folder, 322 media links, 102 Message Digest 5 (MD5), 237 meta description, 29 meta keywords, 29 meta noarchive tag, 268¨C269 meta refresh, 132 meta tags, 352 metacharacters, 67¨C68, 363, 365¨C370 meta-exclusion, 146, 148, 149 method overloading, 205, 394 methods CatalogDb class, 348 404 JavaScript 31473bindex.qxd:WroxPro 7/30/07 4:52 PM Page 404 Cloak class, 271¨C272 GeoTarget class, 292 HttpUtility class, 220 Regex class, 89 text replacement, 165, 171 Microsoft AJAX Library Essentials (Packt Publishing, 2007), 389 Microsoft .NET Software Development Kit, 86 Microsoft Windows Vista, 1 mod_rewrite, 54, 59, 394 Movable Type, HTML insertion flaw in, 215 MSN Search, 309 myRegExp, 361¨C362 MySQL, 394 N {n,m} syntax, 383 {n} syntax, 382 Name property, Social struct, 202¨C203 natural. See organic navigation fixes and enhancements, 351¨C356 handling duplicate content, 143¨C145, 148 internal link structure/anchors and, 28 JavaScript links and, 157 pop-up, 158¨C164 for tables-based sites, 172 New York Times web site, 212¨C213, 267¨C268, 291 news feeds, 352 news story hooks, 258 noarchive tag, 214 , 182 NoEscaping.aspx, 217¨C220 nofollow attribute avoiding comment attacks with, 220¨C221 creating/using nofollow library with, 221¨C225 defined, 394 sanitizing user input with, 230
-
aspseoÔ´Âë aspÔ´´úÂëseo seoasp aspseo²å¼þ aspÆóÒµseo¾²Ì¬ aspÍøÕ¾seoÓÅ»¯ aspseo×÷±×αװ seo°Ù¶Èµã»÷Èí¼þ seo seo²éѯ