Programatik SEO için WP-CLI ve REST
3 dk okuma
Programatik SEO'nun kendi komutları yoktur. Görevleri sıradan arka plan görevleridir; bu nedenle genel görev komutları geçerlidir. Geri kalan her şey (görev oluşturma, sayfa dönüştürme, yapay zekâ ayarları) yönetim panelinden veya REST API üzerinden yapılır.
Görev komutları
wp wpmcf tasks list
wp wpmcf tasks run <id>wp wpmcf tasks list, eklentinin her görevi için id, name, type, status, next_run ve attempts sütunlarından oluşan bir tablo yazdırır. Sayfa oluşturma şöyle görünür:
|
| Nedir |
|---|---|---|
| Görevin adı, örneğin "Şehir sayfaları" | Sayfa oluşturma görevi |
|
| O görevin yapay zekâ çalıştırması (yapay zekâyı ilk kez başlattığınızda oluşturulur) |
|
| O görevin yazıya dönüştürme işlemi |
| Veri tablosu içe aktarma ve feed eşitleme | Programatik SEO değildir ama onu besler (Veri kaynakları) |
wp wpmcf tasks run <id> komutu, active durumdaki bir görevi ön planda, parti parti, geçerli çalıştırması bitene kadar yürütür; ardından "Ran N batch(es). Status: …" yazdırır. Active olmayan görevleri reddeder: "Task 12 is paused; activate it first." (completed olanlar için de). Bir sayfa oluşturma görevi çalışırken veya zamanlamasını beklerken active durumundadır; duraklatılmış ya da bitmiş bir görevi başlatmak için Run now düğmesine tıklayın (veya aşağıdaki REST rotasını çağırın), ardından WP-Cron'u beklemek yerine görevi kabuğunuzda yürütmek için komutu kullanın.
Tipik kullanımlar:
- WP-Cron trafiği olmayan bir sunucuda tüm kuyruğu bir sistem cron işinden çalıştırın, bkz. Arka plan görevleri:
* * * * * cd /var/www/site && wp action-scheduler run --group=wpmcf --batches=1 >/dev/null 2>&1- büyük bir içe aktarmadan sonra ihtiyacınız olan çalıştırmayı tetikleyin ve doğrudan yürütün:
wp wpmcf tasks list
wp wpmcf tasks run 12Komut tüm işi tek bir PHP sürecinde yapar: büyük çalıştırmalar için ona yeterli bellek verin (php -d memory_limit=1G $(which wp) …). Komutlar hakkında daha fazlası: WP-CLI komutları.
REST rotaları
Tüm rotalar /wp-json/wpmcf/v1/ altındadır; bir yönetici (manage_options), bir nonce veya bir uygulama parolası ve rotaya ait Pro özelliği (Programatik SEO, yapay zekâ veya yazıya dönüştürme) gerekir. Plan olmadan HTTP 403 "Your current plan does not include this feature." yanıtı verirler.
Yöntem ve rota | Amaç |
|---|---|
| Görevleri listeler ve oluşturur. |
| Bir görevi okur, günceller (oluşturmayla aynı gövde; |
| Kaydetmeden bir görev yapılandırmasının önizlemesi (ilk sayfalar, toplam) |
| Bir görevi başlatır veya duraklatır |
| Görevin tüm sayfalarını siler ve ilerlemesini sıfırlar (yönetim arayüzünde yoktur) |
| Görevin son çalıştırmaları |
| Şu parametrelerle sayfalar: |
| Bir sayfayı gizler veya gösterir |
| Toplu işlemler: |
| SEO sağlık kontrolleri |
| Sayfa düzenleyici verileri; |
| Tek bir değeri elle ayarlar veya sıfırlar ( |
| Bir sayfanın kaynak satırını günceller |
| Sütunlarıyla kaynaklar, kullanılabilir yazı türleri ve şablonlar |
| Yapılandırılmış veri kataloğu ve bir önizleme |
| Çok dilli eklenti ve dilleri |
| Hızlı başlangıç durumu; örneği oluşturma, silme ve ilk sayfalarını oluşturma |
| Dönüştürme genel bakışı, ön kontrol ve başlatma (20.000'den fazla sayfa için |
| Tahminle birlikte yapay zekâ durumu; bir çalıştırma başlatma |
| Bir sayfayı yapay zekâyla yeniden yazmak üzere kuyruğa alır |
| Settings › AI ekranı. Anahtar yalnızca yazılabilir. |
Örnek: bir betikten, bir uygulama parolasıyla görev oluşturma ve başlatma:
curl -u admin:"abcd efgh ijkl mnop" -X POST https://example.com/wp-json/wpmcf/v1/pseo/tasks \
-H 'Content-Type: application/json' \
-d '{
"name": "City pages",
"post_type": "page",
"template_id": 42,
"generation": {
"mode": "row",
"sources": [{"type": "src", "key": "cities", "filters": []}],
"path": {"parent": "guides", "slug": "{{ pseo.src.cities.name }}"},
"title": "Best hotels in {{ pseo.src.cities.name }}"
},
"run": true
}'Doğrulama hataları, düzenleyicinin gösterdiği iletiyle HTTP 422 yanıtı verir ("Choose a page template.", "Enter a URL pattern for the page slug."); plan sınırları HTTP 403 verir.
Hâlâ takıldınız mı? Destek ile iletişime geçin