“Professional Search Engine Optimization with PHP” arrived on my doorstep as I was heading to Orlando, FL. I was headed for a week of working out of a hotel room while Wife 1.23 (the lovely and talented Kathy) attended a very expensive conference on SEO put on by 4 SEO Professionals. When we arrived back home and I started paging through the book to prepare for this review. I was really surprised at the amount of overlap there was between the notes she took at her conference and the information presented in this book. Given the $40 price tag and the 4 digit price of the conference, I really expected this book to be light-weight compared to the information presented at the conference. That just isn’t so. This is a book that is packed with useful information and code samples along with a hidden gem at the end.
I’ve always considered “SEO Professionals” to be the used car salesmen of the web. (no offense intended to used car salesmen) My justification for this has been the highly un-scientific theory that there are only 10 slots on the first Google search page for any term. So if you don’t hire one of the top 10 SEO Professionals, you are wasting your money.
One of the problems I’ve had with the SEO Professionals that I’ve met is that there seem to be very few benchmarks they will guarantee. Most won’t guarantee a specific level of placement for a given set of keywords on a search. Since when it’s all said and done, that’s really what you are paying for; it’s hard to understand what you are getting for your money other than their best efforts. Since I don’t even hire my lawn boy under those terms, it has always been hard for me to understand the lure for SEO professionals. (other than the obvious, your competitor hired one so you had better hire one.)
I’d like to say that this book has changed my way of thinking about SEO Professionals, but it hasn’t. It has, however, given me enough information so that I can make my own projects more SE friendly and allow me to help my friends do the same.
“Professional Search Engine Optimization with PHP” was authored by Jamie Sirovich and Christian Darie and published by Wrox. It’s not a thick book, weighing in at less than 380 pages, cover to cover. However, in those 380 pages, the authors manage to pack a lot of information.
The authors dive right into the meat of the subject early on, skipping the obligatory history of the Internet that so many programming books love to start with. Early on, they offer you this bit of wisdom.
SEO Cannot Be an Afterthought
Now, that may seem to be trite when you read it the first time but when you’ve finished the book and realized how much there is you can do to affect the ranking of your pages, it really starts to sink in that for most of these techniques to be effective, you have to design for them.
Given the relative advanced topic of this book, I was surprised to find a section on how to get your “playground” up and running. They devote 4 pages to getting XAMPP up and running. However, once you are beyond that, the good stuff starts to unfold.
Chapter 2 was for me, by far, the most useful chapter, “A Primer in Basic SEO”. As the title suggests, it takes you through the basics of what you need to know and do. This chapter alone was worth the price of the book to me as it defines terms like “Link Equity” and “PageRank”. It also goes into a bit of detail on Search Engine ranking factors. This chapter, while being an excellent overview of the black-arts of SEO, lays the groundwork for the rest of the book. Chapter 2 tells you what you need to do, the rest of the book tells you how to do it. (Side Note: chapter 2 also gives a list of tools you can use to help you improve the ranking of your page. All the tools that the conference wife 1.23 went to are listed in this chapter.)
The rest of the book is divided up into chunks that will help you with a specific task or concept. They cover things like “SE Friendly URLs”, “Duplicate Content”, “Link Bait” and “Black Hat SEO”. Really, you can read chapters 1 and 2, cherry-pick the concepts you want to implement and then read those chapters of the book. All the example code is given in PHP and it’s obvious that the authors are very knowledgeable about their subject matter and PHP.
Chapters 13-16 are different in that they help you start bringing it all together. Chapter 16 is especially interesting as it’s a step-by-step guide for setting up a SE friendly blog using WordPress.
The hidden gem at the end of the book is Appendix A. Appendix A is a simple primer on Regular Expressions. Now this is not the equivalent of O’Reilly’s seminal tome. It was, however a pleasant surprise to find a great intro for Regular Expressions tucked away in an already great book. A note in the book indicates that this appendix was “borrowed” from the Wrox title Beginning Regular Expressions by Andrew Watt.
I review a lot of books revolving around PHP. “Professional Search Engine Optimization with PHP” is one of the more unusual titles I’ve reviewed. Given my attitude on SEO, I admit that I approached it with a jaundiced view. I was really pleased to see that the book does give concrete advice and realistic code samples to help developers build sites that rank well. I would recommend this book to any PHP developer interested in helping their clients with SEO. Will this book make you a SEO Professional? No. However, I’ll be happy to sell you that certificate separately.

Comments
As a PHP programmer, I like that this combined the two to help you calculate each piece that you can do to improve your site.
I don't think the book would make you an expert, but then again the title doesn't claim that :)
Again, thanks for the thorough review.
First let me say that if you are a PHP pro, comfortable with the ZF repository, you are far different from the majority of technologists responsible for SEO implementations.
Second, SEO is a dynamic discipline. Even the best book on SEO and PHP has to spend the bulk of it's 300+ pages on enabling infrastructure. That's not a bad thing, but it's not all you need to SEO your sites. Whenever the book recommends implementation tactics, that advice must be suspect because SEO factors change continuously.
Third, if you really know PHP, you recognize that 10 good PHP programmers will implement a web site on ZF 10 different ways. All on ZF, but all different. Same for SEO. Ten SEO-savvy people will SEO a web site 10 different ways. What's different about SEO, however, is it is accountable. The implementation that was "best" is the one that out ranks the others.
Which brings me to the final point: SEO tactics by themeselves are like ZF by itself: basically useless. ZF is an enabling framework for web app development. SEO is a framework for ranking on targeted search phrases. Would you implement ZF for a project without a good PHP coder? Why do you think you can implement SEO without a good SEO?
I'm not saying you can't.. I'm not much of a PHP coder but I deploy PHP web sites all by myself and they do their job. But I know very well the value of a good PHP coder, even when I decide against hiring one for a project.
Most of the positive comments are from people mentioned in the book.
Note that this obscure dummy verbose text comes at 21st page of similar "explanation" of regular expressions.
--------
How does the pattern colou?r'?s?'?? match the word color? Assume that the regular expression
engine is at the position immediately before the first letter of color. It first attempts to match lowercase
c, because one lowercase c must be matched. That matches. Attempts are then made to match a
subsequent lowercase o, l, and o. These all also match. Then an attempt is made to match an optional
lowercase u. In other words, zero or one occurrences of the lowercase character u is needed. Because
there are zero occurrences of lowercase u, there is a match. Next, an attempt is made to match lowercase
r. The lowercase r in color matches. Then an attempt is made to match an optional apostrophe.
Because there is no occurrence of an apostrophe, there is a match. Next, the regular expression engine
attempts to match an optional lowercase s - in other words, to match zero or one occurrence of lowercase
s. Because there is no occurrence of lowercase s, again, there is a match. Finally, an attempt is made
to match an optional apostrophe. Because there is no occurrence of an apostrophe, another match is
found. Because a match exists for all the components of the regular expression pattern, there is a match
for the whole regular expression pattern colou?r'?s?'?.
Now, how does the pattern colou?r'?s?'?? match the word colour? Assume that the regular expression
engine is at the position immediately before the first letter of colour. It first attempts to match lowercase c,
because one lowercase c must be matched. That matches. Next, attempts are made to match a subsequent
lowercase o, l, and another o. These also match. Then an attempt is made to match an optional
lowercase u. In other words, zero or one occurrences of the lowercase character u are needed. Because
there is one occurrence of lowercase u, there is a match. Next, an attempt is made to match lowercase r.
The lowercase r in colour matches. Next, the engine attempts to match an optional apostrophe. Because
there is no occurrence of an apostrophe, there is a match. Next, the regular expression engine attempts
to match an optional lowercase s - in other words, to match zero or one occurrences of lowercase s.
Because there is no occurrence of lowercase s, a match exists. Finally, an attempt is made to match an
optional apostrophe. Because there is no occurrence of an apostrophe, there is a match. All the components
of the regular expression pattern have a match; therefore, the entire regular expression pattern
colou?r'?s?'?? matches.