Pinterest Otomatik Paylaşım
Pinterest hâlâ uzun biçimli içeriğe — tarifler, nasıl yapılır rehberleri, toplu listeler, görsel anlatımlar — ciddi trafik gönderen bir kaynak. Diyelim ki bir yemek tarifi sitesi işletiyorsunuz ve her yeni tarif yayınlandığında otomatik olarak Pinterest panonuza düşmesini istiyorsunuz. jekcms'in yerleşik Pinterest entegrasyonu tam bunu yapar — yazı yayına girdiği an öne çıkan görseli panoya pinler. n8n falan kurmanıza gerek yok; jekcms'in kendi iş kuyruğu içinde çalışır.
Ne zaman çalışır, ne yapar?
Bir yazı Published durumuna geçtiği anda jekcms şunları yapar:
- Yazının öne çıkan görselini alır (yoksa sitenin varsayılan OG görselini)
- Şablonunuzdan bir pin açıklaması hazırlar — varsayılan olarak
{title}\n\n{excerpt} - Pinterest v5 API ile seçtiğiniz panoya pinler
- Pin'in hedef linki olarak yazının canonical URL'sini kullanır
Bu iş senkron değil, kuyruğa alınarak tetiklenir. Yani Pinterest API'nin yavaş yanıt vermesi sizin "Yayınla" butonuna bastığınızda editörün donmasına yol açmaz.
1. Adım — Pinterest API erişim token'ı almak
- developers.pinterest.com adresine gidin, pinlemek istediğiniz panonun sahibi olan Pinterest hesabıyla giriş yapın
- My apps → Create app
- Uygulama adı, açıklama, website URL (jekcms sitenizin URL'sini koyun) doldurun
- Uygulama onaylanınca açın, Configure sekmesine gidin
- Generate access token altında şu kapsamları isteyin:
boards:read,pins:read,pins:write - Üretilen token'ı kopyalayın —
pina_...ile başlayan uzun bir string
Pinterest token'ları varsayılan olarak 60 gün geçerli. Uzun ömürlüler ama sonsuz değil. Süresinin dolacağı tarihe bir takvim hatırlatıcısı kurun ya da refresh token akışını bağlayın (sorun giderme bölümüne bakın).
2. Adım — Pano ID'sini bulmak
Tarayıcıda panonuzun sayfasını açtığınızda URL şöyle görünür: https://www.pinterest.com/username/my-recipes/. Ama bu URL'de sayısal pano ID'si yok. Onu API'den çekmelisiniz:
curl -H "Authorization: Bearer pina_YOUR_TOKEN" \
https://api.pinterest.com/v5/boards
Dönen yanıt her panoyu 16 haneli id alanıyla listeler. Hedef panonun ID'sini kopyalayın.
3. Adım — jekcms'i ayarlamak
Admin → Settings → Integrations → Pinterest sayfasını açın:
- Access token —
pina_...string'ini yapıştırın. Veritabanında AES-256 ile şifrelenmiş saklanır. - Target board ID — 2. adımda bulduğunuz 16 haneli ID
- Default hashtags — virgülle ayrılmış bir liste, her pine eklenir (örn.
recipe, cooking, dinner). Hashtag kullanmak istemiyorsanız boş bırakın. - Pin template — pin açıklamasının biçimi (aşağıda)
- Auto-pin on publish — genel aç-kapa anahtarı
Test connection butonuna basın. jekcms yer tutucu görselli bir test pini gönderir; token ve pano ID doğruysa pano sayfasında görürsünüz. Test pinini daha sonra Pinterest'ten silersiniz.
Yazı başına aç/kapa
Genel ayarı açtıktan sonra, her yazı editöründe kenar çubuğunda bir Pinterest paneli olacak. İçinde Pin on publish onay kutusu var. Ayarlardaki varsayılanınız bu kutunun başlangıç halini belirler, ama her yazıda değiştirebilirsiniz:
- Tarif, toplu liste ve görsel içeriğe uygun yazılar için açık bırakın
- Dahili güncellemeler, changelog girdileri, ciddi bir öne çıkan görseli olmayan yazılar için kapatın
Öne çıkan görseli olmayan bir yazı için otomatik pin açıksa jekcms işi atlar ve log'a pinterest: skipped - no featured image yazar.
Kuyruk ve yeniden denemeler
Pinterest pinleri senkron çalışmaz, jekcms'in giden iş kuyruğundan çıkar. Akış:
- Yazı Published'a geçer → kuyruk öğesi oluşur
- 60 saniye içinde cron işçisi (
queue_worker) işi alır - Başarılıysa loglanır, pin ID'si yazı satırına kaydedilir
- Başarısızsa üstel geri çekilmeyle yeniden dener (1 dk, 5 dk, 30 dk), en fazla 3 deneme
- 3 denemeden sonra hâlâ başarısızsa kalıcı başarısızlık olarak loglanır ve admin'e bildirim düşer
Kuyruktaki işleri Automation → Queue → Pinterest altında görebilirsiniz. Başarısız bir işi oradan elle yeniden denetebilirsiniz.
Pin şablonu
Varsayılan şablon:
{title}
{excerpt}
Kullanabileceğiniz yer tutucular:
{title}— yazı başlığı{excerpt}— yazı özeti (Pinterest 500 karaktere kadar kabul ediyor, jekcms 480'e kısaltır){category}— ilk kategorinin adı{tags}— virgülle ayrılmış etiket listesi{author}— yazar görünen adı{site_name}— Settings → General'dan
Örnek bir şablon:
{title} | {category}
{excerpt}
More on {site_name}
Dikkat: Pinterest çoğu HTML'i çıkarır, sadece düz metin ve satır sonları kalır.
Sorun giderme
"Rate limit exceeded" — Pinterest, token başına saatte yaklaşık 1.000 istek veriyor. 50 yazıyı aynı anda yayınlarsanız pinler doğal olarak kuyruğa alınır ve yavaşlar, endişelenmenize gerek yok. Durumu görmek için Queue logs'a bakın.
"Invalid access token" ya da 401 — Token süresi dolmuştur (varsayılan 60 gün). Pinterest dashboard'dan yeni token üretip ayarlara yapıştırın. Kesintisiz rotasyon için refresh-token akışını kullanın: developers.pinterest.com/docs/api/v5/#auth.
"Image too small" / pin reddedildi — Pinterest en az 600×900 px görsel ister. Daha küçükleri kabul edebilir ama bulanık görünür. Settings → Performance altında Auto-upscale featured images'ı açın ya da baştan büyük görseller yükleyin.
Pinler tetikleniyor ama panoda görünmüyor — Pano ID yanlış olabilir; yanlış ID bazen aynı hesabın başka bir panosuna düşer. 2. adımdaki curl çağrısıyla doğru ID'yi yeniden alın.