Shopify'ın hazır alanları bir ürünün adını, açıklamasını, fiyatını ve görsellerini kapsıyor. Gerçek bir katalogun ayrıca ihtiyaç duyduğu her şey — kumaş bileşimi, yıkama talimatı, beden tablosu, ürünün taşıdığı sertifika, arkasındaki tasarımcı — başka bir yerde durmak zorunda. O yer metafield ve metaobject; ve yanlış olanı seçmek, bir mağazanın veri modelinin on sekiz ay sonra baştan kurulmasının en yaygın sebebi.
Ayrım bir kez görüldüğünde karmaşık değil, ama Shopify'ın isimlendirmesi bunu kendiliğinden açık etmiyor.
Metafield ile metaobject arasındaki fark ne?
Metafield, mevcut tek bir kayda iliştirilen tek bir özel alan. "Bu ürünün kumaşı %80 merinos." O ürüne aittir, başka hiçbir şeye değil. Shopify alanı bir kez tanımlar (metafield tanımı), sonra her ürün kendi değerini taşır.
Metaobject ise kendi kayıt tipiniz. Varsayılan olarak hiçbir şeye bağlı değil — bağımsız var oluyor ve kendi içinde birkaç alan taşıyor. Bir mağaza konumu, bir tasarımcı profili, bir beden tablosu, bir kargo politikası bloğu: her biri bir kez tanımlayıp tekrar tekrar kullanmak istediğiniz küçük yapılı kayıtlar.
İkisi referans üzerinden bağlanıyor. Ürüne bağlı bir metafield, bir metaobject kaydına işaret edebiliyor. Beden tablosunu paylaşan her üründe tabloyu kopyalamadan "benim beden tablom bu" demenin yolu bu.
Kararı veren tek soru
Değerin hiç paylaşılıp paylaşılmadığını sorun. Cevap hayırsa — bu kumaş bileşimi bu ürüne ait, başkasına değil — metafield kullanın. Cevap evetse — on iki ürün aynı beden tablosunu paylaşıyor ve tablo değişince hepsinde değişmeli — metaobject tanımlayıp referans verin.
Mağazaların çoğu bu kuralı aynı yönde yanlış uyguluyor. Kurulumu daha kolay olduğu için metafield'la başlıyor, sonra aynı beden tablosu metnini doksan ürüne kopyalıyorlar. Tablo değiştiği gün birinin doksan kaydı düzenlemesi gerekiyor; pratikte altmışını düzenleyip otuzunu atlıyor.
Baştan yazmaya zorlayan üç hata
Tipli alan gerekirken düz metin kullanmak. Tek satır metin olarak tanımlanmış bir metafield, aynı şey için "%80 merinos", "80 oranında merinos yün" ve "Merinos (%80)" değerlerini seve seve kabul eder. Birkaç bin ürün tutarsız serbest metin taşımaya başladığında ne filtreleyebilirsiniz ne şablona bağlayabilirsiniz. Shopify tipli tanımları destekliyor — sayı, ölçü, liste, ürün referansı, dosya — ve veriyi sonradan kullanılabilir kılan şey tam olarak tip.
İçeriği veride değil temada tutmak. Doğrudan bir Liquid bölümüne yazılmış kargo bilgisi bloğu, mağaza onu üç dilde ve iki şablonda isteyene kadar sorunsuz görünür. Metaobject tanımları çeviriyi ve storefront'ta yayınlanmayı ayar olarak destekliyor; tema kodu desteklemiyor.
Storefront'u hesaba katmamak. Bir metafield veya metaobject, tanımı onu açıkça göstermedikçe storefront'a görünmüyor. Ekipler düzenli olarak yönetim panelinde tam bir veri modeli kuruyor, sonra şablon aşamasında hiçbir şeyin Liquid'den okunamadığını fark ediyor. Görünürlük ayarı ilk tanımın parçası olmalı, sonradan yapılan acil bir taşımanın değil.
Ayakta kalan model
Orta ölçekli bir katalog için kalıcı olan yapı şuna benziyor. Ürüne özgü gerçekler — bileşim, ağırlık, menşei, bakım kodu — üründe tipli metafield. Editoryal ve tekrar kullanılan her şey — beden tabloları, bakım rehberleri, tasarımcı biyografileri, sertifika açıklamaları — metaobject tanımı ve üründen metaobject referansıyla bağlanıyor.
Koleksiyonlar kendi metafield'larını alıyor: kategori sayfasının ihtiyaç duyduğu, ürünün duymadığı şeyler için — arama için yazılmış bir giriş paragrafı, bir soru-cevap bloğu, şablona göre boyutlandırılmış bir görsel.
Testi şu: bir merchandiser temaya dokunmadan yeni ürün ekleyebiliyor mu, ve paylaşılan tek bir gerçeği değiştirmek onu her yerde değiştiriyor mu? İkisinden birinin cevabı hayırsa model bitmemiş.
Metafield ve SEO
Yapılandırılmış ürün verisi iki kez işe yarıyor. Hem müşterinin karşılaştırdığı sayfa detayını besliyor, hem arama motorlarının ve yanıt motorlarının okuduğu yapılandırılmış veriyi. Tipli metafield'lardan kurulan bir ürün şeması katalog değiştikçe doğru kalıyor; temaya elle yazılan bir sezon içinde kayıyor.
Aynısı koleksiyon metafield'ları için de geçerli. Kategori sayfaları bir mağazanın arama talebinin çoğunu taşıyor ve koleksiyon metafield'ına yazılmış bir giriş metni, araya geliştirici girmeden merchandising ekibi tarafından düzenlenebiliyor.