# AI hookok: kérések és promptok szolgáltatónként

> Az AI-szolgáltatóknak küldött HTTP-kérések és promptok szűrése: SEO-metaadatok, meta cím és leírás, közösségi metaadatok és alternatív szövegek.

Ez a fejezet azokat a hookokat írja le, amelyekkel a SEOPress PRO AI-szolgáltatóknak küldött kéréseit és promptjait módosíthatod. A hookok használatának általános szabályai a [Composer és hookok használata](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/fejlesztoknek-composer-es-hookok/) fejezetben vannak. A képek metaadataihoz küldött promptról, az egyedi utasításokról és az AI-asszisztens kéréséről az [AI hookok: generálás, utasítások, kérések és MCP](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-ai-generalas/) fejezet szól. A generálás beállításait az [AI-metaadatok generálása](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/ai-metaadatok-generalasa/) fejezet mutatja be.

Minden hook nevében a `{provider}` helyére az AI-szolgáltató azonosítója kerül. A hook neve a szolgáltatótól függően más, ezért a kódban a teljes nevet írd ki (például `seopress_ai_openai_request_args`).

## Áttekintés

| Hook | Típus | Legkisebb verzió | Mire jó | Szolgáltatók |
|---|---|---|---|---|
| `seopress_ai_{provider}_request_args` | szűrő (filter) | 6.3 | A SEO-metaadatok generálásához küldött HTTP-kérés paraméterei. | openai, deepseek, gemini, mistral, claude |
| `seopress_ai_{provider}_meta_title` | szűrő | 6.3 | A meta cím generálásához küldött prompt. | openai, deepseek, gemini, mistral, claude, seopress |
| `seopress_ai_{provider}_meta_desc` | szűrő | 6.3 | A meta leírás generálásához küldött prompt. | openai, deepseek, gemini, mistral, claude |
| `seopress_ai_{provider}_social_request_args` | szűrő | 9.5 | A közösségi metaadatok generálásához küldött HTTP-kérés paraméterei. | openai, deepseek, gemini, mistral, claude |
| `seopress_ai_{provider}_social_{platform}_{meta_type}` | szűrő | 9.5 | A közösségi metaadatok generálásához küldött prompt. | openai, deepseek, gemini, mistral, claude |
| `seopress_ai_{provider}_request_args_alt` | szűrő | 7.3 | Az alternatív szövegek generálásához küldött HTTP-kérés paraméterei. | openai, deepseek, gemini, mistral, claude, seopress |

## A HTTP-kérés paramétereinek szűrése

Három hook a szolgáltatóhoz küldött HTTP-kérés paramétereit adja át módosításra. Ezek a WordPress `wp_remote_post()` függvényének argumentumai:

| Hook | Mit generál a kérés | Paraméterek |
|---|---|---|
| `seopress_ai_{provider}_request_args` | SEO-metaadatok (meta cím és leírás) | az argumentumtömb |
| `seopress_ai_{provider}_social_request_args` | közösségi metaadatok | az argumentumtömb |
| `seopress_ai_{provider}_request_args_alt` | alternatív szövegek a képekhez | az argumentumtömb és a kép (melléklet) azonosítója |

Az argumentumtömb ezeket a kulcsokat tartalmazza:

| Kulcs | Jelentése | Alapérték |
|---|---|---|
| `body` | A JSON-ként kódolt kérés. | a kérés tartalma |
| `timeout` | A várakozási idő másodpercben. | 30 |
| `redirection` | Hány átirányítást követ. | 5 |
| `httpversion` | A HTTP-verzió. | 1.0 |
| `blocking` | Megvárja-e a választ. | `true` |
| `headers` | A fejlécek, köztük az API-kulcsot hordozó fejléc. | a szolgáltatótól függ |

Az API-kulcs a `headers` tömbben van, ezért ha naplózol vagy hibát keresel, a fejléceket ne mentsd el és ne írd ki.

Példa: lassú kapcsolat esetén megnöveled a várakozási időt az OpenAI SEO-metaadat-kéréseinél, és a Claude alternatív szöveges kéréseinél:

```php
add_filter( 'seopress_ai_openai_request_args', function ( $args ) {
    $args['timeout'] = 90;
    return $args;
} );

add_filter( 'seopress_ai_claude_request_args_alt', function ( $args, $attachment_id ) {
    $args['timeout'] = 90;
    return $args;
}, 10, 2 );
```

## A meta cím és a meta leírás promptja

A `seopress_ai_{provider}_meta_title` és a `seopress_ai_{provider}_meta_desc` szűrő azt a szöveget (promptot) kapja, amelyet a SEOPress elküld az AI-nak. A visszaadott szöveg kerül a kérésbe. Két paramétert kapnak: a promptot és a bejegyzés azonosítóját. Ha a generálás nem köthető konkrét bejegyzéshez, az azonosító értéke 0.

Példa: a meta címnél mindig kéred a webhely nevének említését, a leírásnál pedig megszabod a hangnemet:

```php
add_filter( 'seopress_ai_openai_meta_title', function ( $prompt, $post_id ) {
    return $prompt . "\nA cím végén szerepeljen a „Minta Bolt” név.";
}, 10, 2 );

add_filter( 'seopress_ai_openai_meta_desc', function ( $prompt, $post_id ) {
    return $prompt . "\nA leírás hangneme legyen barátságos, tegező.";
}, 10, 2 );
```

A webhelyszintű, minden generálásra érvényes utasításra a `seopress_ai_{provider}_custom_instructions` szűrő is használható, lásd az [AI hookok: generálás, utasítások, kérések és MCP](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-ai-generalas/) fejezetet.

## A közösségi metaadatok promptja

A `seopress_ai_{provider}_social_{platform}_{meta_type}` szűrő a Facebook (Open Graph) és az X (Twitter) címének és leírásának generálásához küldött promptot adja át. A hook nevében három helyőrző van:

| Helyőrző | Lehetséges értékek |
|---|---|
| `{provider}` | `openai`, `deepseek`, `gemini`, `mistral`, `claude` |
| `{platform}` | `facebook`, `twitter` |
| `{meta_type}` | `title` (cím), `desc` (leírás) |

Egy szolgáltatóhoz így négy hook tartozik, például az OpenAI-nál:

| Hook | Mit generál |
|---|---|
| `seopress_ai_openai_social_facebook_title` | a Facebook-cím promptja |
| `seopress_ai_openai_social_facebook_desc` | a Facebook-leírás promptja |
| `seopress_ai_openai_social_twitter_title` | az X-cím promptja |
| `seopress_ai_openai_social_twitter_desc` | az X-leírás promptja |

A szűrő két paramétert kap: a promptot és a bejegyzés azonosítóját.

```php
add_filter( 'seopress_ai_gemini_social_twitter_desc', function ( $prompt, $post_id ) {
    return $prompt . "\nA leírás legyen rövid és lényegretörő.";
}, 10, 2 );
```

## Használati tanácsok

- Ha több szolgáltatót is használsz, vagy később váltani szeretnél, ugyanazt a függvényt több hookra is felveheted.
- A prompthoz érdemes hozzáfűzni, nem lecserélni: így a SEOPress saját utasításai megmaradnak.
- A hookokat a sablonod `functions.php` fájljába vagy egy saját kis bővítménybe tedd, ne a SEOPress fájljaiba, mert azok frissítéskor felülíródnak.
