יצירת אתר סטטי עם Decap CMS: מערכת CMS ללא ראש על גבי Git
יש לך משימה: בלוג או אתר תיעוד, אבל אין אירוח למסד נתונים, ותקציב הקצה-אחורי הוא אפס. הפתרון הוא Decap CMS (לשעבר Netlify CMS). זוהי מערכת CMS ללא ראש מבוססת Git: התוכן מאוחסן במאגר כקבצי Markdown ו-YAML. אין מסד נתונים, אין קצה-אחורי נפרד—רק Git. העורכים עובדים בממשק דפדפן, לוחצים על "שמור", ומאחורי הקלעים מתבצע commit למאגר, ולאחר מכן CI/CD בונה מחדש את האתר המעודכן. הצוות שלנו עם ניסיון של למעלה מ-5 שנים משתמש בגישה זו בעשרות פרויקטים—מכרטיסי ביקור קטנים ועד פורטלים ארגוניים. לעיתים קרובות לקוחות מגיעים עם תלונות: מורכבות של WordPress, אירוח מסד נתונים יקר (לדוגמה, VPS ב-$30 לחודש), חוסר בגרסאות תוכן. Decap CMS פותר את הבעיות הללו, ומציע פתרון אירוח מובטח בעלות אפסית.
— תיעוד Decap CMS: "Decap CMS היא מערכת ניהול תוכן עבור מחולל האתר הסטטי שלך, המאפשרת לך לערוך תוכן בממשק ידידותי ולאחסן אותו במאגר Git."
למה לבחור ב-Dcap CMS על פני מערכות CMS ללא ראש אחרות?
Decap CMS זול פי 10 מפתרונות מתארחים כמו Contentful, ומהיר פי 2 להקמה מאשר Strapi. הוא מתאים לאתרים קטנים שבהם צוות הפיתוח מוכן למגבלות מודל ה-git: עורך לא יכול לעדכן עמוד ב-2 לפנות בוקר ולראות שינויים תוך 10 שניות—קודם כל, מתבצע build (1–3 דקות ב-Netlify/Vercel). אבל אין אירוח מסד נתונים, אין קצה-אחורי, אפס עלויות תשתית תפעולית. מחסנית טיפוסית: Next.js / Astro / Hugo + Decap CMS + Netlify/GitHub Pages.
| קריטריון | Decap CMS | Strapi | Contentful |
|---|---|---|---|
| אירוח | סטטי (GitHub Pages, Netlify) | VPS או ענן | SaaS |
| מסד נתונים | אין (Git) | PostgreSQL / SQLite | קנייני |
| מחיר | חינם | חינם לאירוח עצמי | מנוי בתשלום ($300+/חודש) |
| גרסאות | Git commits | באמצעות תוספים | מובנה |
| עורכים | עד 30–50 אנשים | כל מספר | לפי רישיון |
Decap CMS מנצח בפשטות ובעלות תשתית אפסית. אם אתה צריך זכויות גישה מורכבות או גישת API-first, Strapi מתאים יותר.
אילו סוגי אתרים מתאימים ל-Dcap CMS?
זוהי בחירה מצוינת עבור:
- בלוגים ואתרי חדשות עם תדירות פרסום של עד 10 מאמרים ביום.
- אתרי כרטיסי ביקור ודפי נחיתה עם תוכן מינימלי.
- תיעוד (לדוגמה, ב-Docusaurus או GitBook).
- פורטלים ארגוניים לשימוש פנימי שבהם אבטחה וביקורת שינויים חשובים.
לא מומלץ עבור: חנויות מקוונות עם עדכוני מחירים תכופים, אתרי מדיה עם תעבורה גבוהה, פרויקטים עם עשרות עורכים.
איך להתחיל: מדריך שלב-אחר-שלב
- בחר מחולל אתרים סטטי. Astro, Hugo או Next.js—כל אחד תומך בתוכן Markdown.
- צור תיקיית admin בתיקיית הציבורית של האתר עם
index.htmlו-config.yml. - הגדר את הקצה-אחורי (GitHub, GitLab או Git Gateway) ואוספי תוכן.
- הגדר CI/CD ב-Netlify או GitHub Actions כך שהאתר ייבנה מחדש אוטומטית לאחר כל commit.
- הוסף עורכים באמצעות OAuth והדריך אותם להשתמש בממשק.
התהליך כולו אורך 3 עד 7 ימים עבור בלוג פשוט.
הגדרת OAuth עבור GitHub ארגוני
Decap CMS תומך במספר קצוות-אחוריים לאימות:
- GitHub OAuth—באמצעות Netlify Identity או פרוקסי OAuth של צד שלישי.
- GitLab—באופן דומה.
- Git Gateway—פרוקסי ייחודי ל-Netlify שאינו דורש גישה ישירה למאגר.
עבור אירוח שאינו Netlify, השתמש בשרת OAuth נפרד:
backend: name: github repo: username/my-site base_url: https://your-oauth-server.com פרוקסי OAuth מינימליסטי על Express נפרס ב-Railway או Fly.io תוך 30 דקות.
מבנה הפרויקט
my-site/
├── public/
│ └── admin/
│ ├── index.html # Интерфейс CMS
│ └── config.yml # Конфигурация коллекций
├── content/
│ ├── posts/
│ │ ├── first-post.md
│ │ └── second-post.md
│ └── pages/
│ └── about.md
├── src/
│ └── ... # Код фронтенда
└── astro.config.mjsנקודת הכניסה של ה-CMS היא סקריפט CDN ב-backend: name: github repo: username/my-site base_url: https://your-oauth-server.com . אין חבילות npm לממשק—פשוט טען את my-site/ ├── public/ │ └── admin/ │ ├── index.html # Интерфейс CMS │ └── config.yml # Конфигурация коллекций ├── content/ │ ├── posts/ │ │ ├── first-post.md │ │ └── second-post.md │ └── pages/ │ └── about.md ├── src/ │ └── ... # Код фронтенда └── astro.config.mjs מ-CDN.
הגדרת אוספים
---
# public/admin/config.yml
backend:
name: github
repo: username/my-site
branch: main
media_folder: public/images/uploads
public_folder: /images/uploads
locale: ru
collections:
- name: posts
label: Статьи
folder: content/posts
create: true
slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
fields:
- { label: Заголовок, name: title, widget: string }
- { label: Дата публикации, name: date, widget: datetime }
- { label: Обложка, name: cover, widget: image, required: false }
- { label: Описание, name: description, widget: text, required: false }
- { label: Теги, name: tags, widget: list, required: false }
- { label: Контент, name: body, widget: markdown }
- name: pages
label: Страницы
files:
- label: О нас
name: about
file: content/pages/about.md
fields:
- { label: Заголовок, name: title, widget: string }
- { label: Контент, name: body, widget: markdown }
קריאת תוכן ב-Astro
// src/pages/blog/[slug].astro
---
import { getCollection } from 'astro:content'
export async function getStaticPaths() {
const posts = await getCollection('posts')
return posts.map(post => ({
params: { slug: post.slug },
props: { post },
}))
}
const { post } = Astro.props
const { Content } = await post.render()
---
<article>
<h1>{post.data.title}</h1>
<time>{post.data.date.toLocaleDateString('ru-RU')}</time>
<Content />
</article> המקרה המעשי שלנו: פורטל תיעוד (מהניסיון שלנו)
עבור אחד הלקוחות שלנו—פורטל תיעוד טכני עם למעלה מ-50 עמודים—ביצענו הגירה מאתר WordPress עם מסד נתונים MySQL לאתר סטטי שנבנה עם Astro ו-Dcap CMS. הפרויקט דרש בעבר VPS ב-$30 לחודש עבור מסד הנתונים והקצה-אחורי, והעורכים נאבקו עם ממשק הניהול האיטי של WordPress. לאחר ההגירה:
- עלויות האירוח ירדו לאפס (GitHub Pages).
- זמן ה-build ירד ב-75% (מ-8 דקות ל-2 דקות) באמצעות builds מצטברים של Astro.
- העורכים עובדים כעת בממשק נקי ומהיר עם תצוגה מקדימה בזמן אמת.
- כל שינוי מתועד בגרסאות ב-Git—חזרה לאחור היא commit revert יחיד.
מקרה זה מדגים את המומחיות המובטחת שלנו ואת הניסיון המוכח שלנו עם מערכות CMS ללא ראש.
תהליך העבודה
| שלב | מה אנחנו עושים | תוצאה |
|---|---|---|
| ניתוח | לימוד דרישות, תוכן, עיצוב | מפרט טכני |
| עיצוב | בחירת מחסנית, עיצוב אוספים | ארכיטקטורת פרויקט |
| יישום | הגדרת CMS, פיתוח רכיבים | סביבת עבודה |
| בדיקות | בדיקת build, אימות, עורך | דוח בדיקות |
| פריסה | הגדרת CI/CD, חיבור דומיין | אתר חי |
מה כלול ותוצרים
- פיתוח קצה-אחורי: הגדרת Decap CMS, הגדרת אימות OAuth.
- אינטגרציה עם מחולל אתרים סטטי (Astro, Next.js, Hugo).
- הגדרת CI/CD לבנייה ופריסה אוטומטית.
- תיעוד מפורט על מבנה התוכן ונהלי פריסה.
- מתן אישורי גישה למנהל וגישה למאגר.
- הדרכת עורכים (1–2 שעות) על שימוש בממשק ה-CMS.
- חודש תמיכה לאחר ההשקה—תיקוני באגים והתאמות קטנות.
לוחות זמנים: אתר כרטיס ביקור או בלוג—3–7 ימים; אתר ארגוני עם 5–8 סוגי עמודים, ווידג'טים מותאמים אישית ו-CI/CD—2–3 שבועות.
בקש ייעוץ
צור קשר—נספר לך אם Decap CMS מתאים למשימות שלך, נעריך לוחות זמנים ועלות. אנחנו עוסקים בפיתוח אתרים למעלה מ-5 שנים והשלמנו יותר מ-50 פרויקטים על מערכות CMS ללא ראש. קבל ייעוץ על הפרויקט שלך.







