=== SEOYEN SEO Platform === Contributors: tevfikgulep Tags: seo, redirects, schema, internal linking, ai content Requires at least: 6.0 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 1.1.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html One-click WordPress integration for the SEOYEN SEO platform. AI content, internal links, redirects, schema, audit auto-fix, instant indexing. == Description == SEOYEN SEO Platform is the official WordPress companion plugin for the SEOYEN SEO platform (https://seoyen.com/). It lets you apply decisions made in the SEOYEN panel to your WordPress site with a single click — publish AI-generated articles, add internal links from SEOYEN suggestions, fix audit issues, manage 301/302/307/308/410 redirects, write meta descriptions that work with every major SEO plugin, and much more. Use the plugin alongside an active SEOYEN account to turn panel recommendations into live site changes without copying and pasting, editing templates, or juggling multiple SEO tools. A guided welcome screen greets you right after activation and walks you through connecting the plugin to your SEOYEN account. **Highlights** * Publish AI-generated content (articles and paragraphs) from the SEOYEN panel straight to WordPress as drafts, scheduled posts, or published articles. * Apply internal link suggestions with a single click, powered by a safe DOMDocument-based link inserter. * Manage 301/302/307/308/410 redirects with per-hit analytics, support for exact, prefix, and regex matching, CSV bulk import, and automatic capture of broken backlinks. * Auto-fix common SEO audit issues on 45 supported check types (title, meta description, canonical, robots.txt, schema Article/Breadcrumb/Organization/WebSite/Product/FAQPage, Open Graph + Twitter Card expansion, hreflang, alt text, viewport, apple-touch-icon, theme-color, llms.txt, AI bot management, broken-link 301 capture, redirect chains, and more). * Notify IndexNow (Bing/Microsoft) the moment content is published — optional and disabled by default, with a verification key generated inside the plugin. * Submit published URLs to the Google Indexing API using your own Google Cloud service-account credentials — optional and disabled by default. * Apply AI-generated meta descriptions across Yoast SEO, Rank Math, SEOPress, or the built-in native fallback — the plugin detects your active SEO plugin automatically. * Set image alt text in bulk, including featured images and media library entries. * Manage JSON-LD schema markup per post (append, replace, upsert) and output it in a single clean `` breakout güvenlik açığı kapatıldı — `JSON_UNESCAPED_SLASHES` kaldırıldı, `<\/` replace koruması eklendi. = 1.0.8 = * Autofix kapsamı 45 check'ten **57 check'e** çıkarıldı — SEOYEN Panel audit'teki 12 yeni sorun türü artık tek tıkla düzeltilebilir. * 5 yeni kayıtlı check handler'ı: `content.meta_description_duplicate`, `content.low_word_count`, `content.h1_missing_in_content`, `schema.local_business_missing`, `ai_search.llms_full_missing` — panel registry ile plugin handler listesi senkronize edildi. * 7 yeni spec-gereği check handler'ı: `social_meta.twitter_card_type_missing`, `schema.how_to_missing`, `schema.video_missing`, `schema.review_missing`, `hreflang.html_lang_missing`, `ai_search.claude_bot_allowed`, `ai_search.perplexity_bot_allowed`. * Schema Markup genişlemesi: **4 yeni builder** — `build_howto` (H3/H4 + P regex ile adım parse), `build_video` (featured image thumbnail + yazı bilgileri), `build_local_business` (site bilgileri + override desteği), `build_review` (rating/author override ile). * Frontend SEO Output genişlemesi: apple-touch-icon, theme-color, twitter:card (site-level default) ve llms-full.txt virtual serving (`/llms-full.txt`) artık plugin tarafından rendering priority 1'de emit edilir. * HTML lang attribute filter: `language_attributes` WP filter'ı üzerinden kullanıcı tarafından seçilen locale uygulanır (BCP 47 kod doğrulaması ile). * AI bot allow kuralları: Claude ve Perplexity bot'ları için ayrı `allow` modu — önceki allow/block toggle'dan farklı olarak iki bot için de idempotent Allow: / yazımı. * Düşük kelime sayısı (`content.low_word_count`) için AI tabanlı içerik genişletme handler'ı — panel AI `content-expand` promptu ile uzatılmış içeriği yazıya ekler. = 1.0.7 = * Autofix kapsamı 14 check'ten **45 check'e** çıkarıldı — SEOYEN Panel audit'in tespit ettiği çok daha geniş bir sorun yelpazesi artık tek tıkla düzeltilebilir. * Yeni içerik yeniden yazma (rewrite) handler'ları: başlık çok kısa/uzun/duplicate, meta açıklama çok kısa/uzun/duplicate, H1 çok uzun/duplicate, alt metni çok kısa/uzun — her biri SEOYEN Panel'deki AI ile yeni içerik üretir ve uygular. * Schema Markup genişlemesi: **6 yeni builder** — Article, BreadcrumbList, Organization, WebSite (SearchAction dahil), Product (WooCommerce entegrasyonlu), FAQPage (içerikten Q&A regex + Gutenberg FAQ block parse). Payload yoksa plugin kendisi üretir. * Social Meta genişlemesi: og:type, og:url, twitter:title, twitter:description, twitter:image için ayrı check_key desteği. * Yönlendirme Zinciri (Redirect Chain) çözücü: panel zinciri tespit ettiğinde plugin ortadaki tüm redirect'leri pasifleştirip kaynak → son hedef tek 301'e düşürür. * Kırık Dış Link düzeltme: `links.broken_outgoing` artık yeni hedef URL geldiğinde otomatik 301 yönlendirme oluşturur (kayıt `broken_backlinks` origin ile işaretlenir). * AI arama botları yönetimi: `ai_search.gpt_bot_blocked` ve `ai_search.claude_bot_blocked` check'leri GPTBot, ClaudeBot, anthropic-ai bot'larını robots.txt extra'ya allow/block modunda ekler. * Mobil ikon/theme-color eksiklikleri: `mobile.apple_touch_icon_missing` (site ikonu fallback), `mobile.theme_color_missing` (varsayılan #8b5cf6) artık tek tıkla düzeltilebilir. * Yanlış noindex kaldırma: `crawlability.noindex_wrong` Yoast/RankMath/SEOPress/native tüm seviyelerde noindex bayrağını temizler. * Çoklu meta/title/H1 tespiti: `content.multiple_title`, `content.multiple_meta_desc`, `content.multiple_h1` — theme düzenlemesi gerektiren check'ler için detection-only + Türkçe açıklayıcı hint. * Integration base class'ına `set_og_field($post_id, $field, $value)`, `set_twitter_field($post_id, $field, $value)`, `set_title()` (alias), `set_meta_desc()` (alias) metotları eklendi — plugin'lere bağımsız genel OG/Twitter kontrolü sağlar. * FileManager'a `update_robots_ai_bots($action, $bots)` eklendi — robots.txt extra kısmında AI bot bloklarını idempotent şekilde günceller (eski blok varsa temizlenir, yenisi yazılır). * RedirectManager'a `deactivate_intermediates($chain_urls)` eklendi — chain resolver için ortadaki 301'leri soft-delete (is_active=0) olarak işaretler. * SchemaManager builder'ları Google Rich Results Test uyumlu @id + mainEntityOfPage yapısı kullanır. = 1.0.6 = * Panel: wp_issue_fixed callback endpoint eklendi — plugin düzeltme tamamlandığında panel audit_issues tablosunda resolved=1 (veya detection-only skip durumunda muted=1) işaretlenir. Sayfa yenilendiğinde düzeltilen issue'lar listeden kaybolur. * JS: Toplu URL düzeltme sonrası her URL satırı "✓ Düzeltildi" olarak görsel güncellenir (yeşil arka plan + disable button). Başarısız URL'ler kırmızı ile işaretlenir. * URL eşleştirme iyileştirildi: trailing slash, http/https, encoding farklılıkları için çoklu varyant deneme (findUrlRow helper). * AI hata mesajları iyileştirildi: "Yapay zeka servisi şu anda kullanılamıyor. Birkaç dakika sonra tekrar deneyin." — HTTP 503 (önceki 500/502 yerine). * CSS: .seoyen-audit-urls li.is-fixed / is-failed için görsel stilizasyon. = 1.0.5 = * AI-only düzeltme sistemi: Tek Tıkla Düzelt artık gerçek yapay zeka ile içerik üretir. Meta açıklama, başlık, H1, alt metin, OG, Twitter Card, schema, robots.txt ve llms.txt için tamamen AI tabanlı üretim. * Fallback sistemi kaldırıldı: Yazı slug'ından, excerpt'ten veya dosya adından otomatik üretilen eski "akıllı fallback" mantığı artık yok — payload AI'dan gelmek zorunda, yoksa "Bu düzeltme yapay zeka ile içerik üretmeyi gerektirir" hatası verir. * 10 yeni AI prompt şablonu: Her autofix check türü için Türkçe, SEO uyumlu, context-aware prompt. * Yeni panel endpoint: `wp_generate_fix` — plugin AJAX handler'ı önce panel'den AI üretim ister, dönen payload ile düzeltmeyi uygular. * Context-aware AI üretim: Her autofix çağrısı WordPress'ten ilgili verileri (post başlığı, içerik özeti, attachment meta, featured image, kategoriler, parent post) toplar ve AI'a ona göre prompt gönderir. * AI kredi sistemi entegrasyonu: Kredi bittiğinde "Yapay Zeka krediniz bitti" modal'ı gösterilir, yenilenme tarihi görüntülenir, işlem yapılmaz. * Plan gate: Tek Tıkla Düzelt, AI Yayınla, Uygula, yönlendirme yönetimi ve webhook oluşturma gibi yazma aksiyonları yalnızca Bireysel, Pro ve Enterprise paketlerinde kullanılabilir. Ücretsiz paket eklentiyi kurup panel verilerini görüntüleyebilir ama yazma yapamaz. * Quick access check endpoint (`wp_quick_access_check`): Plugin boot sırasında kullanıcının plan ve kredi durumunu panel'den sorgular, 12 saat boyunca cache'ler, UI'ı buna göre ayarlar. * Plan banner: Ücretsiz paket kullanıcıları için Dashboard ve İçerik sayfalarında bilgilendirme banner'ı. * Credit banner: Kredi bittiğinde tüm ilgili sayfalarda yenilenme tarihi ile uyarı banner'ı. * Detection-only check'ler korundu: `crawlability.canonical_missing`, `mobile.viewport_missing`, `social_meta.og_image_missing` ve `hreflang.missing` AI gerektirmez — WordPress verilerinden (permalink, featured image, WPML/Polylang) otomatik uygulanır. = 1.0.4 = * Tek Tıkla Düzelt artık gerçekten çalışıyor: audit handler'a 7 akıllı fallback eklendi — payload boş gönderildiğinde plugin WordPress verilerinden otomatik meta açıklama, alt metin, OG açıklama, hreflang vb. üretir. * Meta ve OG açıklama fallback: yazı excerpt'i varsa onu, yoksa içeriğin ilk 155 karakteri (HTML strip + kelime sınırından kesim) kullanılır. * Alt metin fallback: attachment başlığı → parent post başlığı → dosya adından insanlaştırılmış metin. * Başlık fallback: payload boşsa yazı slug'ından insanlaştırılmış başlık üretilir. * Hreflang akıllı tespit: WPML/Polylang aktifse alternatif URL'ler otomatik çekilir; tek dilli siteler için "skipped_no_alternates" (sessiz başarı) döner — hata vermez. * URL resolve iyileştirmesi: query string, fragment, trailing slash, http/https farklılıkları artık otomatik handle ediliyor (get_page_by_path fallback dahil). * Tek Tıkla Düzelt butonu artık issue'daki TÜM affected URL'leri sırayla düzeltir (ilk URL yerine). Kart üzerinde canlı sayaç: "Düzeltiliyor (3/8)…". * Kısmi başarı durumu: bazı URL'ler düzeltilip bazıları hata verirse "Kısmen düzeltildi (5/8)" mesajı gösterilir. * Global audit fix'leri (viewport/robots/llms) URL gerektirmez — panel URL göndermese bile çalışır. = 1.0.3 = * 403 "Güvenlik doğrulaması başarısız" hatası kalıcı olarak çözüldü: Admin JS dosyaları artık footer yerine header'a yükleniyor, wp_localize_script ile emit edilen seoyenAdmin objesi inline script bloklarından önce hazır oluyor — nonce artık doğru geçiyor. * Inline script'lerde ajaxUrl/nonce değişkenleri artık butona basma anında okunuyor (lazy read). * Download endpoint (wp_download_plugin) artık X-Seoyen-Key header-auth ile de çalışıyor — WP native güncelleme akışında "Unauthorized" hatası çözüldü. = 1.0.2 = * Tek Tıkla Düzelt ve Bunu Düzelt butonları düzeltildi: AJAX handler artık REST dispatch yerine doğrudan Seoyen_Audit_Handler::autofix() çağırıyor (X-Seoyen-Key header beklentisi bypass edildi, admin nonce yeterli). * 403 "Forbidden" hatası düzeltildi: Tüm seoyen_admin ve seoyen_redirects_action nonce kontrolleri artık graceful fail veriyor — kullanıcıya "Sayfayı yenileyip tekrar deneyin" mesajı gösterilir (wp_die yerine JSON error). * "Tümü" sekmesi artık hem Site Denetimi düzeltmelerini hem de AI önerilerini/makalelerini yan yana gösteriyor. * Plugin güncelleme sonrası panel'e otomatik versiyon sync eklendi: upgrader_process_complete sonrası ve admin_init'te plugin_version mismatch varsa panel'e wp_site_status ping atılıyor — "Güncelleme mevcut" badge'i artık Check Now gerektirmeden kaybolur. * Tüm admin UI tamamen Türkçeleştirildi: menü, sekmeler, kartlar, butonlar, bildirimler. ASCII-safe yazımlar (baglan, icin, duzelt, vs.) doğru Türkçe karakterlere (bağlan, için, düzelt) çevrildi. * Setup wizard "API key required" hatası düzeltildi: key önce option'a yazılmadan explicit olarak test edilir. = 1.0.1 = * Added Site Audit Fixes tab in Content Suggestions page: shows up to 14 auto-fixable audit checks pulled from the SEOYEN panel with one-click fix buttons. * Added AI Articles tab in Content Suggestions page: lists completed AI Writer articles from the panel with Publish-to-WP action. * Internal Links page now reads from the live link_opportunities data source; suggestions auto-populate whenever the panel internal-links page is visited. * Fixed setup wizard "API key required" error by passing the key explicitly on the activation request instead of relying on the option cache. * Fixed redirect form: source and target URLs accepted as relative paths (`/eski`, `/yeni`) and site-local full URLs; no more `http://yeni` corruption. * Suppressed foreign admin notices on SEOYEN admin pages so the page title area is not polluted by other plugins. * Made Dashboard, Settings, Redirects, and System Status pages use the full content width. * Added WP native update flow with dual-source detection (WordPress.org if the plugin is listed there, SEOYEN panel otherwise). * Added plugin admin update banner with version-based dismiss and security-update override. * Added panel "Check for Updates" button on the Settings > General tab. * Added menu entry "WordPress Eklentisi" in the SEOYEN panel sidebar with a dedicated install/upgrade page and per-project API key management. * Added Turkish translation (.po / .mo) plus JSON translations for admin JS. * Panel update_check endpoint parses `Version`, `Stable tag`, tested/requires/requires_php, changelog, and upgrade_notice from the readme.txt. = 1.0.0 = * Initial public release. * 34 REST API endpoints under `/wp-json/seoyen/v1/` (system, content, meta, media, schema, social, links, redirects, audit, files, activity, bulk, webhooks). * 4 SEO plugin adapters (Yoast SEO, Rank Math, SEOPress, native fallback). * 14 audit auto-fix check types (title_missing, meta_missing, h1_missing, alt_missing, canonical_missing, robots_missing, json_ld_missing, og_missing, viewport_missing, hreflang_missing, llms_txt_missing, and more). * Redirect manager with exact / prefix / regex matching, hit-count analytics, and CSV bulk import. * Seven admin pages: Dashboard, Settings, Redirects, Internal Links, Content Suggestions, Activity Log, System Status. * Dashboard widget for wp-admin index page. * Outbound webhook dispatcher with HMAC-SHA256 signing. * Activity log with search, filter, and CSV export. * Virtual `robots.txt` and `llms.txt` serving. * Full i18n support with POT template (`languages/seoyen.pot`). == Upgrade Notice == = 1.1.0 = Sunucu-sürümlü companion çerçevesi: AI Görünürlük + Arama Performansı sekmeleri eklendi, panele yeni özellik geldiğinde artık eklenti güncellemesi gerekmiyor. Grafikler paketlenmiş Chart.js ile çizilir. Önerilen güncelleme. = 1.0.13 = AI bot ziyaret kaydı + IndexNow + Google Instant Indexing + karşılama ekranı + robots.txt AI bot toggle'ları. Panel bağlantısını kıran çift-header hatası düzeltildi — tüm kullanıcılar için önerilen güncelleme. = 1.0.8 = Autofix 57 check'e çıkarıldı, 12 yeni tür (twitter:card türü, HowTo/Video/Review schema, html lang, Claude/Perplexity allow, düşük kelime sayısı, llms-full.txt). Schema builder + frontend genişlemesi. Önerilen güncelleme. = 1.0.7 = Autofix 45 check'e çıkarıldı, Schema builder, redirect chain resolver, AI bot yönetimi. Önerilen güncelleme. = 1.0.6 = Düzeltme callback'i + URL satırı UI güncelleme + AI hata mesajı iyileştirme. Önerilen güncelleme. = 1.0.5 = AI tabanlı düzeltme sistemi eklendi. Tek Tıkla Düzelt için Bireysel veya üstü paket ve AI kredisi gereklidir. Fallback mantığı kaldırıldı — yalnızca yapay zeka ile çalışır. Önerilen güncelleme. = 1.0.4 = Tek Tıkla Düzelt akıllı fallback'lerle tam çalışır hale getirildi. Meta, alt metin, OG, hreflang otomatik üretilir. Toplu URL düzeltme eklendi. Önerilen güncelleme. = 1.0.3 = Kritik 403 nonce hatası ve update "Unauthorized" hatası çözüldü. Önerilen güncelleme. = 1.0.2 = Tek Tıkla Düzelt düzeltildi (403 fix), Tümü sekmesinde audit ve AI önerileri birlikte, otomatik versiyon sync, tamamen Türkçe UI. Önerilen güncelleme. = 1.0.1 = Site Audit Fixes + AI Articles tabs added, internal links auto-populate, setup wizard and redirect form fixes, foreign notice suppression, full-width admin pages. Recommended update. = 1.0.0 = Initial public release.