Writing Blog

March 7, 2010

Flat-file based PHP CMSs

This is one of a series of articles I posted at my Web Development Blog.
You can view the original version at:

After several unsuccessful attempts to access the MySQL databases that provide the data for the web pages of my main client, I have decided to look into other options that do not require a separate MySQL database that returns errors far too often, with a separate password that nobody knows who’s got it or how to retrieve it, and a separate set of skills outside the realm of most web designers.

To my surprise, since last time I checked on flat-file based PHP Content Management Systems, there have been emerged/developed quite a few (and good) options around this approach that I’m listing below:

CMSimple is simple, small and fast. It writes page data directly to a HTML file on the web server. Configuration files and language files are also saved in .txt format.
CMSimple also offers a wide variety of plug-ins, including many made by third parties.

DokuWiki is wiki software that works on plain text files and thus needs no database. Its syntax is similar to the one used by MediaWiki and its data files remain readable outside the wiki.
It has a generic plugin interface which simplified the development and maintenance of add-ons.
DokuWiki is included in the Linux distributions of Debian and Gentoo Linux.

Pluck allows for easy web page creation for users with little or no programming experience, and does not use a database to store its data.
Pluck also includes a flexible module system, which allows developers to integrate custom functionality into the system. Pluck includes 3 default modules: Albums, Blog and Contact form.

razorCMS is designed to be as small as possible ( around 300 KB including a WYSIWYG – Editor), just enough to be useful on a base install. Then extra functionality can be added as needed via the Blade Pack management system.
Skeleton CMS isn’t really a CMS as much as it is a very simple framework for rapid prototyping. If nothing more, it’s a good structured site model to start building a website with. There is no need for a database and no fancy admin area, but if you’re building a site for a client and you don’t need the power of WordPress this might be exactly what you’re after.

As pointed out, the main advantage of using flat-file (text) files as a database for a PHP driven CMS is that you no longer depend on external software to edit and maintain a part of the CMS, without which the system simply will not run.

But you must keep in mind that although flat-file files are an acceptable solution for small databases, they become sluggish as the database grows because access mode is sequential.
Another disadvantage is their inability to support transactions and probably the biggest concern is Security: A database protects the data from outside intrusion better than a flat file because it provides a security layer of its own.
Having said that, NOTHING that is hosted on a server connected to the Internet is secure and if there are hackers equipped with enough resources who are intent in breaking into your system, they eventually will.

An intermediate solution would be the use of SQLite an Open Source embedded relational database management system contained in a small C programming library that when is linked in it becomes an integral part of the program. The entire database including definitions, tables, indices, and the data itself are stored as a single text file on a host machine.
SQLite is embedded into a growing number of popular applications, such as Mozilla Firefox or Google’s Android OS.

Sounds good to me.
Below some of the CMSs that are able to use SQLite to store their data:

eoCMS (everyone’s Content Management System) uses MySQL or SQLite and php to deliver content in a user-friendly interface.
It features a forum, moderation features, custom 404 pages, personal Messaging , plug-ins, RSS output, ratings, etc.

Frog CMS is an extendable open source content management system designed to use PHP5 along with a MySQL database backend, although it also has support for SQLite. It is actually a port of Radiant, the Ruby on Rails CMS, although Frog has begun to take its own development direction.

FUDforum supports all the standard features you may come to expect from a modern forum with a robust MySQL, PostgreSQL or SQLite back-end, that allows for a virtually unlimited number of messages (up to 2^32 messages).

Habari is a modular, object-oriented blogging platform that supports Multiple users, Multiple sites, Plugins, Importers for Serendipity and WordPress, etc.
Habari prides itself in being standards compliant and more secure than other blogging platforms by making use of PDO and enabling prepared statements for all interactions with the database.

Jaws is a CMS and modular framework that focuses on User and Developer “Friendliness” by providing a simple and powerful framework to hack your own modules.
Lanius CMS comes out of the box with two flatfile database choices (Gladius DB and SQLite), that will work out-of-the-box with both PHP4 and PHP5.

phpSQLiteCMS is based on PHP and SQLite and runs “out of the box”. phpSQLiteCMS uses PDO as database interface, which makes it also possible to run with MySQL.

Serendipity is a PHP based blog and web-based content management system that supports PostgreSQL, MySQL, and SQLite database backends, the Smarty template engine, and a plugin architecture is kept updated by automatically checking the plugin repository online.

The only drawback to this approach in many of the systems above is that they use the PHP Data Objects (PDO) extension, a lightweight, consistent interface for accessing databases in PHP, that although greatly reduces the system’s vulnerability to SQL injection attacks, it does require the new OO features in the core of PHP 5, and so will not run with earlier versions of PHP.

February 3, 2010

What is the Google Affiliate Network?

Filed under: Blogs,Internet,Software — Rafael Minuesa @ 1:46 AM
Tags: , , ,
This is one of a series of articles I posted for the 1000 Webs’ Blog.
You can view the original version at:

When Google acquired DoubleClick in March 2008, it also acquired its affiliate ad network program called Performics, the first full-service affiliate network founded in 1998 and that in turn had been acquired by DoubleClick in 2004. Google has now further developed and rebranded Performic as the Google Affiliate Network.

The Google Affiliate Network works like any ordinary affiliate ad network, by enabling advertising relationships between publishers and advertisers, whereby publishers get paid for every successful sale transactions that their site brings to advertisers.

As a Google Affiliate Network publisher, you can add an advertiser’s banner or text link on your site. When a transaction, such as a sign-up or purchase, occurs through one of these affiliate links, Google Affiliate Network will track the sale and pay you a commission or bounty.

Someone clicks the ad on your site…
…buys the advertised product…
…and you receive a commission on the sale

The Google Affiliate Network has been integrated into Google AdSense. All Google Affiliate Network publishers must accept AdSense terms. Additionally, all earnings are distributed through AdSense.
But being a Google AdSense publisher does not make you automatically a publisher in Google Affiliate Network. You must complete a separate application for Google Affiliate Network.
In order to join the program, you need to apply to their network in two steps:
Step 1: Link to or apply for a Google AdSense account.
Step 2: Tell Google about your site and promotional methods.

Each application is reviewed by the Google Affiliate Network quality team which will check some requirements, such as being a site that attracts a desirable audience for the products offered, able to test advertising offers and nurture the most productive relationships, being an expert in driving and converting visitor traffic and adhere strictly to Google Affiliate Network quality standards and advertiser policies.
In addition Google states that,

we’ve found that Google Affiliate Network tends to yield greater benefits to publishers who create niche content, manage loyalty and rewards programs, aggregate coupons and promotions, or manage social media.

Payments are processed on a cost-per-action (CPA) basis, typically as a revenue share or fixed bounty for a lead or other action. Google Affiliate Network earnings will be posted to your Google AdSense account approximately 30 days after the end of every month.

More Info:

January 17, 2010

Supplemental results: An experiment

Filed under: Blogs,Internet — Rafael Minuesa @ 1:34 AM
Tags: , , ,
This is one of a series of articles I posted for my SEO Blog.
You can view the original version at:
* http://rafael-minuesa-seo.blogspot.com/2010/01/supplemental-results.html

What are supplemental results?
Supplemental results usually only show up in the search index after the normal results. They are a way for Google to extend their search database while also preventing questionable pages from getting massive exposure.

How does a page go supplemental?
From my experiences pages have typically went supplemental when they became isolated doorway type pages (lost their inbound link popularity) or if they are deemed to be duplicate content. For example, if Google indexes the www. version of your site and the non www. version of your site then likely most of one of those will be in supplemental results.
If you put a ton of DMOZ content and Wikipedia content on your site that sort of stuff may go supplemental as well. If too much of your site is considered to be useless or duplicate junk then Google may start trusting other portions of your site less.

Negative side effects of supplemental:
Since supplemental results are not trusted much and rarely rank they are not crawled often either. Since they are generally not trusted much and rarely crawled odds are pretty good that links from supplemental pages likely do not pull much – if any – weight in Google.

How to get out of Google Supplemental results?
If you were recently thrown into them the problem may be Google. You may just want to give it a wait, but also check to make sure you are not making errors like www vs non www, content management errors delivering the same content at multiple URLs (doing things like rotating product URLs), or too much duplicate content for other reasons (you may also want to check that nobody outside your domain is showing up in Google when you search for site:mysite.com and you can also look for duplicate content with Copyscape).
If you have pages that have been orphaned or if your site’s authority has went down Google may not be crawling as deep through your site. If you have a section that needs more link popularity to get indexed don’t be afraid to point link popularity at that section instead of trying to point more at the home page. If you add thousands and thousands of pages you may need more link popularity to get it all indexed.
After you solve the problem it still may take a while for many of the supplementals to go away. As long as the number of supplementals is not growing, your content is unique, and Google is ranking your site well across a broad set of keywords then supplementals are probably nothing big to worry about.

All of the text above has been copy&pasted from:
so, if those points are correct this post should go Supplemental in no time, right?
Wrong. Wait and see …

Matt Cutts, a well known Google engineer, asked for feedback on the widespread supplemental indexing issue in this thread. As noted by Barry, in comment 195 Matt said:

Based on the specifics everyone has sent (thank you, by the way), I’m pretty sure what the issue is. I’ll check with the crawl/indexing team to be sure though. Folks don’t need to send any more emails unless they really want to. It may take a week or so to sort this out and be sure, but I do expect these pages to come back to the main index.

In the video below Matt Cutts answers questions about Supplemental Results:


In the video, to the question of should I worry about results estimates for:

  1. supplemental results
  2. using the site: operator
  3. with negated terms and
  4. special syntax such as intitle: ?

And the answer was: No. That’s pretty far off the beaten path

Getting Out of Google Supplemental Results

Getting out of the Google Supplemental Results may be possible by improving your website navigation system. To get more pages fully Google indexed, the prominence of important website pages can often be boosted by linking to them from pages within your domain having the highest Page Rank, such as your homepage. The reason for this being that Page Rank is passed from one page to another by links and the most common cause of Supplemental results is lack of Page Rank.

Start by determining your most important web pages which have been made supplemental – for example those promoting lucrative products and services, and then improve your website internal linking by adding links to these pages from more prominent fully Google indexed pages of your site including your homepage. At the same time, ensure that your website navigation system is search engine friendly using a website link analyzer.

Site Link Analyzer Tool © SEO Chat™

Valid URL

Type of links to return:
External (links going to outside web-sites)
Internal (links inside the current web-site)
Both types

Additional Info
Show nofollow links?

Enter Captcha To Continue
To prevent spamming, please enter in the numbers and letters in the box below

Report Problem with Tool.

By improving website navigation and getting more inbound links from other Worldwide Web sites, you may be able to get more website pages fully Google indexed, solving the problem of partial Google indexing and Supplemental pages.

Where the Google Page Rank of your website homepage is PR4 or PR3, improving your website navigation system and in particular the prominence of internal pages may help to get out of supplemental results. This can be done by including static hyperlinks from the homepage to your ‘problem supplemental result pages’.

However, where your homepage is PR3 or lower and you have a large website, internal navigation improvements alone may still not be enough when it comes to getting out of the Google Supplemental Results. At PR3 or lower, your homepage Page Rank is probably too low to pass on enough Page Rank to your internal pages to completely get out of Supplemental Results.

To fully solve the problem of partial Google indexing, get more one way links to your site from quality web directories and sites of a similar theme and wait patiently to become fully Google indexed. In addition, getting more quality one way links pointing to internal pages of your website (rather than just targeting your homepage) is another powerful way of boosting the ranking of those pages against specific keyword terms, and it will also assist in getting them out of supplemental results. This is often referred to as “deep linking”.

Google states that they have now removed the label “Supplemental Result” from their search result pages:

“Supplemental Results once enabled users to find results for queries beyond our main index. Because they were “supplemental,” however, these URLs were not crawled and updated as frequently as URLs in our main index.

Google’s technology has improved over time, and now we’re able to crawl and index sites with greater frequency. With our entire web index fresher and more up to date, the “Supplemental Results” label outlived its usefulness.”

Right, that is correct. It is called now “Omitted Results“. Same thing really, and same side-effects, at least from this non-Google point of view.

More Info

January 7, 2010

Thematic frameworks in WordPress

Filed under: Blogs,Internet,Programming — Rafael Minuesa @ 12:53 AM
Tags: , , , , ,
This is one of a series of articles I posted for 1001 Templates.
You can view the original version at:
* http://1001templates.blogspot.com/2010/01/thematic-wordpress-theme-framework.html

A theme framework in WordPress consists of a highly customized theme foundation designed to create a flexible platform that can serve as a parent theme for building child themes.

The use of WordPress theme frameworks does ease theme development considerably by reducing the volume of work that is needed in creating a backbone for a WordPress theme, something that is traditionally done by using PHP and WordPress Template Tags.

Another advantage of theme frameworks is that they also make theme development more accessible, removing the need for programming knowledge.

Below you can see a list of Available Frameworks in WordPress:

After some research we have decided to focus on developing the Thematic Framework, a free, open-source, highly extensible, search-engine optimized Framework that comes out-of-the-box with some very convenient features, such as 13 widget-ready areas, grid-based layout samples, styling for popular plugins, etc. Not to mention the support of a whole community behind it, which makes it perfect for both beginner bloggers and WordPress development professionals.

Additional features are:

  • Includes a sample WordPress Child Theme for rapid development
  • A wiki-editable guide to Thematic Customization
  • Ready for WordPress plugins like Subscribe to Comments, WP-PageNavi, and Comment-license
  • Fully compatible with All-In-One SEO and Platinum SEO plugins
  • Multiple, easy to implement, bulletproof layout options for 2, or 3 column designs
  • Modular CSS with pre-packaged resets and basic typography
  • Dynamic post and body classes make it a hyper-canvas for CSS artists
  • Editable footer text—remove the theme credit without harming the theme
  • Options for multi-author blogs

October 27, 2009

Hello WordPress!

Filed under: Blogs — Rafael Minuesa @ 2:28 AM
Tags: ,

Welcome to my Blog at WordPress.com.

WordPress Logo

This is my first post.

Wow, I’m so excited !

%d bloggers like this: