Development Guides Home

Guide to Site Publisher Templates


You can create your own custom templates for cPanel's Site Publisher feature.


Don't specify protocols in your templates. If, for example, the template uses hard-coded HTTP but a visitor uses HTTPS to access it, the browser will return an error.

Create a template

To create an Site Publisher template, perform the following steps:

  1. Create your template's meta.json file .
  2. Create your template files .
  3. Create a preview image for your template. You must save this image as the preview.png file.
  4. Store the template in the appropriate directory on your cPanel & WHM server:
    • Store templates that the root user owns within a template-specific directory in the /var/cpanel/customizations/site_templates/ directory.
    • Store templates that a reseller owns within a template-specific directory in the /home/username/var/cpanel/reseller/site_templates/ directory, where username represents the reseller's username.
  • We strongly recommend that you do not store additional templates in the cPanel-provided-template directory.
  • cPanel-provided templates exist in the /usr/local/cpanel/3rdparty/share/site_templates/ directory.

Site Publisher websites

When users publish websites via cPanel's Site Publisher interface (cPanel >> Home >> Domains >> Site Publisher), the system generates the website files and stores them in the target domain's home directory.


When users publish a Site Publisher website, the system logs template information and the target directory to the /usr/local/cpanel/logs/error_log file.

Each Site Publisher website uses the following assets:

  • The configuration file .
  • Template-specific license files, if the template includes a license.
  • Template-specific generated website files, which may include HTML files, images, fonts, JavaScript files, CGI files, and related subdirectories for these assets.

The system does not publish the template's README files or Template Toolkit files.