Professional Search Engine Optimization with ASP.NET: A Developer's Guide to SEO
Buy Rights Online Buy Rights

Rights Contact Login For More Details

More About This Title Professional Search Engine Optimization with ASP.NET: A Developer's Guide to SEO

English

Cristian Darie is a software engineer with experience in a wide range of modern technologies, and the author of numerous books and tutorials on AJAX, ASP.NET, PHP, SQL, and related areas. Cristian currently lives in Bucharest, Romania, studying distributed application architectures for his PhD. He’s getting involved with various commercial and research projects, and when not planning to buy Google, he enjoys his bit of social life. If you want to say “Hi,” you can reach Cristian through his personal web site at http://www.cristiandarie.ro.

Jaimie Sirovich is a search engine marketing consultant. He works with his clients to build them powerful online presences. Officially Jaimie is a computer programmer, but he claims to enjoy marketing much more. He graduated from Stevens Institute of Technology with a BS in Computer Science. He worked under Barry Schwartz at RustyBrick, Inc., as lead programmer on all eCommerce projects until 2005. At present, Jaimie consults for several organizations and administrates the popular search engine marketing blog, SEOEgghead.com.

English

Acknowledgments vii

Introduction xv

Chapter 1: You: Programmer and Search Engine Marketer 1

Who Are You? 2

What Do You Need to Learn? 3

SEO and the Site Architecture 4

SEO Cannot Be an Afterthought 5

Communicating Architectural Decisions 5

Architectural Minutia Can Make or Break You 5

Preparing Your Playground 6

Installing Visual Web Developer 2005 Express Edition 6

Installing SQL Server 2005 Express Edition 7

Installing SQL Server Management Studio Express 8

Installing IIS 8

Creating the seoasp Web Site 10

Creating the seoasp Web Application 12

Creating the seoasp SQL Server Database 15

Summary 19

Chapter 2: A Primer in Basic SEO 21

Introduction to SEO 21

Link Equity 22

Google PageRank 23

A Word on Usability and Accessibility 24

Search Engine Ranking Factors 25

On-Page Factors 25

Visible On-Page Factors 26

Invisible On-Page Factors 28

Time-Based Factors 30

External Factors 31

Potential Search Engine Penalties 34

The Google “Sandbox Effect” 34

The Expired Domain Penalty 35

Duplicate Content Penalty 35

The Google Supplemental Index 35

Resources and Tools 36

Web Analytics 36

Market Research 37

Researching Keywords 40

Browser Plugins 41

Community Forums 42

Search Engine Blogs and Resources 43

Summary 43

Chapter 3: Provocative SE-Friendly URLs 45

Why Do URLs Matter? 46

Static URLs and Dynamic URLs 47

Static URLs 48

Dynamic URLs 48

URLs and Duplicate Content 49

URLs of the Real World 49

Example #1: Dynamic URLs 49

Example #2: Numeric Rewritten URLs 51

Example #3: Keyword-Rich Rewritten URLs 51

Maintaining URL Consistency 52

Implementing URL Rewriting 53

URL Rewriting with IIS and ISAPI_Rewrite 55

Introducing Regular Expressions 64

Rewriting Numeric URLs with Two Parameters 69

Rewriting Keyword-Rich URLs 72

URL Rewriting with ASP.NET and UrlRewriter.NET 75

Configuring IIS to Pass All Requests to ASP.NET 75

Using UrlRewriter.NET 76

Creating Your Own Rewriting Code 82

Technical Considerations 83

Handling Postbacks Correctly 84

Absolute Paths and ~/ 86

Rewriting ID-Free URLs 87

.NET Regular Expressions 87

Rewriting ID-Free URLs Using Generic Handlers 90

Rewriting ID-Free URLs Using HTTP Modules 94

Rewriting Images and Streaming Media 96

Building a Link Factory 98

Problems Rewriting Doesn’t Solve 104

A Last Word of Caution 105

Summary 105

Chapter 4: Content Relocation and HTTP Status Codes 107

The HTTP Status Codes 108

Redirection Using 301 and 302 109

301 111

302 112

Removing Deleted Pages Using 404 112

Avoiding Indexing Error Pages Using 500 114

Building Custom Error Pages 114

Redirecting with ASP.NET and IIS 123

URL Correction 124

Dealing with Multiple Domain Names Properly 130

Using Redirects to Change Domain Names 130

URL Canonicalization: www.example.com vs. example.com 131

URL Canonicalization: /Default.aspx vs. / 132

Other Types of Redirects 132

Summary 132

Chapter 5: Duplicate Content 133

Causes and Effects of Duplicate Content 134

Duplicate Content as a Result of Site Architecture 134

Duplicate Content as a Result of Content Theft 135

Excluding Duplicate Content 135

Using the Robots Meta Tag 136

robots.txt Pattern Exclusion 137

Solutions for Commonly Duplicated Pages 142

Print-Friendly Pages 143

Navigation Links and Breadcrumb Navigation 143

Similar Pages 145

Pages with Duplicate Meta Tag or Title Values 146

URL Canonicalization 146

URL-Based Session IDs 146

Other Navigational Link Parameters 148

Affiliate Pages 148

Summary 154

Chapter 6: SE-Friendly HTML and JavaScript 155

Overall Architecture 156

Search Engine–Friendly JavaScript 156

JavaScript Links 157

DHTML Menus 157

Popup Windows 157

DHTML Popup Windows 164

Crawlable Images and Graphical Text 164

Search Engine–Friendly HTML 171

HTML Structural Elements 171

Copy Prominence and Tables 172

Frames 175

Using Forms 176

Using a Custom Markup Language to Generate SE-Friendly HTML 176

Flash and AJAX 181

The Blended Approach 181

Summary 182

Chapter 7: Web Feeds and Social Bookmarking 183

Web Feeds 183

RSS and Atom 184

Creating RSS Feeds 186

Syndicating RSS Feeds 191

Other Sources of Syndicated Content 194

Social Bookmarking 194

Summary 210

Chapter 8: Black Hat SEO 211

What’s with All the Hats? 212

Bending the Rules 213

Technical Analysis of Black-Hat Techniques 214

Attack Avoidance 215

Insertion Attacks 215

HTML Insertion Attacks 216

Avoiding Comment Attacks Using Nofollow 220

Sanitizing User Input 225

Requesting Human Input 230

301 Redirect Attacks 237

Content Theft 239

On Buying Links 240

Digital Point Co-op, Link Vault 240

Summary 241

Chapter 9: Sitemaps 243

Traditional Sitemaps 243

Search Engine Sitemaps 244

Using Google Sitemaps 245

Using Yahoo! Sitemaps 247

Informing Google about Updates 247

The Sitemaps.org Standard Protocol 248

Generating Sitemaps Programmatically 249

Summary 255

Chapter 10: Link Bait 257

Hooking Links 258

Informational Hooks 258

News Story Hooks 258

Humor/Fun Hooks 258

Evil Hooks 259

Traditional Examples of Link Bait 259

Interactive Link Bait: Put on Your Programming Hardhat! 259

Case Study: Fortune Cookies 260

Summary 264

Chapter 11: Cloaking, Geo-Targeting, and IP Delivery 265

About Cloaking, Geo-Targeting, and IP Delivery 265

More on Geo-Targeting 266

A Few Words on JavaScript Redirect Cloaking 267

The Ethical Debate on Cloaking 267

Cloaking Dangers 268

Using the Meta Noarchive Tag 268

Implementing Cloaking 269

Cloaking Case Studies 290

Rendering Images as Text 290

Redirecting Excluded Content 291

Feeding Subscription-Based Content Only to Spiders 291

Implementing Geo-Targeting 291

Summary 298

Chapter 12: Foreign Language SEO 299

Foreign Language Optimization Tips 299

Indicating Language and Region 300

Server Location and Domain Name 300

Include the Address of the Foreign Location if Possible 301

Dealing with Accented Letters (Diacritics) 301

Foreign Language Spamming 305

Summary 306

Chapter 13: Coping with Technical Issues 307

Unreliable Web Hosting or DNS 307

Changing Hosting Providers 308

Cross-Linking 309

SEO-Aware Split Testing 310

Detecting Broken Links 312

Summary 318

Chapter 14: Case Study: Building an E-Commerce Store 319

Establishing the Requirements 319

Implementing the Product Catalog 320

Summary 350

Chapter 15: Site Clinic: So You Have a Web Site? 351

1. Creating Sitemaps 352

2. Creating News Feeds 352

3. Fixing Duplication in Titles and Meta Tags 352

4. Getting Listed in Reputable Directories 352

5. Soliciting and Exchanging Relevant Links 353

6. Buying Links 353

7. Creating Link Bait 353

8. Adding Social Bookmarking Functionality 354

9. Starting a Blog and/or Forum 354

10. Dealing with a Pure Flash or AJAX Site 354

11. Preventing Black Hat Victimization 354

12. Examining Your URLs for Problems 355

13. Looking for Duplicate Content 355

14. Eliminating Session IDs 355

15. Tweaking On-Page Factors 355

Summary 356

Appendix A: Simple Regular Expressions 357

Glossary 389

Index 399

loading