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 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, a HTML-térkép hookjai és az XSL, URL és egyéb hookok 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
Szekció neve “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.
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), 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
Szekció neve “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. |
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
Szekció neve “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 |
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
Szekció neve “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 fejezetben).
add_filter( 'seopress_sitemaps_news_keywords', '__return_true' );Az urlset címke
Szekció neve “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.
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
Szekció neve “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.
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
Szekció neve “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).
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
Szekció neve “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.
add_filter( 'seopress_sitemaps_xml_single', 'sajat_terkep_xml' );function sajat_terkep_xml( $xml ) { return $xml . "\n<!-- Saját megjegyzés -->";}Készült: