פיתוח אתרים עם Kirby CMS: פתרון מפתח כולל עם אחריות ביצועים
זנחתם את מסד הנתונים? בעיה טיפוסית: MySQL צורך זיכרון, מיגרציות מאטות את הפיתוח, גיבויים שוקלים טונות. ב-WordPress, כל שאילתת מסד נתונים עלולה לגרום לבעיות N+1, במיוחד באתרים עם סוגי תוכן מותאמים רבים. Kirby CMS פותר זאת באופן קיצוני — תוכן בקבצים, פאנל ניהול מובנה, תבניות ב-PHP טהור. אין שאילתות SQL, אין מיגרציות סכמה, אין ייצואים מורכבים. אנו משתמשים ב-Kirby לאתרי תאגידים, פורטפוליו ובלוגים: לקוחות מקבלים אתר ללא דאגות מסד נתונים חודשיות, עם גיבוי פשוט — פשוט העתקת תיקייה. זה מפחית את עלות הבעלות הכוללת בטווח הארוך. חיסכון בעלויות אירוח של 200–500 דולר לשנה בהשוואה לפתרונות מבוססי MySQL. הגדירו את מבנה הקבצים פעם אחת, והתוכן מוכן לפרסום.
לצוות שלנו ניסיון של 5+ שנים בפיתוח Kirby וביצע 25+ פרויקטים, מפורטפוליו קטנים ועד קטלוגים גדולים. אנו שותף מוסמך של Kirby (מאז 2019). עם תמיכה ביותר מ-30 סוגי עמודים וזמינות של 99.9%, אנו מבטיחים ביצועים וקלות תחזוקה.
למה לבחור ב-Kirby CMS?
-
ללא מסד נתונים — תוכן בקבצי טקסט, מטמון עמודים בתיקיית
site/ ├── blueprints/pages/article.yml ├── controllers/blog.php ├── models/article.php ├── templates/article.php └── snippets/ content/ ├── home/home.txt └── blog/ ├── blog.txt └── 2024-01-15_first-post/article.txt. גיבוי הוא העתקת תיקייה. אין צורך במיגרציות. - פאנל גמיש — עורכים רואים רק את השדות שהגדרתם ב-Blueprints. שום דבר מיותר.
- ביצועים — Kirby יוצר מטמון סטטי, מגיש עמודים ללא הפעלת PHP. LCP ו-TTFB מינימליים (זמן תגובה ממוצע ממטמון מתחת ל-2 אלפיות השנייה). בפרויקטים אמיתיים, הפחתנו את TTFB ב-60%.
- התאמה אישית — תוספים, מודלים, בקרים, עמודים וירטואליים. הרחב כל פונקציונליות ללא פריצות.
- Headless כברירת מחדל — הוסיפו
# site/blueprints/pages/article.yml title: Статья columns: main: width: 2/3 sections: content: type: fields fields: title: { type: text, label: Заголовок, required: true } text: { type: writer, label: Текст, marks: [bold, italic, link, code] } cover: { type: files, label: Обложка, max: 1, query: page.images } sidebar: width: 1/3 sections: meta: type: fields fields: date: { type: date, label: Дата публикации, default: today } tags: { type: tags, label: Теги } seo_description: { type: textarea, label: SEO-описание, maxlength: 160 }לכל כתובת URL וקבלו API מוכן לפרונטאנד שלכם.
אם אתם צריכים אתר שאינו דורש תחזוקת מסד נתונים חודשית, צרו קשר — בואו נדון בפרטים.
כיצד אנו מיישמים פרויקטי Kirby
קחו דוגמה: בלוג מדיה עם שדות מותאמים אישית, תגיות ורשימת קריאה.
מבנה הפרויקט קפדני: <?php // site/controllers/blog.php return function ($page, $site) { $tag = param('tag'); $articles = $page->children()->listed() ->when($tag, fn($pages) => $pages->filterBy('tags', $tag, ',')) ->sortBy('date', 'desc') ->paginate(12); return [ 'articles' => $articles, 'pagination' => $articles->pagination(), 'activeTag' => $tag, 'allTags' => $page->children()->listed()->pluck('tags', ',', true), ]; }; , <?php snippet('header') ?> <article class="post"> <h1><?= $page->title()->html() ?></h1> <time datetime="<?= $page->date()->toDate('Y-m-d') ?>"><?= $page->date()->toDate('d.m.Y') ?></time> <div class="content"><?= $page->text()->kirbytext() ?></div> <?php if ($page->tags()->isNotEmpty()): ?> <footer class="tags"> <?php foreach ($page->tags()->split() as $tag): ?> <a href="<?= $site->url() ?>/blog/tag:<?= $tag ?>"><?= html($tag) ?></a> <?php endforeach ?> </footer> <?php endif ?> </article> <?php snippet('footer') ?> , controllers/, models/. קבצי תוכן הם Markdown עם YAML front matter.
site/
├── blueprints/pages/article.yml
├── controllers/blog.php
├── models/article.php
├── templates/article.php
└── snippets/
content/
├── home/home.txt
└── blog/
├── blog.txt
└── 2024-01-15_first-post/article.txtה-Blueprint מתאר שדות בפאנל — רק מה שהעורך צריך:
---
# site/blueprints/pages/article.yml
title: Статья
columns:
main:
width: 2/3
sections:
content:
type: fields
fields:
title: { type: text, label: Заголовок, required: true }
text: { type: writer, label: Текст, marks: [bold, italic, link, code] }
cover: { type: files, label: Обложка, max: 1, query: page.images }
sidebar:
width: 1/3
sections:
meta:
type: fields
fields:
date: { type: date, label: Дата публикации, default: today }
tags: { type: tags, label: Теги }
seo_description: { type: textarea, label: SEO-описание, maxlength: 160 }
---
הבקר מחלץ לוגיקה — מיון, סינון, פגינציה — מהתבנית:
<?php // site/controllers/blog.php
return function ($page, $site) {
$tag = param('tag');
$articles = $page->children()->listed()
->when($tag, fn($pages) => $pages->filterBy('tags', $tag, ','))
->sortBy('date', 'desc')
->paginate(12);
return [
'articles' => $articles,
'pagination' => $articles->pagination(),
'activeTag' => $tag,
'allTags' => $page->children()->listed()->pluck('tags', ',', true),
];
};התבנית מקבלת נתונים מוכנים — לוגיקה מינימלית:
<?php snippet('header') ?>
<article class="post">
<h1><?= $page->title()->html() ?></h1>
<time datetime="<?= $page->date()->toDate('Y-m-d') ?>"><?= $page->date()->toDate('d.m.Y') ?></time>
<div class="content"><?= $page->text()->kirbytext() ?></div>
<?php if ($page->tags()->isNotEmpty()): ?>
<footer class="tags">
<?php foreach ($page->tags()->split() as $tag): ?>
<a href="<?= $site->url() ?>/blog/tag:<?= $tag ?>"><?= html($tag) ?></a>
<?php endforeach ?>
</footer>
<?php endif ?>
</article>
<?php snippet('footer') ?>המודל מוסיף מתודות — readingTime(), relatedArticles() — ישירות לאובייקט העמוד.
אילו בעיות Kirby פותר טוב יותר מ-CMS אחרים?
| קריטריון | Kirby | WordPress | Drupal |
|---|---|---|---|
| תלות במסד נתונים | אין | MySQL | MySQL/PostgreSQL |
| זמן יצירת עמוד | ~2 אלפיות השנייה (ממטמון) – מהיר ב-95% | ~200–500 אלפיות השנייה | ~300–800 אלפיות השנייה |
| התאמת שדות | YAML blueprints | תוספים + ACF | ישויות |
| Headless מובנה | כן | דרך תוסף | דרך מודול |
| מורכבות תחזוקה | נמוכה (קבצים) | בינונית (DB + תוספים) | גבוהה |
לפרויקטים שבהם פשטות אירוח, מהירות טעינה ושליטה מלאה בנתונים חשובים, Kirby מנצח.
הגדרת שדות מותאמים אישית בפאנל
הגדרת שדות מותאמים אישית בפאנל
בפאנל Kirby, כל שדה מוגדר בקובץ YAML blueprint. לדוגמה, כדי להוסיף תגיות, פשוט ציינו את סוג tags. ניתן לקבץ שדות לעמודות, להגדיר ולידציה ותלות. זה נותן שליטה מלאה ללא קוד נוסף.
סיבות מדוע Kirby עולה על CMS מסורתיים
סיבות מדוע Kirby עולה על CMS מסורתיים
היעדר מסד נתונים מבטל השהיית שאילתות ותחרות נעילות. מטמון העמודים מאוחסן בקבצים, ובבקשות חוזרות PHP אף פעם לא מופעל. זה מניב זמני תגובה יציבים גם בעומס שיא. לדוגמה, בפרויקט עם 30+ עמודים, זמן יצירת עמוד ממוצע ממטמון הוא מתחת ל-2 אלפיות השנייה. בנוסף, העמודים הווירטואליים של Kirby מאפשרים מבני תוכן מורכבים ללא פגיעה בביצועים.
תהליך הפיתוח
- ניתוח — אנו לומדים תוכן, מבנה, זרימת משתמש. מזהים סוגי עמודים ושדותיהם.
- עיצוב blueprints — יצירת blueprints, נתיבים, מודלים. הגדרת קשרי עמודים באמצעות מתודות עמוד וסינון אוספים.
- עיצוב ופרונטאנד — רספונסיבי, עם מחשבה על ביצועים (LCP < 2.5 שניות).
- פיתוח תבניות — כתיבת תבניות PHP, בקרים, תוספים מותאמים אישית ונתיבים מותאמים.
- תוכן ובדיקות — העורך ממלא תוכן, אנו בודקים תצוגה בכל המכשירים.
- פריסה ואופטימיזציה — הגדרת מטמון, CDN (Cloudflare), הפעלת דחיסת Brotli, יישום יצירת אתר סטטי.
תוצרים
- תיעוד ארכיטקטורת Blueprint ומבנה תוכן.
- פיתוח תבניות ותוספים מותאמים אישית.
- אינטגרציה עם שירותים חיצוניים (API, טפסים, חיפוש).
- כוונון ביצועים והגדרת מטמון.
- גישה לפאנל ותיעוד ניהול.
- אחריות קוד ל-3 חודשים.
- סקריפט פריסה ודוח ביצועים.
- הדרכה לעורכי תוכן.
לוח זמנים ועלות
| סוג פרויקט | לוח זמנים | מחיר התחלתי |
|---|---|---|
| נחיתה / פורטפוליו (עד 5 עמודים) | 1–2 שבועות | $1,000 |
| אתר תאגידי (5–10 עמודים) | 2–3 שבועות | $2,500 |
| בלוג עם שדות מותאמים אישית | 2–4 שבועות | $3,000 |
| קטלוג עם סינון + חיפוש | 3–5 שבועות | $5,000 |
| Headless + פרונטאנד React | 4–8 שבועות | $7,000 |
העלות מחושבת באופן אישי לאחר בריף.
מוכנים להתחיל? צרו קשר — בואו נדון בפרויקט שלכם ונבחר את פתרון Kirby האופטימלי. קבלו ייעוץ היום. לקוחות סומכים עלינו עם אחריות שביעות רצון של 100%.







