Celil Uyanıkoğlu

Celil Uyanıkoğlu

Computer engineer · creator of jekcms

Computer engineer with 25+ years in IT. He builds jekcms and runs his own network of content sites on it - every guide published here is tried on those live installs first.

63 posts · writing since 2025

Posts (page 2 of 3 · 63 posts total)

Tutorials 11 min

Building a Dental Clinic Website Step by Step

Dental clinic sites need service pages, doctor profiles, and a before/after gallery -- none of which need a dedicated database table in jekcms. Here's

Guides 12 min

Media Management: AVIF, WebP and Thumbnail Generation

jekcms converts every uploaded image to AVIF (quality 60) and WebP (quality 82), creates four sizes and prints a picture tag that lets the browser pic

Tutorials 12 min

Dark Mode Implementation: A Complete CSS Guide

A practical walkthrough of building dark mode with CSS custom properties, localStorage persistence, smooth transitions, and image handling. Includes a

Tutorials 8 min

Keyboard Shortcuts and Practical Tips for the jekcms Admin Panel

The shortcuts that save the most time in the panel: Ctrl+K search, find and replace in the editor, undo in the theme customiser and bulk selection in

Guides 10 min

Automated Backups and Disaster Recovery Strategy

A practical backup system using mysqldump, cron, and offsite rotation: plus the disaster recovery plan we actually tested by destroying a staging serv

Guides 11 min

Rate Limiting and Brute Force Protection in jekcms

How jekcms tracks failed login attempts and automatically blocks abusive IPs to stop brute force attacks: no Redis, memcached, or external dependency

Tutorials 10 min

Building a Portfolio Site with the Personal Theme

The jekcms Personal theme is an author-led personal blog theme. You can build a simple portfolio with it by putting your projects in a category and te

News 11 min

jekcms 1.5.3: Auto-Seed Settings, Core Web Vitals, Update System & SEO Hardening

1.5.3 is a focused reliability release: settings that seed themselves on first load, first-image LCP eager loading and CLS dimensions across every the

Guides 6 min

Multilingual SEO: The hreflang and Canonical Strategy We Rebuilt After an 87-Page Failure

All 87 of our docs pages declared the same two hreflang URLs, so Google ignored the lot. The path-derived fix, localized TR slugs, x-default and ?lang

Tutorials 11 min

jekcms Doesn't Have Shortcodes: Here's What You Get Instead

jekcms has no [shortcode] parser, no ShortcodeParser class, and no bracket syntax anywhere in the editor. That's a deliberate gap, not a missing featu

Tutorials 12 min

jekcms Webhook Security: HMAC Signing and Verification in PHP

A practical guide to webhook security in jekcms: how the built-in HMAC-SHA256 signature check works, why hash_equals matters, and how to add optional

Guides 12 min

Image Lazy Loading and CLS Prevention: A Practical Performance Guide

How jekcms handles image performance: native lazy loading, automatic width/height and fetchpriority for the LCP image via an output filter, and automa

Tutorials 11 min

Building a Restaurant Website with jekcms

A practical guide to building a restaurant site with jekcms using what actually ships: standard posts and settings, real schema output, and theme-leve

Updates 10 min

jekcms v1.5.0: Duplicate Prevention, Smart Thumbnails & Admin Tools

Version 1.5.0 adds automatic duplicate post detection across all API webhooks, a built-in duplicate finder tool in the admin panel, and intelligent fe

Updates 12 min

jekcms v1.4.0: SEO Overhaul, Content Optimizer, Breadcrumbs & Table of Contents

Version 1.4.0 is a SEO-focused release: standardized meta/Open Graph/Schema.org output, automatic breadcrumbs and table of contents, a dictionary-base

News 9 min

Introducing the Theme Customizer: Restyle Your Site Without Touching a File

The Theme Customizer is jekcms's schema-driven styling panel: the active theme declares its options, the customizer renders the matching form (colors,

Updates 15 min

jekcms v1.4.0: What to Check After You Upgrade

1.4.0 doesn't introduce breaking changes to your theme code or content: it's a SEO- and content-tooling release. Here's the practical checklist for co

Guides 18 min

Automating Content With n8n and the jekcms Publish API

jekcms's publish API connects to n8n with just a handful of workflow nodes: handling media uploads, setting categories, and following your publishing

Guides 6 min

SEO Audit Findings: The Errors That Keep Coming Back on My 14 jekcms Sites

Repeated audits of my own 14-site jekcms fleet keep finding the same things: empty legal pages, soft-404s, broken hreflang, spammy auto-links. Here ar

Tutorials 13 min

AVIF Conversion in jekcms: How the Pipeline Actually Works

jekcms converts uploaded images to AVIF and WebP and creates four sizes. What the server needs, the quality settings, how the browser picks the right

Guides 10 min

jekcms Theme File Structure: Why We Chose This Architecture

Which files a jekcms theme contains, which template each page loads, and why we use plain PHP instead of a template engine.

Tutorials 7 min

Running jekcms on Shared Hosting: A Realistic Performance Guide from 14 Live Sites

All 14 of my jekcms sites run on shared hosting behind Cloudflare: the biggest has 2,300+ posts. What actually matters for speed, first-hand.

Guides 6 min

Content Security Policy in jekcms: What It Sends and How to Tighten It

What the CSP header jekcms sends by default restricts, what it deliberately leaves open, and how to narrow the policy step by step on your own site.

Guides 7 min

Migrating 3,000 Posts from WordPress: What I Learned

I moved around 3,000 posts from my own WordPress sites into jekcms. The SQL-to-CSV import flow, plus what actually hurt: encoding, images, slugs.

Tutorials 6 min

How jekcms Hit a 97 Mobile PageSpeed Score on Shared Hosting

A real 97 mobile PageSpeed score on shared hosting. Which jekcms mechanisms move LCP, CLS and TBT, and which numbers I refuse to invent.

Be the first to know

New features, release notes and CMS guides. We send a couple of emails a month.