/**
* Plugin Name: Auto SEO Meta
* Description: Автогенерация SEO meta через Groq API. Multi-geo.
* Version: 1.0
*/
if (!defined('ABSPATH')) exit;
if (!defined('AUTO_SEO_GROQ_KEY')) define('AUTO_SEO_GROQ_KEY', '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');
if (!defined('AUTO_SEO_MODEL')) define('AUTO_SEO_MODEL', 'llama-3.3-70b-versatile');
if (!defined('AUTO_SEO_PLUGIN')) define('AUTO_SEO_PLUGIN', 'yoast');
if (!defined('AUTO_SEO_LANG')) define('AUTO_SEO_LANG', 'English');
if (!function_exists('auto_seo_meta_keys')) {
add_action('save_post', 'auto_seo_on_save', 20, 3);
function auto_seo_meta_keys() {
$map = [
'rankmath' => ['title' => 'rank_math_title', 'desc' => 'rank_math_description'],
'yoast' => ['title' => '_yoast_wpseo_title', 'desc' => '_yoast_wpseo_metadesc'],
'seopress' => ['title' => '_seopress_titles_title', 'desc' => '_seopress_titles_desc'],
'aioseo' => ['title' => '_aioseo_title', 'desc' => '_aioseo_description'],
];
return $map[AUTO_SEO_PLUGIN] ?? $map['rankmath'];
}
function auto_seo_on_save($post_id, $post, $update) {
if (wp_is_post_revision($post_id) || wp_is_post_autosave($post_id)) return;
if ($post->post_status !== 'publish') return;
if (!in_array($post->post_type, ['post', 'page'])) return;
$keys = auto_seo_meta_keys();
$existing_t = get_post_meta($post_id, $keys['title'], true);
$existing_d = get_post_meta($post_id, $keys['desc'], true);
if (!empty($existing_t) && !empty($existing_d)) return;
$seo = auto_seo_generate($post);
if (!$seo) return;
if (empty($existing_t)) update_post_meta($post_id, $keys['title'], $seo['title']);
if (empty($existing_d)) update_post_meta($post_id, $keys['desc'], $seo['description']);
}
function auto_seo_generate($post) {
$title = $post->post_title;
$content = wp_strip_all_tags($post->post_content);
$content = mb_substr($content, 0, 3000);
if (empty($content) && empty($title)) return false;
$site_name = get_bloginfo('name');
$site_desc = get_bloginfo('description');
$domain = parse_url(home_url(), PHP_URL_HOST);
$lang = AUTO_SEO_LANG;
$prompt = "You are an SEO expert. Generate SEO meta title (max 60 chars) and description (max 155 chars) for this webpage.\n\n";
$prompt .= "Output language: {$lang}\n";
$prompt .= "Site: {$site_name} ({$domain})\n";
if ($site_desc) $prompt .= "Site tagline: {$site_desc}\n";
$prompt .= "\nPage title: {$title}\n\n";
$prompt .= "Content:\n{$content}\n\n";
$prompt .= "Rules:\n- Title max 60 chars, includes main keyword\n- Description max 155 chars, compelling\n- Output in {$lang} only\n- No quotes\n- Output ONLY valid JSON:\n";
$prompt .= '{"title":"...","description":"..."}';
$response = wp_remote_post('https://api.groq.com/openai/v1/chat/completions', [
'timeout' => 30,
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer ' . AUTO_SEO_GROQ_KEY,
],
'body' => json_encode([
'model' => AUTO_SEO_MODEL,
'messages' => [['role' => 'user', 'content' => $prompt]],
'temperature' => 0.7,
'max_tokens' => 300,
'response_format' => ['type' => 'json_object'],
])
]);
if (is_wp_error($response)) {
error_log('Auto SEO error: ' . $response->get_error_message());
return false;
}
$code = wp_remote_retrieve_response_code($response);
$body = json_decode(wp_remote_retrieve_body($response), true);
if ($code !== 200) {
error_log('Auto SEO HTTP ' . $code . ': ' . wp_remote_retrieve_body($response));
return false;
}
$text = $body['choices'][0]['message']['content'] ?? '';
if (empty($text)) return false;
$text = preg_replace('/^```json\s*|\s*```$/m', '', trim($text));
$seo = json_decode($text, true);
if (!isset($seo['title']) || !isset($seo['description'])) return false;
return [
'title' => mb_substr($seo['title'], 0, 60),
'description' => mb_substr($seo['description'], 0, 155),
];
}
add_action('add_meta_boxes', function() {
add_meta_box('auto_seo', 'Auto SEO', 'auto_seo_metabox', ['post', 'page'], 'side');
});
function auto_seo_metabox($post) {
$keys = auto_seo_meta_keys();
$t = get_post_meta($post->ID, $keys['title'], true);
$d = get_post_meta($post->ID, $keys['desc'], true);
echo '
Title: ' . esc_html($t ?: '—') . '
';
echo 'Description: ' . esc_html($d ?: '—') . '
';
$url = wp_nonce_url(admin_url('admin-post.php?action=auto_seo_regen&post_id=' . $post->ID), 'auto_seo_' . $post->ID);
echo 'Regenerate
';
}
add_action('admin_post_auto_seo_regen', function() {
$post_id = intval($_GET['post_id'] ?? 0);
if (!current_user_can('edit_post', $post_id)) wp_die('No permission');
check_admin_referer('auto_seo_' . $post_id);
$keys = auto_seo_meta_keys();
delete_post_meta($post_id, $keys['title']);
delete_post_meta($post_id, $keys['desc']);
auto_seo_on_save($post_id, get_post($post_id), true);
wp_redirect(get_edit_post_link($post_id, 'raw'));
exit;
});
} // end function_exists guard
????????? ??????: ??? ???????, ??? ??????? Pinco - Biotin Tablets
????????? ??????: ??? ???????, ??? ??????? Pinco
Pinco t?tbiqi, müxt?lif versiyalar? il? istifad?çl?r? t?qdim olunur. Hans? versiyan? seçm?kd? ç?tinlik ç?kirsinizs?, bu m?qal? siz? köm?k ed?c?k. H?r versiyan?n özün?m?xsus xüsusiyy?tl?ri var v? bu, istifad?çi t?l?bl?rin? uy?un olaraq seçimi asanla?d?ra bil?r. Burada ?n populyar versiyalar?n müqayis?sini t?qdim ed?c?yik, hans?n? yükl?m?yiniz laz?m oldu?unu anlama?a köm?k ed?c?yik. H?mçinin, h?r versiyan?n üstünlükl?ri v? m?nfi c?h?tl?ri bar?d? m?lumat ver?c?yik. Bu ??kild?, siz? uy?un seçim etm?k üçün laz?m olan m?lumatlar? t?qdim ed?c?yik.
Pinco Versiyalar?n?n Üstünlükl?ri v? M?nfi C?h?tl?ri
Pinco-nun f?rqli versiyalar? müxt?lif t?l?bl?ri qar??lay?r. H?r versiyan?n öz unikall??? var, bu da onlar? mü?yy?n h?d?f auditoriyalar?na uy?un edir. A?a??da, bu versiyalar?n b?zi üstünlükl?rini v? m?nfi c?h?tl?rini sadalam???q:
Versiya A:
Üstünlükl?ri: Yüks?k sür?t, istifad?çi dostu interfeys, SDK d?st?yi
M?nfi c?h?tl?ri: M?hdud funksionall?q, qura?d?rma ç?tinliyi
Versiya B:
Üstünlükl?ri: Daha çox funksional xüsusiyy?tl?r, geni? plugin d?st?yi
M?nfi c?h?tl?ri: Yava? yükl?nm?, yüks?k sistem t?l?bl?ri
Versiya C:
Üstünlükl?ri: Aç?q m?nb? kodu, geni? icma d?st?yi
M?nfi c?h?tl?ri: Texniki bilik t?l?b edir, t?hlük?sizlik m?s?l?l?ri ola bil?r
Hans? Versiyan?z? Seçm?lisiniz?
Pinco versiyas?n? seç?rk?n bir neç? amili n?z?r? almal?s?n?z. Suallar?n?za cavab tapmaq üçün a?a??dak? add?mlar? izl?y? bil?rsiniz:
Ehtiyaclar?n?z? d?y?rl?ndirin: H?r bir istifad?çi üçün xüsusi t?l?bl?r f?rqlidir. N? m?qs?dl? istifad? ed?c?yinizi dü?ünün.
Versiyan?n xüsusiyy?tl?rini müqayis? edin: H?r versiyan?n t?qdim etdiyi xüsusiyy?tl?ri v? imkanlar? müqayis? edin.
?nfrastruktur t?l?bl?rini yoxlay?n: Seçdiyiniz versiyan?n sizin sisteminiz? uy?unlu?unu n?zar?t edin.
?cma v? d?st?k resurslar?n? ara?d?r?n: H?r versiyan?n istifad?çi icmas? v? d?st?yi, nec? i?l?diyiniz? t?sir ed? bil?r.
?lk c?hd: Versiyalar? qura?d?raraq, real zamanl? test ed? bil?rsiniz. Bu, siz? hans? versiyan?n daha rahat oldu?unu göst?r?c?k.
Pinco Yükl?m? Prosesi
Pinco-nu yükl?m?k üçün a?a??dak? add?mlar? izl?y? bil?rsiniz:
R?smi veb sayt?na daxil olun: Pinco-nun r?smi sayt?na daxil olun v? yükl?m? bölm?sin? keçin.
Seçim edin: ?htiyaclar?n?za uy?un versiyan? seçin.
Yükl?m? düym?sini bas?n: Seçdiyiniz versiya üçün yükl?m? düym?sini bas?n.
Qura?d?rma prosesini ba?a çatd?r?n: Yükl?m? tamamland?qdan sonra, qura?d?rma prosesini ba?lat?n.
Sonuç
Pinco versiyalar?n?n müqayis?si, sizin seçim etm?yiniz? köm?k ed? bil?r. H?r bir versiya, spesifik ehtiyaclar?n?za cavab ver? bil?r. Ümumiyy?tl?, hans? versiyan? seç?c?yiniz sizin istifad? m?qs?dinizd?n, texniki biliyinizd?n v? sistem t?l?bl?rind?n as?l?d?r. Detallar? n?z?r? alaraq düzgün seçimi etdikd?n sonra, Pinco-nun t?qdim etdiyi imkanlardan ?n yax?? ??kild? faydalana bil?rsiniz.
Tez-tez veril?n suallar (FAQ)
1. H?r versiyan?n yükl?m? ölçüsü n? q?d?rdir? H?r versiyan?n yükl?m? ölçüsü f?rqlidir; r?smi saytda m?lumat? ?ld? ed? bil?rsiniz.
2. Hansi versiya daha asan qura?d?r?l?r? Versiya A, istifad?çi dostu interfeysi say?sind? daha asan qura?d?r?l?r.
3. Pinco-nun pulsuz versiyas? varm?? B?li, maarifl?ndirm?k üçün pulsuz versiya mövcuddur.
4. Hans? versiyada daha çox d?st?k var? Versiya B, geni? plugin d?st?yi il? daha çox icma günc?lliyin? malikdir.
5. Qura?d?rma zaman? t?hlük?sizlik m?s?l?l?ri nec? h?ll olunur? R?smi veb saytdan yükl?dikd?, t?hlük?sizlik t?min edilir.
Post navigation