(The first) 5 years of Zenphoto!

Please note: The original blog is not active anymore, thus all links are broken. All contents have been moved to's news section so far possible.


Yeah, you read correctly. Zenphoto has been around for five years now. We can't quite believe it ourselves and are glad that we managed the important 1.3 release for Zenphoto's birthday.

Let us take a quick look at how it all started:

On April 24, 2005 Zenphoto's original developer, Tristan Harward, posted the ambitious idea of "Reinventing the photo album" on his blog

The very (...)


This plugin directly handles the 3gp and mov video class images if if Apple Quicktime is installed on the visitor system. Other formats require a multimedia player to be enabled. The actual supported multimedia types may vary according to the player enabled.


An example of setting defaults for comment form data.

Purge Image cache

Clears the image cache. Images will be re-cached as they are viewed.

Purge RSS cache

Clears the RSS feed cache

Refresh the Database

Cleans the database and removes any orphan entries for comments, images, and albums.

Refresh Metadata

Refreshes the metadata from image items in the database.

Reset all hitcounters

This is a button interface for the admin backend's overview page.


When importing JPEG images to an album, this filter checks for the EXIFOrientation value and when this value suggests that the image must be rotated, it rotates the image and updates the EXIFOrientation value accordingly, so that the image will not be rotated again.

Requires jpegtran installed on the server.


Generates individually compatible XML files for use with Google and other search engines. It supports albums and images as well as optionally Zenpage pages, news articles and news categories. Sitemaps need to be generated via the button on the admin overview page and then are cached as static files in the /cache_html/sitemap/ folder. There are individual sitemaps for all of the above item types generated as well as a sitemapindex file. Album sitemaps are splitted into individual sitemaps per album (incl. all albums pages) and image sitemaps into individual sitemaps per album.

The sitemapindex file can be referenced via or with modrewrite

IMPORTANT: A multilingual sitemap requires the dynamic-locale plugin and either the seo_locale plugin or language subdomains.