WordPress MU çoklu site kontrolü başlıklı yazımda
WordPress üzerinden tek kurulumla nasıl pek çok siteyi yönetebileceğimizden ve
Google Analytics ile takip edebileceğimizden bahsetmiştim. Bu yazıda ise bu işlemleri
Grav ile nasıl yapabileceğimden bahsedeceğim.Unutmadan, bu yazıdaki işlemler öncesinde
grav ile
subdomain ve
subdirectory çoklu site yayını yapabileceğinizi hatırlatmak istiyorum. Örnek senaryoda
subdomain üzerinden ilerleyecek ve işlemlerin sonucunda Türkçe, İngilizce ve Fransızca dilleri üzerinden 3 site yönetiyor olacağız.
Bir üst paragrafta da belirttiğim gibi, Grav üzerinden subdomain ve subdirectory olarak pek çok site oluşturabilir ve
komut satırı arabirimi ve/ya
admin eklentisi üzerinden kolaylıkla yönetebiliriz. Elbette her sitenin kendi yönetici paneli olacağını unutmamalısınız.Örnek senaryomuzda subdomain kurulumunu tercih edeceğim ve İngilizce yayın yapan bir
e-ticaret sitesi oluşturacağım. Adresini ise
shop.ornekwebsitesi.com
olarak belirleyeceğim. Diğer yandan
ornekwebsitesi.com
üzerinden yayın yapan ana site İngilizce ve Fransızca, alt marka için oluşturulan ve
altmarka.ornekwebsitesi.com
üzerinden yayın yapacak olan site ise İngilizce, Fransızca ve Türkçe dillerine sahip olacak. Özetlemek gerekirse;
- Ana Site (ornekwebsitesi.com)
- İngilizce
- Fransızca
- Alt Site (altmarka.ornekwebsitesi.com)
- İngilizce
- Fransızca
- Türkçe
- Alışveriş Sitesi (shop.ornekwebsitesi.com)
- İngilizce
Öncelikle
DigitalOcean üzerinden uygun bir droplet ile alanımızı oluşturalım ve
Grav kurulumumuzu gerçekleştirelim. Grav uygulaması
veritabanı gerektirmediği için farklı
alternatifleri de rahatlıkla değerlendirebilirsiniz. Ek olarak
HawkHost ve
1and1 gibi firmalar da
Softaculous ve/ya diğer hızlı kurulum araçları vasıtasıyla pratik bir şekilde
Grav kurulumu yapabilmenizi sağlamaktalar.Artık
subdomain işlemlerine geçebiliriz.
Grav subDomain (alt alanadı) multisite kullanımı başlıklı yönergelere uygun olarak
user/sites/
altında
shop.ornekwebsitesi.com
ve
altmarka.ornekwebsitesi.com
klasörlerini ve bu klasörler altında da
pages
klasörünü oluşturuyorum.
config
klasörü ise Grav tarafından oluşturulacak. Diğer yandan, cPanel üzerinden (ya da Apache ya da NGINX üzerinden el yordamıyla)
wilcard olarak subdomain tanımlamamı gerçekleştiriyorum.

Elbette
wilcard dışında doğrudan
shop
ve
altmarka
olarak da subdomain tanımlaması yapabilirsiniz.Bu işlemin ardından bir özet oluşturmak gerekirse;
- Grav kurulumumuzun olduğu dizinde
setup.php
adında bir dosya oluşturduk ve içeriğini buradaki gibi doldurduk. - cPanel üzerinden (veya Apache ya da NGINX yapılandırması ile) Subdomain tanımlamalarımızı yaptık.
user
klasörü altında sites
adında bir alt klasör ve bu alt klasörün altında da shop.ornekwebsitesi.com
ile shop.ornekwebsitesi.com
klasörlerimizi oluşturduk.- Oluşturduğumuz site klasörleri için ayrı ayrı
pages
içerikleri oluşturduk.
Artık sitelerimiz yayında ve her site için ayrı ayrı tema ve eklenti işlemleri gerçekleştirebiliriz. Burada bir dipnop düşmek istiyorum.
bin/gpm
ile eklenti ve/ya tema indirdiğinizde tüm siteleriniz altından bu tema ve eklentileri görebilirsiniz. Bu aşamadan sonra kullanmak istediğiniz temayı
Themes altından seçip
Active Theme linkini tıklamanız yeterli olacaktır. Örneğin, ana site için ben
Quark (
bin/gpm install quark
) temasını kullanırken altmarka için
Aerial (
bin/gpm install aerial
),
shop için ise
shop-site
temasını belirledim.
SnipCart eklentisi ise sadece
shop için aktifleştirdim.

Evet, multisite (çoklu site) işlemlerimiz bu şekilde tamamlanmış oldu. Artık dil düzenlemelerine geçebiliriz.
Grav Multilang (Çoklu Dil) İşlemleri
Grav 0.9.30 sürümü itibariyle çoklu dil özelliğine sahip. Ek olarak ön tanımlı site dilini de pratik bir şekilde değiştirebilmektesiniz. Bu işlemleri eğer admin eklentisini kurduysanız bu işlemleri
Admin > Configuration > Languages yolunu takip ederek düzenleyebilirsiniz. Ana sitemiz örnek senaryomuz itibariyle İngilizce ve Fransızca dillerinde içeriklere sahip olacağı için
Languages başlığı altındaki
Supported alanına
en
ve
fr
tanımlamamarını girip kaydediyorum.

Bu işlemle birlikte
/user/sites/altmarka.ornekwebsitesi.com/config/system.yaml
dosyasına belirlediğim diller eklenmiş olacak.
admin eklentisi yerine el yordamıyla dil tanımlaması yapmak isteseydim yine bu dosya üzerinden ilerleyecek ve dosyaya şu satırları dahil edecektim.
languages:
supported:
- fr
- en
include_default_lang: true
translations: true
translations_fallback: true
session_store_active: true
http_accept_language: false
override_locale: false |
languages:
supported:
- fr
- en
include_default_lang: true
translations: true
translations_fallback: true
session_store_active: true
http_accept_language: false
override_locale: false

Benzer düzenlemeler
altmarka için de geçerli. Elbette
altmarka için site dilini
tr
olarak belirlediğimizde
supported
altında
- tr
satırı da yer alacaktır.
shop için ise site dilini
en
olarak belirlememiz yeterli.

İçerikleri üreteceğimiz zaman ise yapmamız gereken
admin eklentisi kullanıyorsak
Pages > Add Page yolunu takip etmek. Sayfa oluşturma işleminin ardından
Save butonunu içeriğinde
Save as English,
Save as Français gibi aktif dillerin listelendiğini görebilirsiniz. Bu sayede her içeriği farklı dillerle oluşturmanız mümkün hale gelecektir.

Farklı dillerde içerikleri admin eklentisini kullanmadan gerçekleştirmek istediğimizde her zamanki gibi sayfa oluşturma işlemine ek olarak dil tanımını dosya adıyla birlikte belirtmemiz yeterli olacaktır. Yani,
01.home/default.md
içeriğimizin İngilizce versiyonunu oluşturmak istediğimizde içeriğimizi
01.home/default.en.md
;
---
title: Home
---
# Grav is Running!
## You have installed **Grav** successfully |
---
title: Home
---# Grav is Running!
## You have installed **Grav** successfully
Fransızca için ise
01.home/default.fr.md
olarak oluşturmalıyız;
---
titre: Accueil
---
# Grav est en marche!
## Vous avez installé ** ** Grav succès |
---
titre: Accueil
---# Grav est en marche!
## Vous avez installé ** ** Grav succès
Evet işlemlerimi bu kadar! Artık diğer içerikleri de benzer şekilde farklı dillerde oluşturabilirsiniz. İlgili içeriği tanımlı dillerde oluşturduğunuzda içerik bölümünde ilgili dil seçiminin mor ile işaretlendiğini görebilirsiniz.

Dil kullanımına dair (ana sayfa düzenlemeleri, sayfa url’lerinin dillere göre düzenlenmesi ve diğer işlemler için)
Grav > Multi-language sayfasını inceleyebilirsiniz.