Skip to content

Configuration

All CMS settings are stored in the cms_settings database table and accessed through the get_cms_option() helper. You can change most settings from the Admin → Settings panel.

The settings screen

Settings are grouped into tabs — General, SEO, Activity Logs, REST API, Integrations, and Email Templates.

General Settings

Navigate to Admin → Settings → General.

SettingKeyDefaultDescription
Site Namesite_nameYour website name
Site Titlesite_titleBrowser tab title
Taglinesite_descriptionMeta description fallback
Logosite_logoHeader logo image URL
Faviconsite_faviconBrowser favicon
TimezonetimezoneUTCPHP timezone identifier
Homepagehome_page_idPost ID of your homepage
Posts per pageposts_per_page10Blog archive pagination
Default post statusdefault_post_statusdraftdraft / pending / published
Comment moderationcomment_moderationtrueRequire approval before showing
Allow registrationallow_registrationfalseEnable public signups

Authentication Settings

SettingKeyDefaultDescription
Login URLlogin_urlfalcon-adminCustom login page slug
Register URLregister_urlfalcon-registrationCustom registration slug
Passwordless loginpasswordless_loginfalseEnable magic link login

Security

Change login_url from the default to make your login page harder to find by bots.

From v2.6.7 that setting actually holds: /admin, /admin/login and every other admin path answer a visitor without a session with a 404, rather than redirecting to wherever you moved the login page. Guessing the obvious address no longer reveals the real one.

A browser that has signed in here before is the exception: from v2.6.13 it is sent to the login page rather than the 404, so a session that ends while you are working, or an old bookmark, does not look like a broken site. That marker is an ordinary encrypted cookie, so it cannot be forged, and it only changes what is shown — it never signs anyone in. A browser that has never signed in still gets the 404.

It is still worth keeping the login URL somewhere you can find it: on a new machine, or after clearing cookies, nothing links back to it.

SEO Settings

Navigate to Admin → Settings → SEO.

SettingKeyDescription
Default meta descriptiondefault_meta_descriptionFallback when post has no description
Default social imagedefault_og_imageFallback Open Graph image
XML Sitemapenable_xml_sitemapAuto-generate /sitemap.xml
robots.txtenable_robots_txtAuto-generate /robots.txt

Multi-language Settings

SettingKeyDescription
Enable multi-languagemulti_language_enabledPrefix URLs with locale code
Language switcherlang_switcher_displayboth, flag_only, text_only, code_only

Reading Settings in Code

php
// Get a setting with fallback
$siteName = get_cms_option('site_name', 'My Site');

// Locale-aware: returns site_name_bn for Bengali locale if set
$siteName = get_cms_option('site_name');

// Update a setting
update_cms_option('site_name', 'New Site Name');

Timezone Helpers

php
// Get configured timezone
$tz = cms_timezone(); // e.g., "Asia/Dhaka"

// Get current time in CMS timezone
$now = cms_now(); // Carbon instance

// Format a date in CMS timezone
echo cms_date($post->published_at, 'M j, Y'); // "Jun 11, 2026"

Integration Settings

Navigate to Admin → Settings → Integrations.

IntegrationKeys
Google Analyticsgoogle_analytics_id
Facebook Pixelfacebook_pixel_id
Google Search Consolegoogle_search_console
SMTP Emailsmtp_enabled, smtp_host, smtp_port, smtp_username, smtp_password
PayPalpaypal_enabled, paypal_client_id, paypal_secret
Stripestripe_enabled, stripe_public_key, stripe_secret_key
SSLCommerzssl_commerce_enabled, ssl_commerce_store_id, ssl_commerce_signature_key

Released under the MIT License.