educational

SE Friendly PHP Pages

PHP pages have a reputation of being more difficult (or at least different) to SEO than static HTML pages. Here's a brief overview of the major issues encountered when trying to make PHP scripts rank well on search engines. While this guide focuses on PHP, much of it is still relevant to optimizing dynamic pages in general.

PHP Speed
While page size does affect load time, spiders run on servers connected to high bandwidth networks, so download time is less important than the latency of the PHP script's execution time. If a spider follows a link on a site and is forced to wait too long for the server to process the PHP code behind that page, it may label your page as unresponsive. The biggest delays in a PHP script typically are the database and loop code. Avoid making [CODE]SELECT *[/CODE] calls, instead explicitly name all the columns you want to retrieve, and if you are using MySQL, test your queries using the [CODE]EXPLAIN[/CODE] statement. To optimize loops, consider using duplicated code instead of low iteration loops; also use as many static values, such as [CODE]count($array)[/CODE] values, inside the loop as you can, generating their values before the loop once.

URL Cleanliness
A major goal in getting search engines to treat your PHP created pages well, is to make them look and act like static pages. If you have a large site, you can use Apache to fake static looking URLs, or, with a smaller site, you can simply keep your [CODE]GET[/CODE] variables to a useful minimum. In either case, however, never allow a spider to see links with different URL's to the same content. If the URL is different, the page should be too.

One of the major problems most webmasters have with getting their dynamic pages to index is URL cleanliness. Since many dynamic pages are created with [CODE]GET[/CODE] variables, lots of pages have URLs that look like:

Page.php?var=lkdjdfhv&var2=345&var3=kfjdks

Most of the search engines will be able to follow this link, because it has 3 or under get variables (a good rule of thumb is to keep the number of [CODE]GET[/CODE] variables passed in the URL to under 3), but any more than 3 variables and you will run into problems. Try using less [CODE]GET[/CODE] variables, and make them more relevant. Rather that useless id numbers use titles, and other keyword-rich bits of text. This is an example of a better URL:

Page.php?var=category&var2=topic

If the page requires more variables you may want to consider combining the variables by delimiting them with a hyphen or another unused character, and then splitting the variable in the target page.

Disabling trans_sid
Possibly the biggest cause of webmaster frustration when SEO'ing php pages is PHP's tendency to add session id numbers to links if cookies are rejected by the browser (SE spiders reject cookies). This will happen by default if your PHP installation was compiled with the "–enable-trans-sid" option (and this is the default from version 4.2 onward). This creates links with an additional, long, nonsense-looking [CODE]GET[/CODE] variable. In addition to making the links clunky, this gives spiders different URLs with the same content, which makes them less likely to treat the pages individually, and possibly not even index them at all. A quick way to fix this is to disable the trans-id feature, if you have access, in php.ini by setting "session.use_trans_sid" to false. If you don't have access to change php.ini, you can add this line to the .htaccess file in your root directory:

[CODE] php_flag session.use_trans_sid off [/CODE]

Masking Dynamic URLs
However the mere presence of a question mark in the URL will introduce a delay in Google's indexing of the page. This from Mike Grehan's Interview with Daniel Dulitz of Google:

"So the mere presence of a question mark in the URL doesn't throw us for a loop at all. We will crawl those pages more slowly than we do with pages without question marks in the URL. Purely because they've identified themselves as being dynamic and we certainly don't want to bring anyone's site down because we're hitting the database too hard."

Small sites will not need to worry much about this delay as it means your server is hit every few minutes, not a few times a second, but for larger sites this can slow down your site's inclusion into the index.

Making Dynamic Pages Look Static Without mod_rewrite
A way to mask bulky dynamic page URLs (and avoid the question mark delay) is Apache's ForceType in combination with a PHP command to interpret URLs like: www.example.com/books/computers.html as referring to a page called "books" which is executed as a PHP script (I usually make a link on the Linux server from "books.php" to "books" to make editing the script easier). The function will return an array of the additional values, including the category "computers". This can be accomplished by inserting a line like this into the .htaccess file in the root of your web documents directory:

[CODE] ForceType application/x-httpd-php [/CODE]

*Directory Handle Name Here* should be replaced with the alias name you are giving to the fake directory you are creating. In this example, "www.example.com/books/computers.html," your .htaccess line would look like this:

[CODE]ForceType application/x-httpd-php[/CODE]

You can then log into your server and create a link to the file "books" or whatever directory alias you have chosen. This is done with the Linux command "ln", or link, like this:

[CODE]$ Ln books.php books [/CODE]

This creates a link between the existing PHP script books.php and the non-existant "books". This way all requests for the directory "books" will be given to books.php, i.e. www.example.com/books/computers.html would be handled by books.php.

Inside books.php you can use this function to extract values from the static-looking request URI's:

[CODE][/CODE]

So the above example of: www.example.com/books/computer.html would be processed thus:

[CODE][/CODE]

With this, [CODE]$_GET['books'][/CODE] would equal "computer" similar to www.example.com/index.php?books=computer

PHP's SEO'ing Advantages
A great advantage to using dynamic pages as opposed to static pages is the ability to create content that is constantly changing and updated in real time. RSS headlines, randomly circulating content, and other automatically "fresh" content can boost your ranks in Google, and many other engines.

Another advantage to using PHP is that you can make simple modifications to many scripts to create relevant and fresh page titles. Since this is the most important "on page" factor in SEO, special attention should be given to creating title tags that accurately reflect the page's current content. Any HTML templates used in PHP pages can be altered to contain this line:

[CODE]<?=$page_title?> [/CODE]

With this, [CODE]$page_title[/CODE] can be set to a keyword-rich text describing the page. Title text is also important in improving the click-through from SERP's, so be sure that the title tag doesn't read like spam, but more like a "human created" title.

Editor's Note: PHP-driven and other dynamic content pages offers many advantages for webmasters, but they are not a "perfect" solution, especially when search engine placement is a consideration. These techniques will help you to maximize your possibilities. Be creative! ~ Stephen

Copyright © 2024 Adnet Media. All Rights Reserved. XBIZ is a trademark of Adnet Media.
Reproduction in whole or in part in any form or medium without express written permission is prohibited.

More Articles

profile

'Traffic Captain' Andy Wullmer Braves the High Seas as Spirited Exec

Wullmer networked and hobnobbed, gaining expertise in everything from ecommerce to SEO and traffic, making connections and over time rising through the ranks of several companies to become CEO of the mobile business arm of TrafficPartner.

Alejandro Freixes ·
opinion

To Cloud or Not to Cloud, That Is the Question

Let’s be honest. It just sounds way cooler to say your business is “in the cloud,” right? Buzzwords make everything sound chic and relevant. In fact, someone uninformed might even assume that any hosting that is not in the cloud is inferior. So what’s the truth?

Brad Mitchell ·
opinion

Upcoming Visa Price Changes to Registration, Transaction Fees

Visa is updating its fee structure. Effective April 1, both the card brand’s initial nonrefundable application fee and annual renewal fee will increase from $500 to $950. Visa is also introducing a fee of 10 cents for each settled transaction, and 10 basis points — 0.1% — on the payment volume of certain merchant accounts.

Jonathan Corona ·
opinion

Unpacking the New Digital Services Act

Do you hear the word “regulation” and get nervous? When it comes to the EU’s Digital Services Act (DSA), you shouldn’t worry. If you’re complying with the most up-to-date card brand regulations, you can breathe a sigh of relief.

Cathy Beardsley ·
opinion

The Perils of Relying on ChatGPT for Legal Advice

It surprised me how many people admitted that they had used ChatGPT or similar services either to draft legal documents or to provide legal advice. “Surprised” is probably an understatement of my reaction to learning about this, as “horrified” more accurately describes my emotional response.

Corey D. Silverstein ·
profile

WIA Profile: Holly Randall

If you’re one of the many regular listeners to Holly Randall’s celebrated podcast, you are already familiar with her charming intro spiel: “Hi, I’m Holly Randall and welcome to my podcast, ‘Holly Randall Unfiltered.’ This is the show about sex, the adult industry and the people in it.

Women In Adult ·
trends

What's Hot Now: Leading Content Players on Trending Genres, Monetization Strategies

The juggernaut creator economy hurtles along, fueled by ever-ascendant demand for personality-based authenticity and intimacy — yet any reports of the demise of the traditional paysite are greatly exaggerated.

Alejandro Freixes ·
opinion

An Ethical Approach to Global Tech Staffing

One thing my 24-year career as a technologist working to support the online adult entertainment industry has taught me about is the power of global staffing. Without a doubt, I have achieved significantly more business success as a direct result of hiring abroad.

Brad Mitchell ·
opinion

Finding the Right Payment Partner

Whenever I am talking with businesses that are just getting started, one particular question comes up a lot: “How do I get a merchant account?” It’s a simple question, but it has a complicated answer.

Jonathan Corona ·
opinion

The Taxman Cometh for Every Business

February may be the month of romance, but it is also a time when we need to think about something that inspires very little love: taxes. April is not far away, and the taxman is always waiting. This year, federal and most state income taxes are due Monday, April 15.

Cathy Beardsley ·
Show More