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:

  1. Yazının öne çıkan görselini alır (yoksa sitenin varsayılan OG görselini)
  2. Şablonunuzdan bir pin açıklaması hazırlar — varsayılan olarak {title}\n\n{excerpt}
  3. Pinterest v5 API ile seçtiğiniz panoya pinler
  4. 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

  1. developers.pinterest.com adresine gidin, pinlemek istediğiniz panonun sahibi olan Pinterest hesabıyla giriş yapın
  2. My apps → Create app
  3. Uygulama adı, açıklama, website URL (jekcms sitenizin URL'sini koyun) doldurun
  4. Uygulama onaylanınca açın, Configure sekmesine gidin
  5. Generate access token altında şu kapsamları isteyin: boards:read, pins:read, pins:write
  6. Ü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 tokenpina_... 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ış:

  1. Yazı Published'a geçer → kuyruk öğesi oluşur
  2. 60 saniye içinde cron işçisi (queue_worker) işi alır
  3. Başarılıysa loglanır, pin ID'si yazı satırına kaydedilir
  4. Başarısızsa üstel geri çekilmeyle yeniden dener (1 dk, 5 dk, 30 dk), en fazla 3 deneme
  5. 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.

Yeniliklerden ilk sen haberdar ol

Yeni özellikler, sürüm notları ve CMS rehberleri — ayda birkaç e-posta, spam yok.