Poniżej konkretne, techniczne porównanie Kadence (Theme + Kadence Blocks) vs Elementor, bez marketingu i bez „religii builderów”. Skupia się dokładnie na tym, co faktycznie robi różnicę w wydajności i jakości kodu.
1. Architektura renderowania
🟢 Kadence
-
Oparte o natywne bloki Gutenberga
-
Render:
-
HTML generowany serwerowo (PHP) + zapisany w treści posta
-
React używany tylko w edytorze
-
-
Frontend:
-
praktycznie brak runtime JS do layoutu
-
Efekt:
➡ HTML istnieje bez JS
➡ Strona działa nawet przy wyłączonym JS
🔴 Elementor
-
Własny system widgetów (nie bloki WP)
-
Render:
-
layout + style + logika zależne od JS
-
-
Duża część struktury:
-
div-in-div-in-div
-
Efekt:
➡ JS jest krytyczny dla wyglądu
➡ więcej punktów awarii i opóźnień
2. DOM (ilość i głębokość)
🟢 Kadence
Przykład: sekcja z tekstem i przyciskiem
-
Minimalna liczba wrapperów
-
Logiczna struktura
-
Łatwe do nadpisania CSS-em
🔴 Elementor
Ten sam efekt:
-
2–3× więcej elementów DOM
-
większy koszt layout/reflow
-
trudniejsza ingerencja CSS
3. CSS – sposób ładowania
🟢 Kadence
-
CSS:
-
modularny
-
ładowany tylko dla użytych bloków
-
-
Styl:
-
głównie klasy
-
bardzo mało inline-style
-
-
Możliwość:
-
pełnego cache’owania
-
Efekt:
➡ mniejsze pliki
➡ brak CLS z powodu JS
🔴 Elementor
-
CSS:
-
globalny + per-strona
-
często generowany dynamicznie
-
-
Dużo:
-
inline-style
-
style=""w HTML
-
-
Styl zależny od JS
Efekt:
➡ większe CSS
➡ trudniejsze cache
➡ ryzyko CLS
4. JavaScript
🟢 Kadence
-
Frontend JS:
-
tylko jeśli dany blok go wymaga (np. slider)
-
-
Brak:
-
JS do layoutu
-
-
Brak:
-
frameworków na froncie
-
Typowo:
~5–20 KB JS (gzip)
🔴 Elementor
-
Zawsze ładowane:
-
core JS
-
frontend handlers
-
dependencies
-
-
JS:
-
obsługuje layout, animacje, breakpointy
-
Typowo:
~150–300 KB JS (gzip)
5. Core Web Vitals (praktyka, nie teoria)
🟢 Kadence
-
LCP:
-
szybki (HTML gotowy od razu)
-
-
CLS:
-
bardzo niski (brak JS layout shift)
-
-
INP:
-
świetny (mało JS)
-
Bez problemu: 90–100 / 100
(nawet bez „czarów”)
🔴 Elementor
-
LCP:
-
opóźniony przez CSS/JS
-
-
CLS:
-
częsty (fonty, inline-style, animacje)
-
-
INP:
-
cierpi przez JS
-
Typowo: 60–80
(po optymalizacji)
6. Kompatybilność z cache i optymalizacją
🟢 Kadence
-
Świetnie współpracuje z:
-
LiteSpeed Cache
-
Redis Object Cache
-
-
HTML:
-
stabilny
-
przewidywalny
-
🔴 Elementor
-
Cache:
-
często wymaga wykluczeń
-
-
Problemy:
-
dynamiczny CSS
-
warunki JS
-
7. Utrzymanie i przyszłość
🟢 Kadence
-
Zgodne z:
-
kierunkiem rozwoju WordPressa
-
-
Treść:
-
zostaje po wyłączeniu wtyczki
-
-
Łatwiejsza migracja
🔴 Elementor
-
Lock-in:
-
po wyłączeniu → „goły HTML bez stylu”
-
-
Silne uzależnienie od pluginu
TL;DR (techniczna konkluzja)
| Obszar | Kadence | Elementor |
|---|---|---|
| Render | PHP / blocks | JS / widgets |
| DOM | Płytki | Głęboki |
| CSS | Modularny | Dynamiczny |
| JS | Minimalny | Ciężki |
| CWV | Bardzo dobre | Wymaga walki |
| Cache | Bezproblemowy | Problematyczny |
| Lock-in | Niski | Wysoki |
Jedno zdanie, które idealnie oddaje różnicę
Kadence powstało w świecie Gutenberga i Core Web Vitals, a Elementor w świecie shortcodes i „byle działało na wszystkim”.