Tovább a tartalomhoz

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' );

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 );
}

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;
}

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:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások