Skip to main content
07 / Reference · 7.1

Site types

The six site types, what the panel makes for each and with which defaults.

Type
Reference
Version
unreleased
Last verified
Unverified

You pick the type when you create the site, and it does not change. In the API it is the type field.

At a glance​

wordpresswoocommercephplaravelstaticproxy
Name in the panelWordPressWooCommercePHPLaravelStaticReverse proxy
PHPyesyesyesyesnono
Database at creationyesyesoptionalyesoptionalno
Page cache at creationononononnono
Default profileBalancedCommerceBalancedBalancedBalancedBalanced
Default public folderrelease rootrelease rootrelease rootpublicrelease root—
Object cacheyesyesnononono
System scheduled tasksWordPress cron every 5 minutesWordPress cron every 5 minutes————

For a static or reverse proxy site the page cache stays off even when the request asks for it.

What creation makes​

For every type: the system user cg-site-<id>, the folder /srv/sites/<domain> with releases/, current, shared/uploads, logs and tmp/sessions, and the vhost. For the types with PHP, also a PHP-FPM service of the site's own. SFTP access starts off.

WordPress, WooCommerce and Laravel also get their primary database and its user, with all privileges on it; a PHP or static site only if you ask for one at creation. You choose the names, or the panel proposes them: see database names and passwords. More databases and users are added later, to any site, from the Database tab.

TypeContent of the first release
wordpressWordPress installed with wp-cli, with the administrator given, /%postname%/ permalinks, the panel's connector in wp-content/mu-plugins/ and DISABLE_WP_CRON on
woocommerceas wordpress, plus the WooCommerce plugin installed and activated
phpa placeholder index.php
laravela placeholder index.php in public/
statica placeholder index.html
proxynothing: requests go to the upstream URL

wp-config.php lives in shared/ (mode 0600) and the release points at it with a relative link; the same for wp-content/uploads, which points at shared/uploads.

Creation fields​

FieldTypesRule
domainallrequired; a plain host name, lowercased
typeallrequired; one of the six
aliasesallplain host names, none used by another site
profileallbalanced, commerce or maximum
php_versionwith PHPan installed version; absent, the server's default when installed, else the newest
cache_enabledwith PHPabsent, on
object_cachewordpress, woocommerceabsent, off
titlewordpress, woocommerceoptional; empty, the domain
admin_emailwordpress, woocommercerequired; a valid address
admin_userwordpress, woocommercerequired
admin_passwordwordpress, woocommercerequired; at least 12 bytes
proxy_upstreamproxyrequired; an http or https URL with no credentials, query or fragment

PHP by type​

WooCommerceEvery other type with PHP
default memory_limit512 MB256 MB
upload_max_filesize and post_max_size64 MB64 MB
max_execution_time120 s120 s
OPcache128 MB, 16 MB of strings, 20000 files64 MB, 8 MB of strings, 10000 files
APCu64 MB32 MB

The process manager is ondemand (no idle workers) for a Balanced site that is not WooCommerce, and dynamic for every other.

Cache bypass rules​

A request carrying one of these cookies, or under one of these paths, is not served from the page cache. Neither is a POST, nor a response that sets a cookie.

TypeCookiesPaths
wordpresswordpress_logged_in_, wp-postpass_, comment_author_, woocommerce_cart_hash, woocommerce_items_in_cart, wp_woocommerce_session_/wp-admin, /wp-login.php, /wp-cron.php, /xmlrpc.php, /wp-json/, /feed
woocommercethose of wordpressthose of wordpress plus /cart, /checkout, /my-account, /addons, /wc-api, /?wc-ajax=
phpthose of wordpress plus PHPSESSIDthose of wordpress
laravel_session=, XSRF-TOKEN=, remember_web_/login, /logout, /register, /password/, /forgot-password, /reset-password, /email/verify, /admin, /nova, /horizon, /telescope, /sanctum/, /livewire/, /broadcasting/

With the Commerce profile, a wordpress or php site also takes WooCommerce's paths.

Next step​

A site's settings, field by field.

Was this page useful?
Edit this page ↗