# Tartalomelemzési hookok: belső linkek, valódi előnézet és Search Console

> Szűrők a belső linkajánlásokhoz olvasott szövegre és egyéni mezőkre, a tartalomelemzés előnézeti kérésére, valamint a Search Console-sorok párosítására és időszakára.

Ez a fejezet azokat a szűrőket gyűjti össze, amelyekkel a tartalomelemzés, a belső linkajánlások és a Google Search Console-adatok viselkedését igazíthatod. A szűrőket a sablon `functions.php` fájljába vagy egy saját bővítménybe tedd.

| Hook | Mire jó |
|---|---|
| `seopress_pro_significant_kw_custom_fields` | Mely egyéni mezők (meta kulcsok) szövegét olvassa a belső linkajánló. |
| `seopress_pro_significant_kw_acf_field_types` | Mely ACF-mezőtípusok értékét olvassa szövegként. |
| `seopress_pro_significant_kw_prose_line_length` | Az a sorhossz, amely fölött egy mezősort folyószövegnek vesz. |
| `seopress_pro_significant_kw_content` | A kulcsszókinyeréshez olvasott végső szöveg. |
| `seopress_pro_significant_kw_render_content` | Renderelje-e a tartalmat a kulcsszókinyerés előtt. |
| `seopress_real_preview_custom_args` | A tartalomelemzés előnézeti kérésének alapargumentumai. |
| `seopress_real_preview_remote` | Az előnézeti kérés teljes argumentumkészlete. |
| `seopress_search_console_match_url` | A Search Console-sor URL-je a bejegyzéshez párosítás előtt. |
| `seopress_search_console_match_post_id` | Végső tartalék a bejegyzés azonosítójának megtalálására. |
| `seopress_search_console_start_date` | A Search Console-lekérdezés kezdődátuma. |
| `seopress_search_console_end_date` | A Search Console-lekérdezés záródátuma. |

## Belső linkajánlások: mit olvasson a bővítmény

A belső linkajánló a bejegyzés szövegéből kulcsszavakat von ki. Az olvasott szöveg a bejegyzés tartalma, kiegészítve az egyéni mezők szövegével. Alapból azokat az ACF-mezőket olvassa, amelyek értéke a bejegyzéshez mentve van, és a típusuk szöveg, hosszú szöveg vagy vizuális szerkesztő.

### Egyéni mezők kiválasztása

A `seopress_pro_significant_kw_custom_fields` szűrő a beolvasott meta kulcsok tömbjét adja át (alapból a bejegyzés ACF-mezőinek kulcsai) és a bejegyzés objektumát. Hozzáadhatod más szerkesztő vagy mezőkezelő által használt meta kulcsokat, vagy üres tömböt adhatsz vissza, hogy a bővítmény csak a `post_content` tartalmát olvassa.

```php
add_filter( 'seopress_pro_significant_kw_custom_fields', function ( $keys, $post ) {
    // Saját szerkesztő meta kulcsának felvétele.
    $keys[] = 'sajat_szoveg_meta';
    return $keys;
}, 10, 2 );
```

```php
// Csak a bejegyzés tartalma számítson.
add_filter( 'seopress_pro_significant_kw_custom_fields', '__return_empty_array' );
```

Két további szűrő finomhangol:

- `seopress_pro_significant_kw_acf_field_types`: a beolvasott ACF-mezőtípusok tömbje, alapértéke `text`, `textarea`, `wysiwyg`. Ha az ACF nincs betöltve, vagy a mező már nem létezik, a típus ismeretlen, és az érték olvasható marad.
- `seopress_pro_significant_kw_prose_line_length`: bájtban megadott szám (alapérték 200). Az ennél hosszabb mezősorokat a bővítmény csupán a szavai alapján is folyószövegnek tekinti.

### A végső szöveg módosítása

A `seopress_pro_significant_kw_content` szűrő megkapja a kulcsszókinyeréshez összeállított szöveget, a bejegyzést és a változatlan `post_content` értéket (`$raw`). Olyan oldalszerkesztőnél jó, amely a WordPressen kívül rendereli a tartalmát: itt visszaadhatod a szerkesztő szövegét, és a belső linkajánlás működik.

```php
add_filter( 'seopress_pro_significant_kw_content', function ( $content, $post, $raw ) {
    return $content . ' ' . sajat_szerkeszto_szovege( $post->ID );
}, 10, 3 );
```

A `seopress_pro_significant_kw_render_content` szűrő azt dönti el, hogy a bővítmény renderelje-e a tartalmat (blokkok, rövidkódok kibontása) a szöveg kiolvasása előtt. Alapérték: igaz, ha a tartalom blokkot vagy szögletes zárójelet (rövidkódot) tartalmaz, és nem üres. A renderelés nem ingyenes, mert minden mentéskor és a javaslatpanel minden megjelenítésekor lefut, ezért itt kikapcsolhatod, ha nincs rá szükség.

```php
add_filter( 'seopress_pro_significant_kw_render_content', '__return_false' );
```

## A tartalomelemzés valódi előnézeti kérése

A tartalomelemzés a bejegyzés oldalát egy belső kéréssel kéri le. Két szűrő fér hozzá ehhez a kéréshez:

- `seopress_real_preview_custom_args`: a kérés alapargumentumai (alapból `no_admin_bar` = 1). Oldal- vagy témaszerkesztőkhöz hasznos, ha további lekérdezési argumentumot kell átadni.
- `seopress_real_preview_remote`: a kérés teljes argumentumkészlete (például sütik, fejlécek). Ez fut le utoljára, így egy szerkesztő vagy biztonsági bővítmény az egész készletet átnézheti és módosíthatja, a sütiket is beleértve. Az átirányítások követését a bővítmény mindenképp letiltja, ezt szűrővel nem lehet visszakapcsolni.

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

## Search Console-sorok párosítása

A Search Console-sorok URL-jét a bővítmény a WordPress `url_to_postid()` függvényével párosítja bejegyzéshez. A nyelvi előtagot (például `/en/`) használó többnyelvű bővítmények (TranslatePress, Polylang, WPML) ezt az előtagot nem regisztrálják a WordPress átírási szabályai között, ezért a párosítás sikertelen lehet. Két szűrő segít:

1. `seopress_search_console_match_url`: a párosítás előtt módosíthatod az URL-t (séma, gazdanév és útvonal). Paraméterei: a megtisztított URL és a Search Console által visszaadott eredeti URL. Itt távolítsd el a nyelvi előtagot.
2. `seopress_search_console_match_post_id`: végső tartalék. Ha az `url_to_postid()` nullát ad (például lefordított, saját bővítmény által feloldott közvetlen hivatkozásnál), itt adhatod vissza a bejegyzés azonosítóját. Paraméterei: az eddigi azonosító, a megtisztított URL és az eredeti URL.

```php
add_filter( 'seopress_search_console_match_url', function ( $clean_url, $url ) {
    // A /en/ nyelvi előtag eltávolítása.
    return str_replace( '/en/', '/', $clean_url );
}, 10, 2 );
```

```php
add_filter( 'seopress_search_console_match_post_id', function ( $post_id, $clean_url, $url ) {
    if ( $post_id ) {
        return $post_id;
    }
    // Saját feloldás, például a többnyelvű bővítmény függvényével.
    return (int) sajat_url_feloldo( $clean_url );
}, 10, 3 );
```

## A Search Console-lekérdezés időszaka

A bővítmény a beállított időszakot (alapból az elmúlt három hónapot) a mai naptól számolja. Két szűrővel igazíthatod a dátumokat. Mindkettő `Y-m-d` formátumú szöveget kap és vár.

| Szűrő | Mit módosít | Alapérték |
|---|---|---|
| `seopress_search_console_start_date` | A mai nap mínusz a beállított időszak. |
| `seopress_search_console_end_date` | A mai nap. |

```php
add_filter( 'seopress_search_console_end_date', function ( $date ) {
    // A Search Console adatai késnek: két nappal korábbi záródátum.
    return gmdate( 'Y-m-d', strtotime( '-2 days' ) );
} );
```
