Tovább a tartalomhoz

Oldaltérkép-hookok: gyorsítótár, Google News, WooCommerce-kizárás és videótérkép

Szűrő-hookok az XML-oldaltérképekhez: a gyorsítótár időtartama, a Google News kiadványneve, az elfogyott termékek kizárása és a videótérkép tartalma, valamint újragenerálása.

Ez a fejezet az XML-oldaltérképek (köztük a Google News és a videótérkép) szűrőit gyűjti össze. 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 térképek beállításairól az XML- és képtérkép, a Google News térkép és a videótérkép fejezet szól.

Hook Legkisebb verzió Mire jó
seopress_sitemaps_cache_duration 9.3 Az oldaltérkép lapjainak módosítási dátumait tároló gyorsítótár élettartama.
seopress_sitemaps_xml_news_name 8.1 A Google News térkép kiadványneve.
seopress_sitemaps_single_query 1.0 Egy tartalomtípus térképének lekérdezése (például az elfogyott termékek kizárása).
seopress_pro_video_sitemap_content 6.5, 9.1 A tartalom, amelyben a SEOPress új videót keres.
seopress_pro_video_sitemap_builder_content 10.0 A lapszerkesztőből (page builder) összegyűjtött kiegészítő tartalom a videókereséshez.
seopress_video_regeneration_total_count_posts, seopress_video_regeneration_increment, seopress_video_regeneration_query 7.2 A videótérkép újragenerálás eszköze: darabszám, lépésköz és lekérdezés.

Ha egy tartalomtípusnak több lapozott térképe van (a lapokon alapból legfeljebb 1000 URL lehet), a SEOPress minden lap lastmod dátumát egyetlen lekérdezéssel számolja ki, és az eredményt tranziensben tárolja. A tranziens neve seopress_sitemap_lastmod_all_<tartalomtípus>_<URL-ek száma lapon>, az alapértelmezett élettartama 12 óra.

A seopress_sitemaps_cache_duration szűrő ezt az időtartamot adja át másodpercben. Visszatérési értéknek másodpercben megadott számot adj vissza.

add_filter( 'seopress_sitemaps_cache_duration', 'sajat_terkep_gyorsitotar' );
function sajat_terkep_gyorsitotar( $masodperc ) {
// 1 óra a 12 helyett.
return HOUR_IN_SECONDS;
}

Rövidebb időtartamnál a lapozott térképek dátumai hamarabb frissülnek, de gyakrabban fut a nagyobb lekérdezés. Hosszabb időtartamnál ritkábban, de a lastmod értékek később követik a változásokat.

A Google News térkép minden bejegyzése tartalmazza a kiadvány nevét, amit a Google News térkép beállításainál adtál meg. A seopress_sitemaps_xml_news_name szűrő ezt a szöveget adja át (a SEOPress már XML-biztossá tette), és szöveget kell visszaadnod. Hasznos, ha például nyelvenként vagy tartalomtípusonként más nevet szeretnél.

add_filter( 'seopress_sitemaps_xml_news_name', 'sajat_hirek_neve' );
function sajat_hirek_neve( $nev ) {
return 'Minta Hírportál';
}

Elfogyott WooCommerce-termékek kizárása a térképből

Szekció neve “Elfogyott WooCommerce-termékek kizárása a térképből”

A seopress_sitemaps_single_query szűrő egy tartalomtípus térképének get_posts() lekérdezési paramétereit adja át. Két paramétert kap:

Paraméter Jelentése
$args A lekérdezés paramétereinek tömbje.
$path A tartalomtípus azonosítója (például product, page).

Visszatérési értéknek a módosított tömböt add vissza. A SEOPress is ezen a szűrőn át veszi ki a WooCommerce kosár, pénztár és fiók oldalait, ha ezeknél bekapcsoltad a noindex jelölést.

Az elfogyott termékek kizárása:

add_filter( 'seopress_sitemaps_single_query', 'sajat_elfogyott_kizarasa', 10, 2 );
function sajat_elfogyott_kizarasa( $args, $path ) {
if ( 'product' === $path ) {
$args['meta_query'][] = array(
'key' => '_stock_status',
'value' => 'outofstock',
'compare' => '!=',
);
}
return $args;
}

Ugyanígy szűkítheted más feltétellel is a térképet: a $args tömbben a get_posts() bármelyik paramétere módosítható. A beépített tömb alapból a posts_per_page, offset, order, orderby, post_type, post_status, lang és has_password kulcsokat tartalmazza, termékeknél pedig egy tax_query is van benne, amely kiveszi a katalógusból kizárt termékeket. Ezért a tax_query és a meta_query kulcsokhoz hozzáadj ([]), ne felülírd őket.

A videótérkép (és a videó séma automatikus kitöltése) a bejegyzés tartalmában keres YouTube-videókat.

  • seopress_pro_video_sitemap_content: a keresett tartalmat adja át szövegként, a bejegyzés azonosítójával együtt ($content, $post_id). Visszatérési értéknek a kiegészített vagy átírt szöveget add vissza. Mivel a videótérkép és a videó séma ugyanazt a keresést használja, a módosításod mindkettőre érvényes.
  • seopress_pro_video_sitemap_builder_content: a lapszerkesztőkből (page builderekből) összegyűjtött kiegészítő tartalmat adja át ($buffer, $post_id), amelyet a SEOPress a bejegyzés tartalmához fűz. Ezzel olyan szerkesztő támogatását adhatod hozzá, amelyet a SEOPress alapból nem ismer.
add_filter( 'seopress_pro_video_sitemap_content', 'sajat_video_tartalom', 10, 2 );
function sajat_video_tartalom( $tartalom, $bejegyzes_id ) {
// Egyéni mezőben tárolt videólink hozzáadása a kereséshez.
$link = get_post_meta( $bejegyzes_id, 'sajat_video_url', true );
if ( $link ) {
$tartalom .= ' ' . $link;
}
return $tartalom;
}

A videótérkép újragenerálás eszköze

Szekció neve “A videótérkép újragenerálás eszköze”

A videótérkép beállításainál lévő újragenerálás eszköz a bejegyzéseket kis csomagokban dolgozza fel. Három szűrővel igazíthatod:

Hook Paraméterek Mire jó
seopress_video_regeneration_total_count_posts $total_count_posts Az összes feldolgozandó bejegyzés száma (egész szám). Az eszköz a bejegyzéseket a pending, draft, publish és future állapotok szerint számolja.
seopress_video_regeneration_increment $increment Hány bejegyzést dolgoz fel egy lépésben (alapérték: 10).
seopress_video_regeneration_query $args, $increment, $cpt, $offset A get_posts() lekérdezés paraméterei: tartalomtípusok, állapotok, eltolás.

Mindegyik a módosított értéket várja vissza. Gyenge tárhelyen csökkentheted a lépésközt, erősebben növelheted.

add_filter( 'seopress_video_regeneration_increment', 'sajat_video_lepeskoz' );
function sajat_video_lepeskoz( $lepeskoz ) {
return 5;
}

Ha a lekérdezésből szűrsz ki bejegyzéseket, a darabszámot is igazítsd hozzá a seopress_video_regeneration_total_count_posts szűrővel, hogy az eszköz a végén megálljon.

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