Bu rehberde: WordPress sitenizi bir uygulama şifresi (application password) ile bağlarsınız. Yapay zekânın yazdığı makaleler sitenize taslak, planlı ya da yayında yazı olarak düşer; kategori, etiket ve öne çıkan görsel otomatik ayarlanır. Yeni bir yazı yayınlandığında da iş akışı başlatabilirsiniz.
⏱ 10 dakika
Kimlik kartı
| Alan | Değer |
|---|---|
| Sağlayıcı anahtarı | WORDPRESS |
| Kategori | CMS / blog |
| Kimlik doğrulama | Kullanıcı adı + uygulama şifresi (HTTP Basic, REST API wp/v2) |
| Kapsam | Proje bazlı |
| Webhook | Hayır (yeni yazılar 5 dakikada bir kontrol edilir) |
| Kutu | WordPress (app.wordpress) |
| Tetikleyici | Entegrasyon olayı → WORDPRESS · Post published |
Ne işe yarar?
WordPress kutusunun işlemleri:
| İşlem | Ne yapar | Etki |
|---|---|---|
| Create post | Başlık, içerik (HTML veya Markdown), durum, yayın tarihi, kategori, etiket, özet, kısa ad (slug) ve öne çıkan görselle yazı oluşturur. Durum seçilmezse taslak olur. | Yayın (herkese açık olabilir) |
| Update post | Var olan yazının yalnızca doldurduğunuz alanlarını değiştirir (ör. onaylanan taslağı yayına almak). | Yayın |
| Get post | Tek yazıyı HTML içeriğiyle okur. | Okuma |
| List posts | Yazıları en yeniden eskiye listeler (arama, durum, tarih filtresi). Her yazı ayrı bir öğe olur. | Okuma |
| Upload media | Bir adresteki dosyayı indirip Ortam Kütüphanesi'ne yükler (alternatif metin, açıklama). | Değişiklik |
Ayrıntılar:
- Markdown → HTML: İçerik HTML etiketi içermiyorsa Markdown kabul edilir ve HTML'e çevrilir (başlıklar, listeler, bağlantılar, görseller, tablolar, kod blokları). Gelişmiş ayarlardaki Content format ile zorlayabilirsiniz. Markdown modunda ham HTML güvenlik için kaçışlanır.
- Kategoriler: ad, kısa ad veya numara ile verilir. Olmayan kategori hata verir; Create missing categories açıksa oluşturulur (Editör rolü gerekir).
- Etiketler: olmayan etiketler otomatik oluşturulur.
- Öne çıkan görsel: Featured image URL adresindeki görsel indirilir, Ortam Kütüphanesi'ne yüklenir ve yazıya bağlanır; Image alt text alternatif metin olur.
- Yayın tarihi:
2026-10-20T09:00:00+03:00gibi saat dilimli bir tarih UTC'ye çevrilir; saat dilimi yoksa sitenizin yerel saati kabul edilir. Scheduled (planlı) durumu için zorunludur. - Extra fields (JSON): REST isteğine olduğu gibi eklenir; ör.
{"author": 2, "sticky": true, "comment_status": "closed"}. SEO eklentilerinin REST'e açtığımetaalanları da buradan yazılabilir. - Test çalıştırmaları: editördeki test modunda yazı oluşturma, güncelleme ve yükleme çalıştırılmaz; kutu ne yapacağını çıktıya yazar. Okuma işlemleri çalışır.
Ön koşullar
- WordPress 5.6 veya üstü, kendi sunucunuzda (self-hosted) ya da WordPress.com Business ve üstü plan. Ücretsiz/Personal/Premium WordPress.com planları uygulama şifresini desteklemez.
- Sitenin HTTPS üzerinden yayında olması (uygulama şifreleri yalnızca HTTPS'te açılır).
- Yazı oluşturacak bir kullanıcı. Yazar (Author) kendi yazılarını yayınlayabilir; kategori oluşturmak ve başkalarının yazılarını düzenlemek için Editör gerekir. OrqLabs için ayrı bir kullanıcı açmanızı öneririz.
- REST API'nin bir güvenlik eklentisiyle (Wordfence, iThemes, "Disable REST API" vb.) kapatılmamış olması.
Adım adım kurulum
A) Uygulama şifresi oluşturma
- WordPress yönetim panelinde Kullanıcılar → Profil (veya OrqLabs için açtığınız kullanıcının profili).
- Sayfanın altındaki Uygulama Şifreleri (Application Passwords) bölümüne gelin.
- Yeni uygulama şifresi adı alanına
OrqLabsyazın → Yeni uygulama şifresi ekle. - Gösterilen 24 karakterlik şifreyi (
abcd efgh ijkl mnop qrst uvwx) kopyalayın; yalnızca bir kez gösterilir. Boşluklarla birlikte yapıştırabilirsiniz.
Bölüm görünmüyorsa: site HTTPS değildir, bir eklenti uygulama şifrelerini kapatmıştır ya da WordPress.com planınız Business altındadır.
B) OrqLabs'ta bağlama
- Entegrasyonlar → WordPress → Bağla → Proje seçin.
- Site URL: sitenizin ana adresi, ör.
https://www.ornekblog.com(WordPress bir alt klasördeysehttps://ornek.com/blog). - Username: WordPress kullanıcı adı (e-posta değil).
- Application password: A adımındaki şifre → Bağla.
OrqLabs GET /wp-json/wp/v2/users/me ile kullanıcıyı ve rolünü okur. Site "düz" kalıcı bağlantı (plain permalink) kullanıyorsa /wp-json/ yerine otomatik olarak ?rest_route= biçimine geçer.
Örnek iş akışları
1) SEO önerisinden taslak blog yazısı (önerilen)
- Zamanlama – her pazartesi 09:00.
- SEO ve Trafik ajanı (rehber) –
contentBriefsçıktısında konu, hedef arama ve başlık önerileri. - Metin üret – istem:
Şu içerik özetine göre Markdown formatında 1200 kelimelik bir blog yazısı yaz: {{ $json.brief }}; çıktı alanıtext. - Görsel üret (isteğe bağlı) – kapak görseli; çıktı
{{ $json.imageUrl }}. - WordPress → Create post – Title
{{ $json.title }}, Content{{ $json.text }}, Status boş (taslak), Tagsseo, rehber, Featured image URL{{ $json.imageUrl }}. - Ekibe bildir –
Yeni taslak hazır: {{ $json.editUrl }}.
Yazı WordPress'te taslak olarak bekler; editörünüz kontrol edip yayınlar. Başlık, özet ve etiketleri ayrı alanlar olarak istiyorsanız 3. adımda Veri çıkar kutusuyla title, content, excerpt, tags alanlı bir JSON üretin.
2) Onaydan sonra otomatik yayın
… Create post (taslak) → Onay iste (açıklama: {{ $json.url }}) → onaylandı çıkışı → WordPress → Update post (Post ID {{ $json.id }}, Status Published).
3) Yeni yazıyı sosyal medyada duyurma
Entegrasyon olayı (hesap: WordPress, olay WORDPRESS · Post published) → Metin üret ({{ $json.title }} – {{ $json.excerpt }} için LinkedIn ve X metni) → Gönderi yayınla. Tetikleyici çıktısında title, url, excerpt, content, categories, tags, featuredImageUrl, authorName alanları bulunur.
Yeni yazı tetikleyicisi nasıl çalışır?
WordPress çekirdeğinde webhook yoktur; OrqLabs etkin bir iş akışı bu olayı dinliyorsa 5 dakikada bir GET /posts?after=<son yazının tarihi> ile yeni yayınlanan yazıları sorar.
- İlk kontrol yalnızca başlangıç noktasını kaydeder; bağlamadan önceki yazılar akış başlatmaz.
- Planlı (scheduled) yazılar yayın saati geldiğinde yakalanır.
- Geçmiş bir tarihle yayınlanan (backdated) yazılar yakalanmaz.
- Aynı yazı iki kez akış başlatmaz.
Limitler
| Konu | Sınır |
|---|---|
| Liste | İstek başına en fazla 100 yazı |
| Medya | OrqLabs tarafında 50 MB; sitenizin yükleme sınırı (upload_max_filesize) da geçerlidir |
| Dosya türleri | WordPress'in izin verdiği türler (jpg, png, gif, webp, pdf, mp4 …) |
| Tetikleyici gecikmesi | En fazla ~5 dakika |
| Sayfalar / özel yazı türleri | Desteklenmez; yalnızca Yazılar (posts) |
Bağlantıyı test etme
Bağlantıyı test et kullanıcının adını ve rollerini gösterir. Yazı oluşturma yetkisini görmek için iş akışını Create post (taslak) ile bir kez gerçek çalıştırın.
Kimlik bilgilerini yenileme
Profil sayfasındaki Uygulama Şifreleri listesinden eski şifreyi İptal et ile kaldırın, yenisini üretin ve OrqLabs'ta ayrıntı panelinden Kimlik bilgileri → Güncelle ile girin.
Sık karşılaşılan hatalar
| Hata | Olası neden | Çözüm |
|---|---|---|
AUTH – 401 incorrect_password / invalid_username | Şifre veya kullanıcı adı yanlış | Kullanıcı adını (e-posta değil) ve yeni bir uygulama şifresini girin |
AUTH – 401 rest_not_logged_in | Sunucu Authorization başlığını siliyor (bazı Apache/CGI barındırmalar) | .htaccess dosyasına SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 ekleyin veya barındırma desteğine başvurun |
FORBIDDEN – 403 rest_cannot_create | Kullanıcının rolü yetersiz | Kullanıcıyı Yazar/Editör yapın |
FORBIDDEN – 403 (HTML yanıt) | Güvenlik eklentisi veya Cloudflare REST API'yi engelliyor | /wp-json/ için istisna tanımlayın |
NOT_FOUND – "response is not JSON" | Site URL yanlış ya da REST API kapalı | Ana adresi girin; tarayıcıda https://siteniz/wp-json/ açılmalı |
INVALID – category "…" does not exist | Kategori yok | WordPress'te oluşturun veya Create missing categories'i açın |
INVALID – rest_upload_sideload_error / 413 | Dosya türü veya boyutu reddedildi | Daha küçük/izinli bir dosya kullanın |
Sık sorulan sorular
Yazı doğrudan yayınlanır mı? Hayır. Status boşsa yazı her zaman taslak olur. Yayın için Status'u Published seçin ya da önce Onay iste kutusunu ekleyin.
Gutenberg bloklarıyla uyumlu mu? İçerik HTML olarak kaydedilir; blok düzenleyicide "Klasik" blok olarak açılır ve tek tıkla bloklara dönüştürülebilir.
Yoast / Rank Math meta alanlarını yazabilir miyim?
Eklenti bu alanları REST API'ye açıyorsa Extra fields (JSON) içinde meta olarak gönderebilirsiniz; açmıyorsa yazılmaz.