Before you start
This tutorial is for PHP programmers and webmasters interested in learning about their search engine optimization (SEO) efforts. The example application accepts comma-separated values (CSV) files to obtain domain names and keyword combinations. The positions for each domain in a given search engine are obtained by taking the domain/keyword combinations to Google, Yahoo! and MSN. These results can then be downloaded in another CSV file containing the current positions of their domains.
This series creates a search engine optimization application that connects to search engines to obtain client positions for a given list of URLs and keywords. Matching results will be stored in an Apache Derby database for later processing.
Part 1 sets up and builds the back-end database and application in PHP. This includes code to retrieve positions from the three top search engines.
Part 2 adds functionality to search Ask Jeeves and the Open Directory Project. You'll also extend the database and application to automatically bill clients, and provide two summary files in CSV format.
This tutorial sets up the back end of an example SEO application using PHP. Through PHP and HTML, a CSV file will be read in to obtain a mapping of URLs to a set of keywords. The keywords will then be submitted to the three major search engines (Google, Yahoo! and MSN) via PHP's SOAP client or simple REST, and matching results will be stored with the current date in a Derby database.
The following tools are needed to follow along with this tutorial:
- Web server
- Any operating system and any Web server can be used. Feel free to use Apache V2.X or the IBM HTTP Server.
- PHP
- Due to the use of PHP data objects, PHP V5.1 or higher is required for this tutorial. Be sure to configure PHP with the following option to include support for Derby and the SOAP extensions:
--with-pdo-odbc=ibm-db2,/home/db2inst1/sqllib --enable-soap. See Resources for information about configuring Apache or the IBM HTTP Server with PHP.
- Database
- This tutorial uses Apache Derby, which is open source and lightweight, the IBM DB2 JDBC Universal Driver, and the DB2 runtime client from IBM. Make sure that you have set your classpath appropriately by following the given instructions on each page. You can follow either the Linux®
or Windows®
instructions for installing and downloading the DB2® runtime client.
Cloudscape may also be used for this tutorial. The internals of Cloudscape are the same as Derby, however, the DB2 JDBC Universal Driver and other things are packaged into Cloudscape, and it is supported by IBM. Download Cloudscape V10.1, and the DB2 runtime client from IBM.
- Java™ technology
- Derby requires Java technology from Sun Microsystems or from IBM.
- Developer and application tokens
- Each major search engine requires that you pass along some sort of ID with your SOAP or REST request for search results. You need to get one from each of them: Google, Yahoo! and MSN.
This tutorial assumes basic PHP knowledge of PHP syntax, including assignments, for loops and functions, and so forth.

