ProcessWire standard site profiles

These are site profiles developed for ProcessWire to serve as introductory examples and starting points.

Prior to ProcessWire 3.0.191 these site profiles were bundled with the ProcessWire core. To reduce the core download size they have been moved out of the core and are now available for separate download. When installing ProcessWire (at least for the first time), we recommend using one of the site profiles described here, especially if you are new to ProcessWire. There are also 3rd party site profiles in our modules directory and you may want to check those out after you are familiar with ProcessWire.

List of standard site profiles

The following site profiles have been bundled with the ProcessWire core at one point or another. All are functional with the current master/main and dev branches of ProcessWire.

Regular site profile

A Uikit v3 based blog site. This simple to understand site profille is a great introduction to using ProcessWire with a CSS framework. It uses the Markup Regions output strategy which is easy to understand for beginners while also very powerful for more experienced users. It stays with the default Uikit styles and we've tried to keep it as generic “Uikit” look as possible. That way, when someone wants to use it to build a site, there is very little they have to reverse engineer or remove. It also means that you should be able to plug in any Uikit 3 theme and have everything adjust perfectly to that theme. We currently have no theme being applied, so you just see the standard Uikit output, which is still pretty nice.

/site-regular/ Download Details Demo GitHub

Multi-language site profile

This site profile is a simple multi-language site with 3 languages. It is a version of the default site profile that is identical to the “Delayed output site profile” except that it is developed for multiple languages. It demonstrates multi-language fields, multi-language URLs and code internationalization. It also demonstrates standards such as hreflang attributes and how to build navigation to switch between languages.

/site-languages/ Download Details GitHub

Default profile (beginner edition)

This is a version of the default site profile that uses an output strategy called direct output, something you are already familiar with, since it is used by most other CMSs. It is also what a plain PHP file on its own uses. For this reason, it is a common ground that can be a good introduction to template files in ProcessWire, how and where output goes, as well as how one file might include another. As you gain more experience you may want to switch to a different output strategy such as Markup Regions, or you may decide direct output is exactly what you want.

/site-beginner/ Download Details GitHub

Default profile (standard/intermediate edition)

This is a version of the default site profile that uses an output strategy called delayed output. Delayed output means that you define variables in an initialization file, populate them with your template file(s) and then output them (in a location of your choosing) in a "main" template file that defines the HTML document. It offers increased flexibility over direct output while still being very simple. However, since it involves using PHP variables, you need to know what at PHP variable is to effectively implement this output strategy. If that's you, then you may want to start with this intermediate site profile rather than the beginner version of it. The final output of this site profile is identical to the beginner version, only the output strategy varies.

/site-default/ Download Details GitHub

Classic site profile

This is the the first installation profile ever developed for ProcessWire and it was the one released with ProcessWire 2.0 back in October of 2010. So it’s pretty old (the word “classic” is a nice way of saying that). It hasn't really changed since then, but it is still a good starting point, and it continues to work just fine even in the newest versions of ProcessWire. While this profile looks like an early 2000's website, the point is what’s behind it, and it continues to serve as a very good example of the direct output strategy in ProcessWire. If you are just getting started with PW you may find this profile to be very easy to digest and understand because there's not much to it. But if you are looking or more modern development techniques in ProcessWire then you may want to instead check out the Regular site profile or the multi-language site profile.

/site-classic/ Download Details GitHub

Blank site profile

This site profile provides a nearly blank starting point with the minimum amount of fields, templates and modules installed. This site profile is useful to people that are already familiar with ProcessWire, already know what fields/templates they will need to create, and don't want to take the time to removing existing fields/templates they don't need from a site profile.

/site-blank/ This profile is already bundled with all current versions of ProcessWire.

Working with site profiles

How to install a site profile

  1. You must first have a copy of ProcessWire that has not yet gone through the installation process.

  2. Extract and copy the site profile files into a /site-name/ directory in your web root (or wherever ProcessWire’s install.php file is located). Replace the name part of site-name with the name of the profile, i.e. site-regular or site-languages, etc.

  3. Open the URL where you've copied ProcessWire's files to in your web browser. The installer should start. When it asks you what site profile you want to install, you should see the profile you added available for selection. Select it and continue installation.

How to create a site profile

You can create a site profile from an existing ProcessWire installation. If you want to create your own site profile, please install and use the Process Export Profile module. Note that site profiles are a good distribution method for smaller installations that will be built upon. Existing sites with thousands of pages or gigabytes of file assets may not be reasonable to export into a site profile.

See also

3rd party site profiles

Twitter updates

  • ProcessWire 3.0.192 (dev branch) contains 11 issue fixes and 5 pull requests, over 20 commits— More
    7 January 2022
  • ProcessWire 3.0.191 core updates: updates to the installer and the profile exporter module— More
    24 December 2021
  • This week ProcessWire went on a diet, trimming the core size from 15.5 MB down to 7.5 MB by moving optional site profiles into their own GitHub repos— More
    17 December 2021

Latest news

  • ProcessWire Weekly #402
    In the 402nd issue of ProcessWire Weekly we'll check out ProcessWire 3.0.193, highlight recent ProcessWire projects and resources, and more. Read on!
    Weekly.pw / 22 January 2022
  • ProcessWire 3.0.190 core updates
    ProcessWire 3.0.190 has 15 commits relative to 3.0.189 and contains a mixture of issue resolutions and feature additions. This post covers them all, in addition to updates for the PageAutosave and ProFields Table modules.
    Blog / 3 December 2021
  • Subscribe to weekly ProcessWire news

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits