Some user guide restructuring

We have just restructured our user guide a bit. Specifially we worked on the troubleshooting which formerly was located within the article "Troubleshooting guide". This was a collector article that fetched otherwise invisible shorter articles by a script to create a huge list. While the overview was nice it was outside the site search and a bit inconvenient to find.

We now have now create a buch of new longer articles to group these shorter articles thematically so they are easier to find. While doing that we tried to clean up a bit and removed some outdated info, too. You can now find all these via the main category "troubleshooting".

If you are searching on our forum there are a lot direct links to those former shorter articles within the troubleshooting guide that will be broken.

While the user guide might not be (...)

Integration with existing sites and other CMS

This is not really possible as Zenphoto is actually a standalone CMS of its own. Technically, these are the recommended ways to "integrate" Zenphoto with another CMS:

Match the look of your Zenphoto site to your existing site

This basically means to create a theme for your Zenphoto site to make it look like your existing site. For example by re-using HTML and CSS from it. Also please review our theming tutorial.

For WordPress specifially there are techniques available collected here: 
For Wordpress specifially there are some third party Wordpress tools available.

Or (...)

Using Zenpage

Assigning a specific user to a page or article

This is the way if you are the master admin and want to set up something for users with lower rights:

  1. Create a user with rights for one album and Zenpage rights.
  2. Create a new page/article as master admin for that user.
  3. Now select the user the page/article should belong to from the author dropdown.
  4. Now set the page/article to locked for changes and save it. Then only admins with full admin rights or that user will be able to edit or delete that page. For all others the link and the icon buttons should be grayed out.
Note that every user with Zenpage rights can set every page or article locked for changes himself that is not already locked for changes. It does not matter if he is the original author or not.

titlelink (name) vs title

The  titlelink is the name of an article, category or (...)

Working with albums and images

Is there any limit to the number of images?

There are no limits to the number of images Zenphoto can display in a gallery or album. Zenphoto is file system based and unique in that it scales relatively well due to its simple design. The speed of the gallery is dependent on a few minor things, namely the number of images in any given album.
Zenphoto should be able to handle any number of images in the entire gallery. It will help greatly with performance if they are separated into smaller albums. Even then, single albums with 2000+ photos are possible and will still be usable.

If you're having trouble with the speed of large galleries, try using the static_html_cache plugin to cache Zenphoto pages. Frequently loaded pages will be much faster.

Is it possible to remove the filename extension from image names in the URL?

No, the unique identifier to find the photo requested is the actual filename, and the only way (...)

Problems with albums and images

Thumbnails/sized images are not generated and/or the server crashes

Server memory issues
If you're running a web server on a VPS or other resource-limited environment, then you might not have enough memory available to the server to process very large images. You can use the following table as a guideline to see how much memory you need to process images of different sizes:
  • VGA Image, 640 x 480 pixels => needs ~4.1 MB Memory
  • SVGA Image, 800 x 600 pixels => needs ~4.8 MB Memory
  • 1 MP Image, 1024 x 798 pixels => needs ~6.3 MB Memory
  • 2 MP Image, 1600 x 1200 pixels => needs ~11.7 MB Memory
  • 6 MP Image, 2816 x 2112 pixels => needs ~22.6 MB Memory
  • 8.2 MP Image, 3571 x 2302 pixels => needs ~41.7 MB Memory (...)

Using external sources

Administrating images hosted on another server

Zenphoto unfortunately does not support this. Zenphoto must be installed on the same server as the photos it is hosting. This is what we recommend.
Even if this was possible, it would be very slow as Zenphoto is filesystem-based and uses many filesystem operations, and doing that over a network would slow things down significantly.

Using videos from Youtube or other portals

Zenphoto is actually meant to manage multimedia files on your own webspace but since Zenphoto 1.2.6 there is indeed a way:
  1. Enable the class-textobject plugin on the backend plugins page.
  2. Upload a plain text file (.txt) with an embed code via ftp or the backend.
  3. To use an thumbnail besides the default one follow the same instructions as for video thumbnails.
  4. That's (...)


How caching works

There are several different caches:
Image cache

Zenphoto does not touch the original full images you uploaded to the albums directory. But it does cache the resized images like thumbs, sized large images or any other sized images so they don't have to be generated again.

Zenphoto also caches sized images if they have the same size of the original full image. It does this to prevent overhead checking this everytime if it needs to be cached. If available on your server Zenphoto will use symlinks to those already sized instead of copying the image again (unless a watermark is set).

Zenphoto generally creates these cached files on the fly. This means they are not preliminary created but on request, e.g. if someone visits a page of your site. Depending on the dimensions of your images and your server's power this might result in an initial delay once. Other (...)

Problems with languages

How to install languages (translations)

A translation has this folder and naming structure:


This is an example for the German translation (de_DE locale). Just place the translation folder – in this case de_DE – within /zp-core/locale/ and you can select the translation on the Options > General > Languages on the Zenphoto backend.

Difficulties with zenphoto language translations

There are several problems you might be having with language translations:

There is no language selection for my desired language

Zenphoto relies on volunteers to translate each release. We have a large number of dedicated individuals making translations. There may be a translation for your language (...)

Using plugins and third party features

Installing third party plugins


Official plugins and extensions reside within /zp-core/zp-extensions. You should never remove official plugins as they might be used internally, too. You also should never install third party plugins there. Instead you need to install them within the root /plugins folder.

Zenphoto plugins consist at least of one file  .php. It may optionally use a folder with the same name within the plugins folder that contains files for extra functions, css files or images. Example:

plugins// (contains additional files needed by your plugin)

If you download a (third party) plugin and uncompress (unzip) it you will often have the file or the file and folder within another folder. Don't upload that folder but only its content as shown above to the /plugins (...)

Login and password problems

What is the link to login on the backend?

  1. mod_rewrite support: /admin
  2. no mod_rewrite: /zp-core/admin.php

Forgotten admin password

  1. If you supplied an email address in the Admin options there should be a Captcha string image on the log-on page. Entering that string as the log-on password will email you a link to reset your password.
  2. If the Captcha is not there, or if you don't get the email, you need to delete the administrators table in your database and re-run setup.

Problems logging in on the backend

First please review "Forgotten admin password" above. If you are still having problems after following that advice you will have to enable some debugging to allow the developers to observe what is happening when you attempt your login. Locate your site's global-definitions.php file. Using a text editor find the (...)