The current best-practice way to theme a Plone site is by using an engine called “Diazo”. This allows designers to design a theme in just plain, flat HTML, CSS and JavaScript.

The way to do this is to use If you need to integrate Plone with other back-end servers, legacy systems, or any webservice, you can use Diazo to all combine it in a unified look & feel.

An older (Plone 4.2) quick guide which may help to understand Diazo better:

Using Diazo is also possible as a standalone service.

Normally the Diazo theme transformation is running inside the Plone process. You can compile the Diazo rules to low level XSLT and let a webserver do the actual transformation, or run the Diazo transformations in a WSGI enabled service.

If you want this advanced stand alone set up, please take a look at documentation on, especially the Compilation and Deployment chapters.

General information CSS and other resources in Plone:


Up to version 4.1, Plone was using an older style of theming. Using that is not considered best practice anymore.

See older versions of these docs if you need the information.