# Oldaltérkép-hookok: térképindex, lapozás, urlset, fejlécek és a kész XML

> Szűrő-hookok az XML-oldaltérképekhez: a térképindex lekérdezése, külső térképek felvétele, a lapokon lévő tételek legnagyobb száma, az urlset címke, a HTTP-fejlécek, a Google News kulcsszavak, a HTML-térkép dátuma és a kész XML módosítása.

Ez a fejezet az XML-oldaltérképek további szűrőit gyűjti össze: a térképindexét, a lapozásét és a kész XML-kimenetét. A hookok használatának általános szabályait a [Composer és hookok használata](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/fejlesztoknek-composer-es-hookok/) fejezet írja le. A kódot a gyermeksablonod `functions.php` fájljába vagy egy saját bővítménybe tedd. A további térképszűrőket az [XML-térkép és videótérkép hookjai](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-terkep-xml-es-video-hookok/), a [HTML-térkép hookjai](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-terkep-html-terkep-hookok/) és az [XSL, URL és egyéb hookok](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-terkep-xsl-url-es-egyeb/) fejezet tartalmazza.

| Hook | Legkisebb verzió | Mire jó |
|---|---|---|
| `seopress_sitemaps_index_post_types_query` | 4.1 | A térképindex egy tartalomtípusához tartozó lekérdezés paraméterei. |
| `seopress_sitemaps_max_terms_per_sitemap` | 4.1 | Hány kategória, címke stb. lehet egy lapozott térképoldalon. |
| `seopress_sitemaps_max_videos_per_sitemap` | 4.1 | Hány videó lehet egy lapozott videótérkép-oldalon. |
| `seopress_sitemaps_external_link` | 3.8.6 | Külső térképek felvétele a térképindexbe. |
| `seopress_sitemaps_news_keywords` | 3.8.6 | A célkulcsszavak kiírásának bekapcsolása a Google News térképen. |
| `seopress_sitemaps_urlset` | 3.8.2 | A térképek `urlset` nyitócímkéje. |
| `seopress_sitemaps_headers` | 3.7.9 | Az XML-térképek HTTP-fejlécei. |
| `seopress_sitemaps_html_post_date` | 3.7.7 | A dátum megjelenítése a HTML-térképen, tartalomtípusonként. |
| `seopress_sitemaps_xml_video` | 3.7.5 | A kész videótérkép XML-je. |
| `seopress_sitemaps_xml_single_term` | 3.7.5 | Egy taxonómia kész térkép-XML-je. |
| `seopress_sitemaps_xml_single` | 3.7.5 | Egy tartalomtípus kész térkép-XML-je. |

## A térképindex lekérdezése tartalomtípusonként

A térképindex minden tartalomtípusnál megszámolja, hány tétel kerül a térképre, és ebből számolja ki a lapok számát. A `seopress_sitemaps_index_post_types_query` szűrő a számláláshoz használt `get_posts()` paramétertömböt adja át (`$args`), valamint a tartalomtípus azonosítóját (`$cpt_key`). A módosított tömböt kell visszaadnod.

```php
add_filter( 'seopress_sitemaps_index_post_types_query', 'sajat_index_lekerdezes', 10, 2 );
function sajat_index_lekerdezes( $args, $cpt_key ) {
    if ( 'esemeny' === $cpt_key ) {
        $args['post_status'] = 'publish';
    }
    return $args;
}
```

Ha az egyes tartalomtípusok térképét is szűkíted (lásd a `seopress_sitemaps_single_query` szűrőt az [XML-térkép hookjainál](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-terkep-xml-es-video-hookok/)), ezt a szűrőt is igazítsd hozzá, különben az index több tételt számol, mint amennyi a lapokon megjelenik.

## A lapokon lévő tételek legnagyobb száma

A lapozott térképek oldalanként alapból legfeljebb 1000 tételt tartalmaznak. Két szűrő a taxonómiák és a videók térképén ezt a számot adja át egész számként, és egész számot kell visszaadnod:

| Hook | Mit számol |
|---|---|
| `seopress_sitemaps_max_terms_per_sitemap` | A taxonómiák (kategória, címke stb.) térképoldalain a kifejezések számát. |
| `seopress_sitemaps_max_videos_per_sitemap` | A videótérkép oldalain a bejegyzések számát. |

```php
add_filter( 'seopress_sitemaps_max_terms_per_sitemap', 'sajat_kifejezes_limit' );
function sajat_kifejezes_limit( $max ) {
    return 500;
}

add_filter( 'seopress_sitemaps_max_videos_per_sitemap', 'sajat_video_limit' );
function sajat_video_limit( $max ) {
    return 200;
}
```

A kisebb szám több, de gyorsabban előálló oldalt jelent, ami gyenge tárhelyen segíthet. Az új érték a térképindexre és a térképoldalakra is érvényes, mert mindkettő ugyanezt a szűrőt használja.

## Külső térkép felvétele a térképindexbe

A `seopress_sitemaps_external_link` szűrő alapértéke `null`. Ha tömböt adsz vissza, minden eleme egy új `<sitemap>` bejegyzésként kerül a térképindex végére. Egy elem kulcsai:

| Kulcs | Jelentése | Kötelező |
|---|---|---|
| `sitemap_url` | A külső térkép teljes URL-je. | Igen |
| `sitemap_last_mod` | Az utolsó módosítás dátuma (a `lastmod` elembe kerül). | Nem |

```php
add_filter( 'seopress_sitemaps_external_link', 'sajat_kulso_terkepek' );
function sajat_kulso_terkepek( $terkepek ) {
    $terkepek[] = array(
        'sitemap_url'      => 'https://pelda.hu/masik-terkep.xml',
        'sitemap_last_mod' => '2026-11-01T10:00:00+01:00',
    );
    return $terkepek;
}
```

A `$terkepek` alapból `null`, ezért a tömb elemeit hozzáfűzés előtt nem kell ellenőrizned, a PHP létrehozza a tömböt. Ha több bővítmény is használja ezt a szűrőt, a hozzáfűzéssel (`[]`) nem írod felül egymás bejegyzéseit.

## Célkulcsszavak a Google News térképen

A `seopress_sitemaps_news_keywords` szűrő egy logikai kapcsoló: alapértéke `false`, és ha `true` értéket adsz vissza, a SEOPress minden hír mellé kiírja a tartalom célkulcsszavait. A kulcsszavak szövegét a `seopress_sitemaps_news_keywords_value` szűrővel módosíthatod (lásd az [XSL, URL és egyéb hookok](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-terkep-xsl-url-es-egyeb/) fejezetben).

```php
add_filter( 'seopress_sitemaps_news_keywords', '__return_true' );
```

## Az urlset címke

A `seopress_sitemaps_urlset` szűrő a térképek nyitó `<urlset>` címkéjét adja át teljes szövegként, a névterekkel együtt. Szöveget kell visszaadnod. A szűrő a tartalomtípusok, a taxonómiák, a szerzők és a Google News térképén is lefut. Ha például új névteret szeretnél felvenni, a kapott szöveget alakítsd át, ne cseréld le teljesen: a névterek nélkül az XML érvénytelen lesz.

```php
add_filter( 'seopress_sitemaps_urlset', 'sajat_urlset' );
function sajat_urlset( $urlset ) {
    return str_replace( '<urlset ', '<urlset xmlns:xhtml="http://www.w3.org/1999/xhtml" ', $urlset );
}
```

## Az XML-térképek HTTP-fejlécei

A `seopress_sitemaps_headers` szűrő a térképek válaszfejléceit egy tömbben adja át (fejlécnév => érték). Az alapértelmezett fejlécek:

| Fejléc | Alapérték |
|---|---|
| `Content-type` | `text/xml` |
| `x-robots-tag` | `noindex, follow` |
| `Cache-Control` | `public, max-age=3600` |

A módosított tömböt kell visszaadnod. Ha üres tömböt adsz vissza, a SEOPress nem küld fejléceket.

```php
add_filter( 'seopress_sitemaps_headers', 'sajat_terkep_fejlecek' );
function sajat_terkep_fejlecek( $fejlecek ) {
    $fejlecek['Cache-Control'] = 'public, max-age=86400';
    return $fejlecek;
}
```

## A dátum megjelenítése a HTML-térképen tartalomtípusonként

Ha a HTML-térképen nem kapcsoltad ki a dátumot, az minden cím mellett látszik. A `seopress_sitemaps_html_post_date` szűrő alapértéke `true`, és a tartalomtípus azonosítóját is megkapja (`$cpt_key`). `false` visszaadásával az adott tartalomtípusnál elrejtheted a dátumot, a többinél megmarad. A dátum formátumát a `seopress_sitemaps_html_post_date_format` szűrő adja (lásd a [HTML-térkép hookjainál](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-terkep-html-terkep-hookok/)).

```php
add_filter( 'seopress_sitemaps_html_post_date', 'sajat_terkep_datum_tipusonkent', 10, 2 );
function sajat_terkep_datum_tipusonkent( $megjelenik, $cpt_key ) {
    return 'page' === $cpt_key ? false : $megjelenik;
}
```

## A kész XML módosítása

Három szűrő a már összeállított térkép teljes XML-szövegét adja át, és szöveget kell visszaadnod:

| Hook | Melyik térkép XML-jét adja át |
|---|---|
| `seopress_sitemaps_xml_single` | Egy tartalomtípus (bejegyzés, oldal, termék stb.) térképoldalát. |
| `seopress_sitemaps_xml_single_term` | Egy taxonómia (kategória, címke stb.) térképoldalát. |
| `seopress_sitemaps_xml_video` | A videótérkép oldalát. |

Ezek az utolsó lehetőségek a módosításra, ezért itt tudsz olyat is megtenni, amit a tételenkénti szűrők nem engednek, például egy megjegyzést a kimenet végére fűzni. Vigyázz: a szöveg érvényes XML marad-e, azt neked kell biztosítanod, különben a keresőmotorok nem tudják beolvasni a térképet.

```php
add_filter( 'seopress_sitemaps_xml_single', 'sajat_terkep_xml' );
function sajat_terkep_xml( $xml ) {
    return $xml . "\n<!-- Saját megjegyzés -->";
}
```
