guides

Directus CMS Rehberi: Geliştiriciler İçin Veritabanı Öncelikli Headless CMS

Yazan Mert Batur
Apr 6, 2026
12 okuma
Directus CMS Rehberi: Geliştiriciler İçin Veritabanı Öncelikli Headless CMS

Directus CMS Rehberi: Geliştiriciler İçin Veritabanı Öncelikli Headless CMS

Çoğu headless CMS, veri modelinizi kendi sistemi içinde oluşturmanızı ister. Directus bunu tersine çevirir — mevcut SQL veritabanınızı sarar ve şemanıza dokunmadan anında REST ve GraphQL API'leri sunar. ~34,5 bin GitHub yıldızıyla Tripadvisor, Adobe ve Mercedes-Benz gibi şirketlerin benimsediği Directus, 2026'nın en iyi headless CMS seçenekleri arasında en yetenekli açık kaynak alternatiflerinden biridir.

ÖzellikDetay
TürAçık kaynak headless CMS
MimariVeritabanı öncelikli (mevcut SQL veritabanlarını sarar)
VeritabanlarıPostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB, MS-SQL
API'lerREST + GraphQL (eş zamanlı)
Kendi Barındırma$5M gelirin altında ücretsiz (MIT lisansı)
CloudAylık $25'tan itibaren
Yapay Zeka ÖzellikleriMCP sunucusu, Yapay Zeka Asistanı (çok sağlayıcılı)
İşbirlikçi Düzenlemev11.15'ten itibaren yerel özellik
En İyi KullanımMevcut veritabanları olan ekipler, API öncelikli projeler
İdeal Olmayan DurumlarGörsel sayfa oluşturma, NoSQL, basit bloglar
GitHub~34,5 bin yıldız
Son Sürümv11.16 (Nisan 2026)

Directus CMS Nedir?

Directus, mevcut herhangi bir SQL veritabanını anında REST ve GraphQL API'leriyle saran açık kaynak bir headless CMS'tir. Strapi veya Payload'ın aksine, Directus kendi veritabanı şemasını oluşturmaz — sizin şemanızı yansıtır. Directus'un resmi dokümantasyonuna göre PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB ve MS-SQL dahil 7 veritabanını destekler ve $5M gelirin altındaki kuruluşlar için ücretsizdir.

Bunu veritabanınızın üzerinde duran akıllı bir katman olarak düşünebilirsiniz. 50 tabloya sahip mevcut bir PostgreSQL veritabanı getiriyorsunuz, Directus'u buna yönlendiriyorsunuz ve dakikalar içinde tam bir yönetici arayüzüne, rol tabanlı erişim kontrolüne ve hem REST hem de GraphQL uç noktalarına sahip oluyorsunuz. Hiçbir göç betiği yok. Hiçbir veri yeniden yapılandırması yok.

Pratikte "veritabanı öncelikli" kavramı tam olarak budur ve bu, Strapi'nin kullandığı kod öncelikli yaklaşımdan (içerik türleri tanımlarsınız, Strapi veritabanı tablolarını oluşturur) ya da Payload CMS'in çerçeve içine gömülü yaklaşımından (CMS Next.js uygulamanızın içinde yaşar) temelden farklıdır.

Veritabanı Öncelikli Mimari Açıklandı

Bir istemci projesi için Directus'u mevcut bir PostgreSQL veritabanına ilk bağladığımızda, kurulumun ne kadar az şey gerektirdiği bizi şaşırttı. Directus, veritabanı şemanızı içgözlem yapar — tablolar "koleksiyon"lara, sütunlar "alanlara" dönüşür — ve zaten var olanlardan yönetici arayüzünü oluşturur.

Bu, verilerinizin hiçbir zaman tescilli bir biçimde kilitlenmediği anlamına gelir. Yarın Directus kullanmayı bırakırsanız, veritabanınız hâlâ standart bir SQL veritabanı olmaya devam eder. İçeriğinizin kendi sunucularında kendi biçimlerinde yaşadığı Contentful veya Sanity ile bunu yapmayı deneyin.

Directus aynı zamanda sadece bir CMS de değildir. Ekip onu bileşimsel bir veri platformu olarak konumlandırıyor — insanlar bunu BaaS (Hizmet Olarak Backend), dahili yönetici panelleri ve özel gösterge panelleri için kullanıyor. CMS kullanımı en popüler olanı, ancak mimari çok daha fazlasını destekliyor.

Directus'un Temel Özellikleri

Directus çift REST ve GraphQL API'leri, ayrıntılı rol tabanlı izinler, yerleşik Flows otomasyonu, sürükle-bırak Data Studio, dijital varlık yönetimi ve 50'den fazla dil için yerel i18n desteği sunar. v11.15'ten itibaren işbirlikçi düzenleme ve Yapay Zeka Asistanı — üçüncü taraf eklentiler değil, yerel özellikler olarak — dahil edilmektedir.

Bir proje için Directus'u değerlendiriyorsanız en önemli olanlar şunlardır:

Çift REST ve GraphQL API'leri

Her iki API da aynı veriden, sıfır yapılandırmayla eş zamanlı olarak kullanılabilir. Birini ya da diğerini seçmezsiniz — ikisini birden alırsınız. Mobil ekibiniz REST kullanırken web ön yüzünüz GraphQL kullanabilir. REST API öngörülebilir bir kalıp izler (/items/{koleksiyon}) ve GraphQL uç noktası /graphql adresinde bulunur.

Flows ve Otomasyon

Flows, Data Studio arayüzüne doğrudan yerleştirilmiş Directus'un olay güdümlü otomasyon sistemidir. CRUD olaylarında (öğe oluşturuldu, güncellendi, silindi), zamanlamalarda (cron stili) veya webhook'larda iş akışlarını tetikleyebilirsiniz. İşlemler arasında e-posta gönderme, HTTP istekleri yapma, özel JavaScript çalıştırma ve veri dönüştürme yer alır.

Yapay zeka ile geliştirme yapan ekipler için Directus'un yerel bir Model Context Protocol (MCP) rehberi sunucusu bile var — ancak buna v11 bölümünde döneceğiz.

Uzantılar ve Özelleştirme

Uzantı sistemi hook'ları (sunucu tarafı olay işleyicileri), özel uç noktaları, UI panellerini, tam modülleri ve Flows için işlem düğümlerini destekler. Uzantılar, ön yüz için Vue.js ve arka yüz için düz Node.js ile oluşturulur. v11.0 sürümü, uzantıları tür tabanlı klasörlerden daha temiz bir paketlenmiş biçime yeniden yapılandırdı.

Directus'un rakiplere kıyasla özellikleri şöyle:

ÖzellikDirectusStrapiPayloadSanity
Veritabanı Desteği7 SQL veritabanıPostgreSQL, SQLiteMongoDB, PostgreSQLBarındırılmış (tescilli)
API TürüREST + GraphQLREST (GraphQL eklentisi)Local API + REST + GraphQLGROQ + GraphQL
Kendi BarındırmaEvet (ücretsiz, <$5M)Evet (ücretsiz)Evet (ücretsiz)Hayır
Görsel OluşturucuData Studio (veri odaklı)Content-Type BuilderLive PreviewSanity Studio
i18nYerel (50+ dil)Eklenti tabanlıAlan düzeyiBelge düzeyi
OtomasyonFlows (yerleşik)Yaşam döngüsü hook'larıHook'lar + JobsGROQ destekli webhook'lar
Fiyatlandırma ModeliGelir tabanlı ($5M eşiği)Koltuk tabanlıÜcretsiz + CloudKullanım tabanlı

Directus v11'deki Yenilikler (2025-2026)

Directus v11; yerel MCP sunucu desteği (v11.13), OpenAI, Anthropic ve Gemini destekli Yapay Zeka Asistanı (v11.14), canlı varlık göstergeleriyle işbirlikçi düzenleme (v11.15) ve rol tabanlı dağıtım izinleriyle küresel taslak sürümleri (v11.16) sundu. Bunların hepsi yerleşik özelliklerdir, topluluk uzantıları değil.

Directus'un en hızlı ilerlediği alan burası ve rakip rehberlerin büyük çoğunluğunun gözden kaçırdığı bölüm de tam olarak bu. İlk sırada yer alan altı rehberin yalnızca biri bunlardan herhangi birini ele almaktadır.

MCP Sunucusu ve Yapay Zeka Asistanı

v11.13 sürümü, Directus'u yerel MCP sunucusuna sahip ilk CMS'lerden biri haline getirdi. Claude, ChatGPT veya MCP uyumlu herhangi bir yapay zeka aracı kullanıyorsanız, bu araçlar Directus içeriğinizi doğrudan yönetebilir — koleksiyonları okuyabilir, öğeler oluşturabilir, alanları güncelleyebilir — ve tüm bunları RBAC izinlerinize saygı göstererek yapar. MCP'ye yeniyseniz, Model Context Protocol (MCP) rehberimiz protokolü ayrıntılı olarak açıklamaktadır.

Yapay Zeka Asistanı (v11.14), MCP'den ayrıdır — OpenAI, Anthropic, Gemini ve hatta Ollama aracılığıyla yerel modelleri destekleyen Data Studio içinde yerleşik bir sohbet arayüzüdür. v11.16'ya gelindiğinde çok modlu hale geldi: işleme için görüntüleri ve PDF'leri doğrudan yapay zeka sohbetine yükleyebilirsiniz.

İşbirlikçi Düzenleme ve Taslak Sürümler

İşbirlikçi düzenleme v11.15'te canlı varlık göstergeleriyle (aynı öğeyi başka kimin düzenlediğini görebilirsiniz) ve çakışmaları önlemek için alan düzeyi kilitlemeyle hayata geçti. Aynı sürüm, rol tabanlı dağıtım izinleriyle birlikte Vercel dağıtım modülünü de ekledi.

v11.16, küresel taslak sürümlerle içerik hazırlamayı daha da ileri götürdü. Her sürümlü öğe otomatik olarak bir taslak kopya alır. Editörler değişiklikleri canlı sürüme karşı önizleyebilir ve hazır olduğunda taslakları yayına alabilir. Rol tabanlı dağıtım izinleri, içerik ekibinizin production'a yanlışlıkla bir şey göndermeden değişiklikleri hazırlayabilmesi anlamına gelir.

SürümTarihTemel Özellikler
v11.02024Yeni uzantı sistemi, paketlenmiş biçim
v11.13Kas. 2025Yerel MCP sunucu desteği
v11.14Ara. 2025Yapay Zeka Asistanı (çok sağlayıcılı), başlık arayüzü
v11.15Şub. 2026İşbirlikçi düzenleme GA, Yapay Zeka Asistanı GA, Vercel dağıtımları
v11.16Nis. 2026Küresel taslak sürümler, çok modlu yapay zeka, rol tabanlı dağıtım

Directus'a Başlarken (Docker Kurulumu)

Directus'u Docker ile 2 dakikadan kısa sürede yerel olarak çalıştırabilirsiniz. directus/directus imajıyla bir docker-compose.yml dosyası oluşturun, veritabanı bağlantısını ve yönetici kimlik bilgilerini ortam değişkenleri olarak ayarlayın, ardından docker compose up komutunu çalıştırın. Directus localhost:8055 adresinde başlar.

Docker kurulumu sıfırdan başlayarak 2 dakikadan az sürdü. Yalnızca Directus kapsayıcısı değil, tam yığınla birlikte PostgreSQL dahil eksiksiz bir docker-compose.yml şu şekildedir:

yaml
# docker-compose.yml
version: "3"
services:
  database:
    image: postgis/postgis:16-3.4-alpine
    environment:
      POSTGRES_USER: directus
      POSTGRES_PASSWORD: directus
      POSTGRES_DB: directus
    volumes:
      - directus_data:/var/lib/postgresql/data

  directus:
    image: directus/directus:11.16
    ports:
      - "8055:8055"
    depends_on:
      - database
    environment:
      KEY: "your-random-key-here"
      SECRET: "your-random-secret-here"
      ADMIN_EMAIL: "[email protected]"
      ADMIN_PASSWORD: "change-me-please"
      DB_CLIENT: "pg"
      DB_HOST: "database"
      DB_PORT: "5432"
      DB_DATABASE: "directus"
      DB_USER: "directus"
      DB_PASSWORD: "directus"
    volumes:
      - directus_uploads:/directus/uploads

volumes:
  directus_data:
  directus_uploads:

Çalıştırın:

bash
docker compose up -d

http://localhost:8055 adresini açın, ayarladığınız yönetici kimlik bilgileriyle giriş yapın ve Data Studio'ya geçin. Buradan koleksiyonlar (tablolar) oluşturabilir, alanlar (sütunlar) tanımlayabilir ve hemen içerik yönetimine başlayabilirsiniz. KEY ve SECRET ortam değişkenleri JWT token üretimi için kullanılır — production'da yukarıdaki yer tutucular değil, rastgele dizeler kullanın.

Directus SDK ile Veri Sorgulama

Directus JavaScript SDK, hem REST hem de GraphQL aracılığıyla verilerinize tür güvenli erişim sağlar. @directus/sdk paketini yükleyin, createDirectus() ile bir istemci oluşturun ve yerleşik filtreleme, sıralama ve alan seçimiyle koleksiyonları getirmek için readItems() kullanın.

SDK'nın bileşimsel kalıbı, Supabase'in istemcisi gibi kütüphanelerle çalıştıktan sonra sezgisel geldi. Temel bir istemciyle başlıyorsunuz ve işlevleri birleştirerek yetenekler ekliyorsunuz:

typescript
// lib/directus.ts
import { createDirectus, rest, readItems, createItem } from '@directus/sdk';

const client = createDirectus('http://localhost:8055').with(rest());

// Yayınlanmış makaleleri belirli alanlarla getir
const articles = await client.request(
  readItems('articles', {
    fields: ['id', 'title', 'slug', 'content', 'author.name'],
    filter: {
      status: { _eq: 'published' }
    },
    sort: ['-date_published'],
    limit: 10
  })
);

Öğe oluşturma aynı kalıbı izler:

typescript
// Yeni bir makale oluştur
const newArticle = await client.request(
  createItem('articles', {
    title: 'My New Post',
    slug: 'my-new-post',
    content: '<p>Hello from Directus.</p>',
    status: 'draft'
  })
);

Kimlik doğrulama için staticToken() (sunucudan sunucuya iletişim için) ve authentication() (giriş akışları olan kullanıcı uygulamaları için) arasında seçim yaparsınız:

typescript
import { createDirectus, rest, staticToken } from '@directus/sdk';

// Statik token ile sunucu tarafı
const client = createDirectus('http://localhost:8055')
  .with(staticToken('your-api-token'))
  .with(rest());

REST API Örnekleri

Her SDK metodu eşdeğer bir REST uç noktasına sahiptir. Doğrudan curl veya fetch ile çalışmayı tercih ediyorsanız:

bash
# Yayınlanmış makaleleri getir
curl "http://localhost:8055/items/articles?filter[status][_eq]=published&sort=-date_published&limit=10&fields=id,title,slug"

# Yeni bir öğe oluştur
curl -X POST "http://localhost:8055/items/articles" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "My Post", "status": "draft"}'

GraphQL Sorguları

Aynı veriye /graphql adresindeki GraphQL üzerinden de erişilebilir:

graphql
query {
  articles(
    filter: { status: { _eq: "published" } }
    sort: ["-date_published"]
    limit: 10
  ) {
    id
    title
    slug
    content
    author {
      name
    }
  }
}

GraphQL'i ayrıca yapılandırmanıza veya etkinleştirmenize gerek yoktur — REST ile birlikte her zaman kullanılabilir.

Next.js ile Directus (Çerçeve Entegrasyonu)

Directus'u Next.js'e bağlamak üç adım alır: @directus/sdk paketini yükleyin, bir lib/directus.ts istemcisi oluşturun ve readItems() kullanarak Server Component'larınızda veri alın. Directus ham JSON döndürür, dolayısıyla satıcıya özgü bileşenler olmadan render üzerinde tam kontrole sahipsiniz.

Directus ile çalışmanın en temiz kısmı bu. Özel bir çerçeve adaptörü yok, Directus'a özgü React bileşeni yok, derleme eklentisi yok. Sadece veri alımı. Next.js'de herhangi bir REST API ile çalışmışsanız, bunu zaten biliyorsunuzdur. Çerçeve seçimleri için Next.js vs Remix karşılaştırmamıza bakın.

Önce paylaşılan istemciyi oluşturun (bu, SDK bölümündeki aynı dosyadır, ancak dağıtılan örneğiniz için yapılandırılmıştır):

typescript
// lib/directus.ts
import { createDirectus, rest, staticToken, readItems } from '@directus/sdk';

const directus = createDirectus(process.env.DIRECTUS_URL!)
  .with(staticToken(process.env.DIRECTUS_TOKEN!))
  .with(rest());

export default directus;
export { readItems };

Ardından Server Component'ta kullanın — useEffect yok, yükleme durumu yok, sadece async/await:

tsx
// app/blog/page.tsx
import directus, { readItems } from '@/lib/directus';

export default async function BlogPage() {
  const posts = await directus.request(
    readItems('posts', {
      fields: ['id', 'title', 'slug', 'excerpt', 'date_published'],
      filter: { status: { _eq: 'published' } },
      sort: ['-date_published'],
    })
  );

  return (
    <main>
      <h1>Blog</h1>
      {posts.map((post) => (
        <article key={post.id}>
          <h2><a href={`/blog/${post.slug}`}>{post.title}</a></h2>
          <p>{post.excerpt}</p>
          <time>{post.date_published}</time>
        </article>
      ))}
    </main>
  );
}

Hepsi bu. Satıcı bağımlılığı yok. Aynı yaklaşım Astro, Nuxt, SvelteKit veya HTTP isteği yapabilen herhangi bir çerçeveyle çalışır. Directus'un resmi dokümantasyonu Astro ve Nuxt için çerçeveye özgü kılavuzlar içeriyor ama kalıp aynı: istemci oluştur, readItems() çağır, render et.

Directus CMS Fiyatlandırması ve Lisanslaması (2026)

Directus, yıllık geliri veya finansmanı $5M'ın altındaki kuruluşlar için MIT lisansı kapsamında kendi barındırma için ücretsizdir. $5M üzerinde, production kullanımı için ticari lisans gereklidir. Directus Cloud, fiyatlandırma sayfalarına göre aylık $25 (Starter) ile başlar ve Professional planlar aylık $49-$499 arasındadır.

$5M Gelir Eşiği

Bu, Directus hakkında tek en önemli iş gerçeğidir ve çoğu rehber bunu ya gömer ya da tamamen atlar. İşte nasıl çalıştığı:

  • Yıllık gelir veya toplam finansman $5M altında: Sonsuza kadar ücretsiz. MIT lisansı. Her yerde kendi barındırma. Özellik kısıtlaması yok.
  • Production'da $5M üzerinde: Ticari lisans gereklidir. Fiyatlandırma için Directus satış ekibiyle iletişime geçin.
  • Geliştirme ve test: Şirket büyüklüğünden bağımsız olarak her zaman ücretsiz. Eşik yalnızca production dağıtımları için geçerlidir.

$5M rakamı, yalnızca geliri değil, risk sermayesi finansmanını da içerir. Yani $6M finansman almış erken aşama bir girişim teknik olarak eşiğin üzerindedir. Pratikte Directus, erken aşama şirketlere karşı uygulamada agresif davranmadı, ancak bunu planlamanıza dahil etmelisiniz.

Cloud Planları

Altyapıyı yönetmek istemiyorsanız, Directus Cloud barındırma, yedekleme ve güncellemeleri üstlenir:

  • Starter: Aylık $25 — küçük projeler, kişisel siteler için ideal
  • Professional: Aylık $49-$499 — depolama, bant genişliği ve varlık dönüşümleriyle ölçeklenir
  • Enterprise: Özel fiyatlandırma — SLA, özel altyapı, öncelikli destek

Koltuk başına lisans yok. Tüm ekibiniz aynı planı kullanır. Bunu kullanıcı başına ücret alan Contentful ile (Contentful fiyatlandırma rehberimize bakın) ya da API kullanımı ve veri seti bant genişliğine göre ücret alan Sanity ile karşılaştırın.

CMSÜcretsiz KatmanÜcretli BaşlangıçFiyatlandırma ModeliKendi Barındırma
DirectusEvet (<$5M gelir)Aylık $25 (Cloud)Gelir tabanlıEvet
StrapiEvet (tamamen açık kaynak)Aylık $29 (Cloud)Koltuk tabanlıEvet
PayloadEvet (tamamen açık kaynak)Cloud (beta)TBDEvet
ContentfulEvet (sınırlı)Aylık $300Koltuk + kullanımHayır
SanityEvet (sınırlı)Aylık $15Kullanım tabanlıHayır

Directus vs Strapi vs Payload: Karşılaştırma

Directus mevcut veritabanlarını göç olmadan sarar, Strapi içerik türlerinden kendi şemasını üretir ve Payload doğrudan Next.js uygulamanıza gömülür. Directus 7 veritabanını, Strapi 2'yi, Payload 2'yi destekler. Üçü de açık kaynaktır, ancak felsefeleri oldukça farklıdır.

Hem Strapi hem de Directus ile projeler geliştirdikten sonra en büyük farkın veritabanınız hakkında nasıl düşündükleri olduğunu gördük. Strapi ile yönetici arayüzünde veya kodda içerik türleri tanımlarsınız ve Strapi veritabanı tablolarını sizin için oluşturur ve yönetir. Directus ile veritabanı gerçeğin kaynağıdır — Directus onu okur ve adapte olur.

ÖzellikDirectusStrapiPayload
MimariVeritabanı öncelikli (mevcut DB'yi sarar)Kod öncelikli (modellerden DB üretir)Çerçeve içine gömülü (Next.js içinde yaşar)
VeritabanlarıPostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB, MS-SQLPostgreSQL, SQLiteMongoDB, PostgreSQL
API'lerREST + GraphQL (her ikisi de yerel)REST (GraphQL eklenti aracılığıyla)Local API + REST + GraphQL
Yönetici ArayüzüData Studio (Vue.js)Content Manager (React)Yönetici Paneli (React, gömülü)
GitHub Yıldızı~34,5 bin~68 bin~33 bin
Cloud BarındırmaDirectus Cloud (aylık $25+)Strapi Cloud (aylık $29+)Payload Cloud (beta)

Directus'u ne zaman seçmelisiniz: Mevcut bir veritabanınız var, kutudan çıkar çıkmaz çift REST+GraphQL istiyorsunuz ya da OracleDB veya CockroachDB gibi daha az yaygın veritabanlarını desteklemeniz gerekiyor.

Strapi'yi ne zaman seçmelisiniz: En büyük ekosistemi ve topluluğu istiyorsunuz, içerik türlerini bir arayüz üzerinden tanımlamayı tercih ediyorsunuz ya da mevcut bir veritabanı olmaksızın sıfırdan başlıyorsunuz. Ayrıntılar için Strapi rehberimizi okuyun.

Payload'ı ne zaman seçmelisiniz: CMS'i doğrudan Next.js uygulamanıza gömmek istiyorsunuz, TypeScript öncelikli yapılandırmayı tercih ediyorsunuz ya da HTTP'yi tamamen atlayan Local API'ye ihtiyaç duyuyorsunuz. Tam tablo için Payload CMS derinlemesine incelememize bakın.

Directus Kullanmama Zamanları

Görsel bir sayfa oluşturucuya, sıkı entegre bir Next.js çerçevesine veya NoSQL backend'e ihtiyaç duyuyorsanız Directus doğru seçim değildir. Aynı şekilde düz dosya CMS'in veya WordPress'in yeterli olacağı basit projelere de gereksiz yük ekler.

Ekiplerin Directus'u kullanmamaları gerekirken seçtiğini gördük ve kalıp genellikle şunlardan biri:

  • Görsel sayfa oluşturucuya ihtiyacınız var. Directus'un Data Studio'su yapılandırılmış veri yönetimi için mükemmeldir, ancak sürükle-bırak site oluşturucu değildir. Görsel düzenleme önceliğinizse Storyblok'a bakın — Storyblok rehberimiz bunu nasıl karşılaştırdığını gösterir.
  • NoSQL'e bağlısınız. Directus tasarımı gereği yalnızca SQL'dir. Verileriniz MongoDB'de yaşıyorsa Payload CMS doğal tercihtir.
  • Projeniz basit bir blog. Kişisel bir blog için Docker, PostgreSQL ve Directus kurmak ciddi anlamda fazla. WordPress, Astro ile markdown dosyaları veya Ghost sizi çok daha kısa sürede yayına alır.
  • Çerçeve içi CMS istiyorsunuz. CMS'inizin Next.js kod tabanınızda birinci sınıf vatandaş olarak yaşamasını istiyorsanız, Payload bunu doğal olarak yapar. Directus her zaman ayrı bir servis olarak kalır.
  • Büyük bir kuruluşsunuz. Şirketiniz $5M gelir eşiğini aşıyorsa production için ticari lisans gerekir. Bu maliyeti, gelirden bağımsız olarak kendi barındırma için ücretsiz olan Strapi veya Payload gibi tamamen açık kaynak alternatiflere karşı değerlendirin.

Bunların hiçbiri kusur değil — bunlar tasarım kararları. Directus bir veri platformudur, web sitesi oluşturucusu değil. Farkı bilmek sizi aylarca sürecek hayal kırıklığından kurtarır.

SSS

Directus CMS nedir?

Directus, mevcut herhangi bir SQL veritabanını anında REST ve GraphQL API'leriyle saran açık kaynak bir headless CMS'tir. PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB ve MS-SQL'i destekler. Geleneksel CMS'lerin aksine Directus kendi şemasını oluşturmaz — mevcut veritabanı yapınızı otomatik olarak okur ve yansıtır.

Directus gerçekten ücretsiz mi?

Directus, yıllık geliri veya toplam finansmanı $5M'ın altındaki kuruluşlar için MIT lisansı kapsamında kendi barındırma için ücretsizdir. Bu eşiğin üzerinde, production kullanımı için ticari lisans gereklidir. Geliştirme ve test ortamları her zaman ücretsizdir. Yönetilen barındırmaları olan Directus Cloud aylık $25'tan başlar.

Directus ile Strapi arasındaki fark nedir?

Directus veritabanı önceliklidir — mevcut SQL veritabanınızı şemayı değiştirmeden sarar. Strapi kod önceliklidir — içerik türleri tanımlarsınız ve Strapi veritabanı tablolarını oluşturur. Directus 7 veritabanını desteklerken Strapi 2'yi destekler. Her ikisi de REST API sunar, ancak Directus yerel GraphQL içerirken Strapi bir eklenti gerektirir.

Directus hangi veritabanlarını destekliyor?

Directus yedi SQL veritabanını destekler: PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB ve MS-SQL. Mevcut veritabanınıza bağlanır ve şemayı otomatik olarak içgözlem yapar. Bu çoklu veritabanı desteği headless CMS'ler arasında eşsizdir — çoğu rakip yalnızca bir veya iki veritabanı motorunu destekler.

Directus WordPress'in yerini alabilir mi?

Directus, özellikle headless veya API güdümlü projeler için içerik yönetiminde WordPress'in yerini alabilir. Ancak Directus'un yerleşik ön yüzü, teması veya sayfa oluşturucusu yoktur. Next.js veya Astro gibi bir çerçeveyle kendi ön yüzünüzü oluşturmanız gerekir. Görsel düzenlemeye ihtiyaç duyan basit bloglar veya siteler için WordPress daha pratik olmaya devam eder.

Directus'un görsel editörü var mı?

Directus, yapılandırılmış veri yönetimi, gösterge paneli oluşturma ve izin yapılandırma için güçlü bir yönetici arayüzü olan Data Studio'yu içerir. Ancak Storyblok veya WordPress gibi görsel bir sayfa oluşturucusu ya da WYSIWYG site editörü sunmaz. Directus veri yönetimi için tasarlanmıştır, sürükle-bırak sayfa oluşturma için değil.

Directus e-ticaret için uygun mu?

Directus Ürün Bilgi Yönetimi sistemi olarak iyi çalışır — ürün kataloglarını modelleyebilir, özellikleri yönetebilir ve API'ler aracılığıyla veri sunabilirsiniz. Ancak bir e-ticaret platformu değildir. Alışveriş sepeti, ödeme akışı veya ödeme işleme işlevleri yoktur. İşlem katmanı için Shopify, Saleor veya Medusa ile eşleştirin.

Directus'u Next.js ile kullanabilir miyim?

Evet. @directus/sdk paketini yükleyin, Directus örneğinize işaret eden bir istemci oluşturun ve readItems() kullanarak Server Component'larda veri alın. Directus düz JSON döndürür, dolayısıyla satıcıya özgü React bileşeni gerekmez. Aynı yaklaşım Astro, Nuxt ve SvelteKit dahil herhangi bir JavaScript çerçevesiyle çalışır.

Directus işbirlikçi düzenlemeyi destekliyor mu?

Evet, sürüm 11.15'ten (Şubat 2026) itibaren. Directus, kimin neyi düzenlediğini gösteren canlı varlık göstergeleri ve çakışmaları önlemek için alan düzeyi kilitlemeyle yerel işbirlikçi düzenlemeye sahiptir. Bu yerleşik bir özelliktir, eklenti değil. v11.16'daki küresel taslak sürümlerle birlikte ekipler yayına almadan önce değişiklikleri hazırlayabilir ve önizleyebilir.

Directus MCP sunucusu nedir?

Directus, v11.13'te (Kasım 2025) yerel bir Model Context Protocol sunucusu sundu. MCP, Claude ve ChatGPT gibi yapay zeka araçlarının Directus içeriğinizle doğrudan etkileşime girmesine olanak tanır — doğal dil aracılığıyla öğeleri okuyabilir, oluşturabilir ve güncelleyebilir. MCP sunucusu mevcut RBAC izinlerinize saygı gösterir, dolayısıyla yapay zeka erişimi insan kullanıcılarıyla aynı kuralları izler.

Etiketler

directus-cmsheadless-cmsveritabani-oncelikliacik-kaynakrest-apigraphql

Bu makaleyi paylaş

Projenize Başlayın

Harika bir şey inşa etmeye hazır mısınız?

Vizyonunuzu hayata geçirelim. Fark yaratan yazılımlar için ekibimiz hazır.