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 theme, a real update-check server instead of a stub, and a handful of SEO cleanups (sitemap pagination noise, thin tag pages, a double-H1 bug).

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 theme, a real update-check server instead of a stub, and a handful of SEO cleanups (sitemap pagination noise, thin tag pages, a double-H1 bug).

What's Actually in 1.5.3

This is a reliability and SEO-hardening release, not a schema-markup overhaul. The headline changes: settings that seed themselves automatically, real Core Web Vitals improvements on post listings, a live update-check server, and a set of SEO cleanups across the sitemap and tag pages.

Settings Auto-Seed

ensure_default_settings() now automatically seeds site_name and site_alternate_name into the database on first page load, driven by a cache file so there's zero performance cost after the initial run. New sites no longer need manual SQL to get these values populated — and the migrations/5_seo_settings_seed.php migration distributes the same fix to existing installations through the standard update system.

LCP and CLS on Post Listings

The first post-card image on page 1 — the one most likely to be the page's Largest Contentful Paint element — now gets loading="eager" fetchpriority="high" across every bundled theme architecture, instead of being lazy-loaded like every other card. That's expected to shave roughly 200-500ms off LCP on a typical listing page. Alongside that, every post-card image now carries explicit width and height attributes, which removes layout shift from card grids entirely rather than just reducing it.

A Real Update-Check Server

api/updates/check.php previously returned a static stub response. It now queries the real UpdateManager against the database, with a graceful fallback if the connection fails — so "check for updates" in the admin panel reflects your installation's actual version state rather than a placeholder.

SEO Cleanups

  • Sitemap pagination noise removed?page=2, ?page=3, and similar paginated URLs no longer appear in the homepage, category, tag, and author sitemaps. Those thin pages were wasting crawl budget for no indexing benefit.
  • Thin tag pages now noindex — tag pages with fewer than 3 posts get noindex, follow via output_robots_meta(), so nearly-empty tag pages don't get indexed as thin content.
  • Fixed a double-H1 bug — a markdown # Heading inside post content used to render as <h1>, competing with the post title (already an H1). It now renders as <h2>.

Upgrade Notes

This release includes a database migration (migrations/5_seo_settings_seed.php), applied automatically through the standard update process — no manual SQL required. After updating, it's worth spot-checking a listing page to confirm the first card's image loads eagerly, and re-submitting your sitemap if you were relying on the old paginated sitemap entries for any reason.

Sources and verification

Verify release and technical details with these primary sources.

Written by

Celil Uyanıkoğlu

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.

See all posts →

Order Today

One-time payment, lifetime access. Setup in 30 minutes.

View Pricing
  • Setup and live in 30 minutes
  • 13 professional themes
  • AVIF/WebP image optimization
  • Automatic SEO — Sitemap, Schema.org
  • ZeroTrack cookieless analytics

Be the first to know

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