WordPress MU Çoklu Site Kontrolü ve GA Alan Adı Gösterimi

Bu yazıda sıklıkla karşılaştığım bir sorun ve çözümünden bahsedeceğim. İlgili senaryonun bu yazıyı okuyan pek çok kişiye tanıdık geleceğinden eminim.

AA

Örnek uygulamada birebir gerçekleşen senaryoyu farklı alan adları üzerinden aktaracak, ilgili olan diğer yazılar çerçevesinde de açıklamalarla hangi işlemi ne amaçla gerçekleştirdiğimizi belirteceğim.

O halde, WordPress MU ile pek çok kurumsal siteyi tek bir WordPress kurulumu üzerinden nasıl kontrol edebileceğimize ve bu sitelerden elde edeceğimiz kullanıcı verilerini en verimli şekilde Google Analytics ve Google Tag Manager ile nasıl yönetebileceğimize bakalım. Durum ifadesi biraz uzun ve karışık gelmiş olabilir, bir görselle açıklayayım.

WordPress MU

Bir gayrimenkul firmamız var (Ana Site / anasite.com) ve web sayfamız üzerinden farklı İngilizce, Türkçe ve Arapça olarak içeriklerimizi sunuyoruz. Farklı ülkelerdeki ajanslar ile dijital reklam kampanyaları konusunda ilerlemekteyiz ve yakın zamanda reklamlarımızı yayına almayı planlıyoruz. Bu reklamlar için konut projelerimizle ilgili farklı dillerde bilgilerin yer aldığı alt sitelerimiz (Alt Site – 1 / altsite1.com, Alt Site – 2 / altsite2.com, Alt Site – 3 / altsite3.com…) kullanılacak. Örneğin altsite1.com İngilizce ve Türkçe içeriğe sahipken altsite2.com Türkçe ve Arapça, altsite3.com İngilizce ve Arapça yayın yapmakta. Ayrıca bir de satış işlemleri gerçekleştirdiğimiz yine İngilizce, Türkçe ve Arapça yayın yapan online mağazamız var. Gördüğünüz gibi oldukça detaylı bir web yapımız mevcut. Peki, bu yapıyı nasıl oluşturursunuz?

Site İngilizce Türkçe Arapça Almanca
Ana Site X X X X
Alt Site - 1 X X
Alt Site - 2 X X
Alt Site - 3 X X
E-Mağaza X

Genel olarak karşılaştığım 2 senaryoyu aşağıda belirttim. Bunların dışında bir yöntem paylaşmak için yorum bırakabilirsiniz.

  • Her bir site/dil için ayrı WordPress kurulumları yaparım.
  • Ana Site, Alt Site - 1, Alt Site - 2, Alt Site - 3, Mağaza için WordPress kurulumları yaparım. Dil ayrımlarını da her site için WPML, qTranslate X veya Polylang gibi bir eklentiyle çözerim.

İlk seçenekte 12 farklı WordPress kurulumu söz konusu. İkinci seçenekte ise 5 WordPress kurulumu var. Yüklenen eklentiler ve temalar, her site için ayrı ayrı oluşturulacak kullanıcılar, yapılacak güncellemeler de cabası. Peki benim önerim nedir?

  1. Ben sadece Ana Site için WordPress kurulumu gerçekleştirir, bu WordPress kurulumunun MU (MultiSite) özelliğini aktifleştirir ve Alt Site – 1, Alt Site – 2, Alt Site – 3, Mağaza sitelerini WP MU ağı üzerinden oluştururdum. Böylelikle tek bir WordPress üzerinden tüm sitelerimi, sitelerimin temalarını, eklentileri, kullanıcılarını kontrol edebilirim.
  2. Dil ayrımlarını da qTranslate X eklentisiyle sağlardım. Dil seçeneklerini Alt-Alanadı Biçimi (altsite3.com/en/ ve anasite.com/ar/) ve Ön-Yol Biçimi (en.altsite3.com ve tr.anasite.com) şeklinde dil eklentisi sayesinde düzenleyebilirim.

Gördüğünüz üzere tek bir WordPress ve tek bir eklenti ile ihtiyacımız olan sitelere ihtiyacımız olan şekilde sahibiz. Peki, bu süreç nasıl oluşturulabilir? Evet, adım adım bu çözümü hayata geçirelim.

WordPress

Çoklu Site ve Çoklu Dil

WordPress MU Nedir? Nasıl Kurulur ve Kullanılır? başlıklı yazımda WordPress MU aktifleştirme işleminden bahsetmiştim. Aşağıda yine bu aktifleştirme işlemini başlatan ve wp-config.php dökümanına eklenmesi gereken satırı iletiyorum. Sonraki işlemler için ilgili yazımdaki adımları takip edebilirsiniz.

define( 'WP_ALLOW_MULTISITE', true );

Kurulum işlemi ön tanımlı olarak SubDirectory (ornekwebsitesi.com/site) şeklinde gerçekleştirilmektedir. Bu işlemi ayrıca wp-cli üzerinden de kolaylıkla gerçekleştirebilirsiniz1.

wp core multisite-install --title="Site Başlığı" \
--admin_user="[kullanici-adi]" --admin_password="[kullanici-sifresi]" \
--admin_email="[kullanici-e-posta-adresi]"

Ayrıca doğrudan var olan veritabanı yapısını dönüştürmek isterseniz multisite-convert komutunu da kullanmanız yeterli olacaktır.

wp core multisite-convert

Bu işlemin ardından wp-cli komutlarının tamamını -url parametresiyle kullanabilirsiniz. Network içerisindeki siteleri site list komutuyla listeleyebilirsiniz. Elbette wp site ile daha pek çok bilgiyi görüntülemek mümkün2.

wp site list --field=url

site list ile edindiğiniz url’leri -url parametresi içerisinde kullanarak wp-cli argümanlarını her site için ayrı ayrı kullanabilirsiniz3.

wp post list --url=

-url parametresi üzerinden tüm sitelerde yayınlanan postları görüntülemek isterseniz şu komut işinizi görecektir.

wp site list --field=url --allow-root | xargs -n1 -I % wp post list --url=% --allow-root

Ek detaylar için network meta list komutundan faydalanabilirsiniz.

wp network meta list
WordPress MU htaccess Düzenlemesi

Aktifleştirme işleminin ardından Ağ bölümü aktifleşecek ve sizden temel bazı bilgiler istenecek. Bu bilgilerin sonunda size wp-config.php için bir güncelleme ve .htaccess güncellemesi iletilecek. SubDomain olarak sitelerinizi oluşturmak için SUBDOMAIN_INSTALLdeğerini true yapmanız yeterli.

define('SUBDOMAIN_INSTALL', true);

Ardından .htaccess dökümanınızı güncelleyerek sitelerinizi yayına hızlıca açabilirsiniz.

Subdomain, hosting nedir gibi soruların cevaplarını bildiğinizi ve subdomain ve domain tanımlama işlemlerini gerçekleştirebildiğinizi varsayıyorum.

WordPress MU Kurulumu

Artık tek bir WordPress kurulumu üzerinden tüm web sitelerimizi yönetebilmekte, eklenti/tema yüklemelerini ve güncellemeleri yapabilmekteyiz. Geldik bir sonraki aşamaya, yani dil özelliklerini aktifleştirmeye. WordPress qTranslate X Eklentisi başlıklı yazım altında eklentinin kurulumu, alt-ornekwebsitesi (subdirectory) ve önyol-biçimi (subdomain) başta olmak üzere eklentinin kullanımıyla ilgili detaylardan bahsettim. Ağ üzerinden eklenen eklentiyi her site için farklı şekillerde yapılandırabilirsiniz. Böylelikle artık birbirinden farklı şekillerde dil özelliğimizi de kullanabilmekteyiz. qTranslate X eklentisinin ardından mağazamız için WooCommerce eklentisini de yükledik ve Mağaza web sayfası için aktifleştirdik.

Şimdiye kadar neler yaptığımza bir bakalım.

  • WordPress kurulumu gerçekleştirdik.
  • WordPress MU özelliğini aktifleştirdik.
  • WordPress MU sayesinde tek bir WordPress kurulumu üzerinden tüm sitelerimizi yayına açtık.
  • Bazı web sitelerimizi benzer bazıları farklı temalarla düzenledik
  • qTranslate X ve WooCommerce eklentilerini yükledik. qTranslate X eklentisini tüm sitelerimizde, WooCommerce eklentisini ise sadece Mağaza web sitesinde çalışacak şekilde aktifleştirdik.
  • qTranslate X eklentisiyle sitelerimize farklı dillerde içerikler ekledik.

Harika, değil mi? Artık sitelerimiz farklı dillerdeki içerikleriyle birlikte reklam kampanyaları için hazır. Peki, hepsi bu kadar mı? Elbette hayır. Ziyaretçilerimiz hakkında bilgiler edinmeli, ajanslarımızı hedef kitlemiz ve davranışları konusunda bilgilendirmeli ve hatta Google Analytics erişimleri tanımlamalıyız.

Google Analytics Çoklu Site Kurulumu

Çoklu Site Takibi ve Analizi

Bir kurumsal ağ içerisinde siteler ve siteler arasındaki ilişkiler oldukça kıymetli veriler barındırıyor olabilir. Dolayısıyla bu sürecin de notlar, özelleştirilmiş rapor ve uyarılarla titiz bir şekilde yönetilmesi gerekmektedir. Ek olarak, reklam stratejisini ve bütçe planını da bu veriler ışığında planlamak uzun vadede daha efektif sonuçlar elde etmenizi sağlarken kısa vade söz konusu olabilecek kritik hataların da önüne geçecektir.

Google Tag Manager

Bu aşamada önerim yine yazının giriş bölümünde paylaştığım yapıda olduğu gibi bir ana Google Analytics mülkü ve her site için ayrı mülkler oluşturmak olacaktır. Bu sayede web siteleri ve sayfalar arasındaki ilişkileri takip edebilir, hedef kitleler oluşturabilir ve farkında olmadığınız içerik ilişkilerini fark edebilirsiniz. Elbette bu süreci User ID, metrik ve boyutlarla detaylandırabildiğiniz kadar detaylandırmanız daha da faydalı olacaktır.

Google Analytics - Çoklu Domain Kurulumu

Elbette sadece Google Analytics mülkleri oluşturmak yetmemekte. Kullanacağınız ana mülk için alan adlarının açık bir şekilde edinilmesi gerekmekte ki raporlama, arama ve filtreleme işlemlerinde sayfalar ve sorgular arasında karşılıklıklar oluşmasın. Bu konuda yayınladığım Çoklu Google Analytics Kurulumu başlıklı yazımda yer alan adımları takip edebilirsiniz.

Google Tag Manager - Domain Trigger

Süreçte kod snippet işlemleri ve diğer entegrasyonlar için GTAG kodlarının el yordamıyla eklenmesi yerine Google Tag Manager kullanmanızı öneririm. Böylelikle trigger ve variable işlemlerini daha doğru bir şekilde yönetebilir ve Preview modunda olası hata ve eksiklikleri kolaylıkla fark edebilirsiniz. Aksi durumda temanız ve eklentileriniz içerisinde çok fazla url sorgulaması söz konusu olacaktır ve her yeni kampanya ve sitede ilgili alanın düzenlenmesi gerekecektir. Diğer durumda ilgili siteleri variable olarak tanımlamak ve trigger olarak kullanmak oldukça hızlı bir şekilde ilerlemenizi sağlayacaktır. Süreç başta karışık gelebilir ancak yukarıda bahsi geçen adımları uygulamak ve sürecin sonunda bu yapıda pek çok siteyi yönetiyor olmak bir saatten fazla zamanınızı almayacaktır. İçeriklerin girilmesi, düzenlenmesi elbette ayrı bir süreç.