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.

58 posts · writing since 2025

Posts (page 2 of 3 · 58 posts total)

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

How to turn the JekCMS Personal theme into a developer portfolio with project showcase, skills timeline, dark mode, and a 96 PageSpeed score.

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 c

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 — and th

Tutorials 13 min

AVIF Conversion in JekCMS: How the Pipeline Actually Works

jekcms converts uploads to AVIF and WebP automatically and generates seven size variants per image. Here's what the pipeline actually does — and what

Guides 10 min

JekCMS Theme File Structure: Why We Chose This Architecture

When designing the JekCMS theme system, we evaluated six architecture patterns used by WordPress, Ghost, Kirby, Statamic, October CMS, and Bolt. The l

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 for JekCMS: A Production-Ready Template

jekcms ships a real, production Content Security Policy — not a strict template, and not a marketing claim. Here's exactly what it blocks, what it del

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 mechanism moves LCP, CLS and TBT — and which numbers I refuse to invent.

Tutorials 11 min

jekcms Database Schema: What's Actually in It

jekcms's database uses close to two dozen tables to model content, users, media, and settings — no separate taxonomy layer, no WordPress-style options

Tutorials 14 min

Scheduled Publishing in JekCMS: How It Works Under the Hood

jekcms doesn't use a cron daemon by default for scheduled posts — it falls back to a lightweight, throttled visitor-triggered check (PseudoCron) that

Guides 18 min

Corporate Blogging With jekcms: An Editorial Process and Measurement Plan

A practical framework for running a corporate blog on jekcms: how to structure content briefs, build internal linking into your process, set up a two-

Guides 16 min

Running Dual-Language Content in JekCMS: A Practical Workflow

jekcms core runs one site in one language -- there is no built-in multi-language post system. This guide covers the two real options: separate install

Guides 20 min

Managing Multiple jekcms Clients: An Agency Playbook

Running jekcms across a client portfolio involves more than technical setup. You need a reliable deployment process, a way to push updates without bre

Be the first to know

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