Support

Help Center

Find answers to your questions about jekcms

All Categories

Getting Started

jekcms is a blog CMS built with PHP 8.3 and MySQL 8. It is for anyone who wants a fast, SEO-first place to publish, without the overhead of large frameworks like WordPress. Key highlights: automatic AVIF/WebP image conversion, built-in Schema.org structured data, an n8n integration that delivers content as drafts for your editorial approval, 13 ready-made themes, bilingual support (Turkish + English), and a one-time payment model with lifetime access — no recurring subscriptions.
Minimum: PHP 8.0+, MySQL 5.7+ or MariaDB 10.3+, Apache with mod_rewrite, 256 MB RAM. Recommended for production: PHP 8.2+, MySQL 8, 512 MB+ RAM, SSD storage, LiteSpeed or Apache with OPcache enabled. The stack is intentionally lean — a standard shared hosting plan is sufficient for most sites. No Node.js, Redis, or Docker required.
Yes. Starting from v2.0.1, every open post editor autosaves every 30 seconds to the server, with a localStorage backup in the browser for offline edits. You will see a small status pill in the bottom-right corner: "Saving…" → "Saved · 15:42". If you accidentally close the tab with unsaved changes, jekcms will prompt you to restore when you reopen the post. No more lost work.
Use the Preview Link button in the post editor (right panel, next to slug). It generates a 48-character secret token and copies a shareable URL to your clipboard. Anyone with the link can view the draft — no login required. An orange banner on the preview page indicates unpublished content. Search engines are blocked via X-Robots-Tag: noindex. Revoke access anytime by regenerating the token.

Installation

  1. Create an account on jekcms.com and pick a licence — free or paid.
  2. From your customer panel, download two files: the package (.zip) and the setup wizard (jekcms-install.php).
  3. Upload both to your hosting root (usually public_html). Do not extract the zip — the wizard does that.
  4. Open yourdomain.com/jekcms-install.php in a browser. The wizard checks your server, asks for your database details, then your site name, theme and admin account — and installs everything. It deletes itself when it is done.
  5. Log in to the admin panel and enter your licence key on the Licence page.
About 30 minutes from download to your first post.
Yes. The shortest route is the jekcms Migrator plugin: install it on WordPress, press one button, and it packs the whole site into a single zip — posts, pages, drafts, the category and tag tree, authors, approved comments, menus, media files and your SEO fields from Yoast, Rank Math or All in One SEO, plus a redirect map so old addresses reach the new ones. You never hand over database credentials, and large sites export in rounds that resume where they left off. Upload that zip in the jekcms wizard and the import runs the same way. Two older routes remain for sites where you cannot install anything: (1) SQL → CSV — the wizard hands you a ready-made query to run in phpMyAdmin; (2) the WordPress REST API, if /wp-json/wp/v2/posts is open. Media is downloaded from your WordPress URLs and re-encoded locally to WebP/AVIF in every route. Plugin shortcodes, page-builder markup and custom fields do not come across — comments do, through the plugin route.
Your licence key — free or paid — lives on the My Licences page of your customer panel. To activate: open the Licence page in your admin panel, paste the key and click Activate. A key binds to one domain. If you need to move to another domain, deactivate the licence from your customer panel and activate it on the new domain; open a support ticket if you get stuck.
The free edition runs one site, ships three themes, and leaves the plugins and theme customizer closed. Across the paid plans the features and support are identical — the only difference is how many sites you can install: Personal 1, Standard 3, Pro 10, Unlimited unlimited. You manage every licence from your customer panel.

Themes

Go to Admin Panel > Appearance > Themes. Browse available themes, preview them with your content, and click "Activate" to apply. All themes are responsive and customizable through the Theme Options panel.
Absolutely! Each theme includes extensive customization options: colors, fonts, layouts, header/footer styles, and more. For advanced customization, you can create a child theme or use the built-in CSS editor.
jekcms comes with 13 ready-made themes covering various industries: technology, lifestyle, food, travel, business, portfolio, and more. Every paid plan includes all 13 themes — plans differ only in how many sites you can license. The free edition includes 3 themes.

n8n Integration

n8n is a self-hostable workflow automation platform (like Zapier, but open-source and free to self-host). jekcms integrates with n8n via its REST API and webhook system. A typical workflow: n8n receives a trigger (schedule, RSS feed, webhook) → calls an AI model (OpenAI, Gemini, Claude) to generate article content → generates a cover image → sends the article to jekcms via POST /api/v1/posts → optionally shares to social media. This enables a fully automated content pipeline with zero manual steps after setup.
  1. In jekcms admin, go to Settings → API and generate a new API key. Copy it.
  2. Install n8n (self-hosted via Docker or use n8n.cloud).
  3. Create a new workflow in n8n. Add an HTTP Request node.
  4. Set Method: POST, URL: https://yourdomain.com/api/v1/posts
  5. Add header: X-API-Key: your_api_key_here
  6. Set Body Type to JSON and map fields: title, content, excerpt, category_id, status.
  7. Test with a manual trigger first, then set up your automation trigger (Schedule, Webhook, etc.).
Need a ready-made template? Contact support — we provide starter workflow JSON files.
Yes. The recommended stack: n8n (orchestration) + OpenAI GPT-4o or Google Gemini (text) + Gemini Image API or DALL-E (cover image) + jekcms API (publishing). n8n handles the full pipeline: keyword trigger → AI writes title + content + SEO meta → AI generates a cover image → image is uploaded to jekcms via POST /api/v1/media → article is published via POST /api/v1/posts. Articles can be published immediately or set to "draft" for review. Average pipeline time: 45–90 seconds per article.
  1. Go to Admin → Settings → API and click "Generate API Key". Copy the key immediately — it is only shown once.
  2. Include the key in every request as a header: X-API-Key: your_key_here
  3. Base URL format: https://yourdomain.com/api/v1/
  4. All responses are JSON with a status field ("ok" or "error").
Quick test: curl -H "X-API-Key: KEY" https://yourdomain.com/api/v1/stats — should return site statistics. See the full API Reference for all endpoints, parameters, and response schemas.
Core endpoints: GET/POST /api/v1/posts, GET/PUT/DELETE /api/v1/posts/{id}, POST /api/v1/media (image upload with auto AVIF/WebP conversion), GET /api/v1/categories, POST /api/v1/webhook/trigger, GET /api/v1/stats. All list endpoints support page, per_page (max 100), status, category, search, order, and order_by parameters. See the API Reference page for full schemas and examples.
Default limit: 100 requests per minute per API key. Every response includes rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, and Retry-After (on 429). For n8n workflows making many requests, add a Wait node between calls or batch your POST requests. If you need higher limits for a large automation project, contact support.

Troubleshooting

Check the following: 1) Ensure the uploads folder has correct permissions (755). 2) Verify the image path in database matches file location. 3) Check if AVIF/WebP conversion completed successfully. 4) Clear browser cache and try again.
This error occurs when output is sent before headers. Common causes: 1) Whitespace before
Work through this checklist in order: (1) Images: Make sure all uploaded images are being served as AVIF or WebP — check Admin → Media for any JPEGs that were not converted. (2) Cache: Enable page caching under Admin → Settings → Cache. (3) GZIP: Ensure GZIP/Brotli compression is active — check your hosting control panel or add AddOutputFilterByType DEFLATE text/html text/css application/javascript to .htaccess. (4) Database: Run Admin → Tools → Optimize Database to clear post revisions and orphaned meta. (5) PHP OPcache: Verify OPcache is enabled in your PHP configuration (check phpinfo()). (6) CDN: Put static assets (CSS, JS, images) behind a CDN like Cloudflare. (7) Error logs: A slow page often has a PHP notice or DB warning causing delay — check error_log.
Still need help? Our support team is here to assist you with any questions.
Contact Support

Go live today

Setup, content management, SEO and image optimization — all in one platform. Get started in 30 minutes.

View Pricing
  • Setup and live in 30 minutes
  • 13 ready-made themes
  • AVIF/WebP image optimization
  • Automatic SEO — Sitemap, Schema.org
  • Cookieless built-in analytics (ZeroTrack)

Be the first to know

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