<?php
declare(strict_types=1);require __DIR__.'/_bootstrap.php';
if(request_is_post()){
 verify_csrf();$action=(string)($_POST['action']??'settings');
 if($action==='settings'){
  $ampBase=rtrim(admin_post_string('amp_base_url',base_url()),'/');$ampPages=admin_post_string('amp_pages','posts');
  if(!filter_var($ampBase,FILTER_VALIDATE_URL)||!in_array(parse_url($ampBase,PHP_URL_SCHEME),['http','https'],true)||!in_array($ampPages,['posts','posts_services','all'],true)){flash('error','AMP adresi veya sayfa türü geçersiz.');redirect('/admin/seo.php');}
  save_setting('amp_enabled',!empty($_POST['amp_enabled'])?'1':'0');save_setting('amp_base_url',$ampBase);save_setting('amp_pages',$ampPages);flash('success','SEO ve AMP ayarları kaydedildi.');
 }elseif($action==='redirect'){
  $old='/'.ltrim(parse_url(admin_post_string('old_path'),PHP_URL_PATH)?:'','/');$new=admin_post_string('new_url');$status=(int)($_POST['status_code']??301);if($old==='/'||$new===''||!in_array($status,[301,302],true)){flash('error','Eski yol, hedef veya yönlendirme kodu geçersiz.');redirect('/admin/seo.php');}
  db()->prepare('INSERT INTO redirects(old_path,new_url,status_code,is_active,created_at,updated_at) VALUES(?,?,?,?,NOW(),NOW()) ON DUPLICATE KEY UPDATE new_url=VALUES(new_url),status_code=VALUES(status_code),is_active=1,updated_at=NOW()')->execute([$old,$new,$status,1]);flash('success','Yönlendirme kaydedildi.');
 }elseif($action==='delete_redirect'){db()->prepare('DELETE FROM redirects WHERE id=?')->execute([(int)$_POST['id']]);flash('success','Yönlendirme silindi.');}
 redirect('/admin/seo.php');
}
$redirects=db()->query('SELECT * FROM redirects ORDER BY id DESC LIMIT 200')->fetchAll();admin_header('SEO ve AMP');?>
<div class="cards"><div class="stat"><span>Sitemap</span><b>4</b><a href="<?=url('/sitemap.xml')?>" target="_blank">Indexi aç ↗</a></div><div class="stat"><span>Aktif Hizmet URL</span><b><?=db()->query('SELECT COUNT(*) FROM services WHERE is_active=1')->fetchColumn()?></b></div><div class="stat"><span>Yayındaki İçerik</span><b><?=db()->query("SELECT (SELECT COUNT(*) FROM posts WHERE status='published')+(SELECT COUNT(*) FROM pages WHERE status='published')")->fetchColumn()?></b></div><div class="stat"><span>301 Kuralı</span><b><?=count($redirects)?></b></div></div>
<div class="split-admin"><form class="panel" method="post"><div class="panel-head"><h2>AMP ayarları</h2></div><div class="panel-body"><?=csrf_field()?><input type="hidden" name="action" value="settings"><label class="checkrow"><input type="checkbox" name="amp_enabled" value="1" <?=setting_bool('amp_enabled')?'checked':''?>> AMP bağlantılarını etkinleştir</label><label>AMP alan adı veya kök adres<input type="url" name="amp_base_url" value="<?=e(setting('amp_base_url','https://nekrut.online'))?>"><span class="help">Ayrı alan adı kullanılacaksa aynı tema o alan adına da kurulmalıdır. Aynı domain için <?=e(base_url())?> yazın.</span></label><label>AMP sayfa türleri<select name="amp_pages"><option value="posts" <?=setting('amp_pages')==='posts'?'selected':''?>>Yalnız makaleler</option><option value="posts_services" <?=setting('amp_pages')==='posts_services'?'selected':''?>>Makaleler ve hizmetler</option><option value="all" <?=setting('amp_pages')==='all'?'selected':''?>>Tüm uygun sayfalar</option></select></label><button class="button">Kaydet</button></div></form>
<div class="panel"><div class="panel-head"><h2>Teknik SEO durumu</h2></div><div class="panel-body"><p>Canonical adresler yapılandırılmış <span class="code">APP_URL</span> üzerinden üretilir.</p><p>Rezervasyon sonuçları ve yönetim bağlantıları <span class="code">noindex,nofollow</span> olarak işaretlenir.</p><p>Sitemap yalnız yayınlanmış kurumsal sayfaları, makaleleri ve aktif hizmetleri içerir.</p><p>Schema graph: <span class="code">Organization + DaySpa + Hotel + WebSite + WebPage</span>; hizmette <span class="code">Service</span>, makalede <span class="code">BlogPosting</span>.</p><p><a class="button secondary" href="<?=url('/robots.txt')?>" target="_blank">robots.txt Aç</a></p></div></div></div>
<div class="panel"><div class="panel-head"><h2>301 yönlendirmeler</h2></div><div class="panel-body"><form class="filterbar" method="post"><?=csrf_field()?><input type="hidden" name="action" value="redirect"><input name="old_path" placeholder="/eski-url" required><input name="new_url" placeholder="https://nekrut.com/yeni-url veya /yeni-url" style="min-width:330px" required><select name="status_code"><option value="301">301 Kalıcı</option><option value="302">302 Geçici</option></select><button class="button">Ekle</button></form></div><div class="table-wrap"><table><thead><tr><th>Eski yol</th><th>Hedef</th><th>Kod</th><th>Hit</th><th></th></tr></thead><tbody><?php foreach($redirects as $r):?><tr><td><?=e($r['old_path'])?></td><td><?=e($r['new_url'])?></td><td><?=$r['status_code']?></td><td><?=$r['hits']?></td><td><form method="post"><?=csrf_field()?><input type="hidden" name="action" value="delete_redirect"><button class="button small danger" name="id" value="<?=$r['id']?>" data-confirm="Yönlendirme silinsin mi?">Sil</button></form></td></tr><?php endforeach;?></tbody></table></div></div>
<?php admin_footer();?>
