v1.5.3
Feature
Auto-Seed Settings, Core Web Vitals, Update System & SEO Hardening
Added
8
- Settings Auto-Seed —
ensure_default_settings()automatically seedssite_nameandsite_alternate_nameinto the database on first page load. Cache-file based, zero performance impact after initial run. No more manual SQL for new sites - Migration System —
migrations/5_seo_settings_seed.phpcreated across all sites. Update system can now distribute database changes automatically - LCP Eager Loading — First post card image on page 1 gets
loading="eager" fetchpriority="high"across all theme architectures. Expected ~200-500ms LCP improvement - CLS Prevention —
widthandheightattributes added to all post card images. Eliminates layout shift completely - CSS Cache Busting —
?v=THEME_VERSIONparameter added to stylesheet links in starter theme headers - Update Server Connected —
api/updates/check.phpnow uses realUpdateManagerwith database queries instead of static stub response. Graceful fallback on connection errors - JekCMS Backlinks — All footer files across active sites, admin panels, and bundled themes now link to
jekcms.alfadizayn.comwith "JekCMS" anchor text andrel="noopener noreferrer" - Marketing SEO — Real favicon URL (SVG),
application-namemeta tag,theme-color, WebSite schemaalternateNameadded. Decorative text moved to CSS to prevent Google sitelink pollution
Fixed
6
- Sitemap pagination URLs removed —
?page=2,?page=3etc. no longer appear in homepage, category, tag, and author sitemaps. These thin pages wasted crawl budget - Thin tag pages now
noindex— Tag pages with fewer than 3 posts getnoindex, followviaoutput_robots_meta()to prevent thin content indexing - Markdown
# Headingnow renders as<h2>instead of<h1>— prevents double H1 on post pages where title is already H1 - SQL migration file
sql/v1.5.1-seo-site-names.sqldeleted — replaced by automaticensure_default_settings()mechanism - Marketing site favicon was data URI — Google requires real URL for SERP favicon display. Replaced with proper
/favicon.svg - Marketing site showed "Dashboard Posts Media Settings" as Google sitelinks — decorative text moved from HTML to CSS
content: attr(data-label)
Changed Files 18
includes/helpers.php
—
ensure_default_settings() + thin tag noindex + markdown H1→H2
includes/bootstrap.php
—
ensure_default_settings() call added
classes/Sitemap.php
—
Pagination URLs removed
migrations/5_seo_settings_seed.php
—
NEW — DB seed migration
version.json
—
v1.5.3, db_version 5
themes/*/partials/post-card.php
—
LCP eager + CLS dimensions
themes/*/templates/index.php
—
Featured image eager loading
themes/*/templates/archive.php
—
Card index parameter
themes/*/templates/header.php
—
CSS cache busting
themes/*/functions.php
—
render_post_card index param
themes/*/templates/footer.php
—
JekCMS backlink
admin/includes/footer.php
—
JekCMS backlink noreferrer
api/updates/check.php
—
Real UpdateManager connection
favicon.svg
—
NEW — Root favicon for Google SERP (marketing)
index.php
—
Mockup text → CSS data-label (marketing)
marketing-includes/header.php
—
Favicon + application-name + schema (marketing)
marketing-assets/css/main.css
—
Mockup nav CSS content rule (marketing)
changelog.php
—
v1.5.3 release entry (marketing)