Pre-launch Checklist

You've installed jekcms, imported content, picked a theme, and everything looks right in staging. Before pointing DNS at the new install, walk through this checklist. Each item takes 30 seconds to a few minutes — together they prevent the most common "oh no, production" moments.

Security

  • [ ] Change the admin password to something strong. The installer accepts weak passwords on purpose so you can get in fast — don't leave that password in place. Users → Your profile → Change password, use 16+ characters.
  • [ ] Delete the default "Welcome to jekcms" post. It's seed content; it shouldn't be public. Posts → All Posts → Trash the welcome post.
  • [ ] Enable HTTPS and force a redirect. In .htaccess:

``apache RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ``

  • [ ] Tighten CSP if you know which third-party domains you need. Settings → Security → Content Security Policy. Default is permissive; tightening is optional but cheap hardening.
  • [ ] Verify license is activated. Settings → License → Status: Active. If it says Unlicensed, paste your key and click Activate.

Content and SEO

  • [ ] Set the real site name and tagline. Settings → General → Site Title + Tagline. These appear in <title> tags, social cards, and emails.
  • [ ] Upload a default OG image. Settings → SEO → Default Open Graph Image. 1200x630 PNG or JPG. This shows when someone shares a URL without its own featured image.
  • [ ] Set the timezone. Settings → General → Timezone. Scheduled posts fire against this timezone — getting it wrong means posts publish hours off.
  • [ ] Add Google Search Console verification. Settings → SEO → Verification → Google Site Verification. Paste the meta tag content value.
  • [ ] Submit the sitemap to GSC. In Google Search Console: Sitemaps → Add a new sitemap → sitemap.xml. jekcms auto-generates this at /sitemap.xml — no plugin needed.
  • [ ] Connect analytics. Settings → Integrations → Google Analytics → Measurement ID (the G-XXXXXXXXXX format). jekcms injects the tag sitewide.
  • [ ] Review and delete unused theme files. Themes ship with demo content, placeholder images, and sample pages. Sweep themes/your-theme/demo/ and delete anything you don't use.

Email

  • [ ] Configure SMTP. Settings → Mailer → SMTP. PHP's mail() function is unreliable; SMTP is not. Any transactional provider works — SendGrid, Postmark, Mailgun, AWS SES.
  • [ ] Test the contact form end-to-end. Submit from the public site, confirm the email arrives in the admin inbox, reply, confirm the reply threads properly.
  • [ ] Send a test welcome email. Settings → Mailer → Send test email. If it lands in spam, set up SPF and DKIM at your DNS provider — instructions under the same page.

Automation and performance

  • [ ] Set up cron for scheduled tasks. Scheduled posts, email digests, and the sitemap rebuild all run from a cron hook. Add to the server crontab:

``bash * php /path/to/jekcms/cli.php cron:run >/dev/null 2>&1 ``

  • [ ] Warm the page cache. Tools → Cache → Warm cache. Pre-renders the top 200 pages so the first visitor after launch doesn't hit a cold cache.

Backups

  • [ ] Back up the database. mysqldump via cron, or the built-in Tools → Backup → Run now button. Store off-server (S3, Backblaze, anywhere not on the same machine).
  • [ ] Back up the config file and uploads. config/config.php holds your DB password and license key; uploads/ holds every image you ever uploaded. Back them up weekly at minimum.
  • [ ] Verify the backup restores. Download the backup to your laptop, spin up a local jekcms with install.php, restore the SQL dump. If it imports cleanly, your backup works. If it doesn't, fix it now, not during an emergency.

Final launch step

  • [ ] Flip DNS. Change your domain's A record (or CNAME) to point at the new server. Propagation is usually fast if your TTL was set low (300s) the day before.
  • [ ] Monitor for 30 minutes. Watch logs/php-errors.log and the live analytics dashboard. Most launch-day problems surface in the first half-hour.

If everything on this list is ticked, you're in good shape.

Be the first to know

New features, release notes & CMS guides — a couple of emails a month, no spam.