Tovább a tartalomhoz

Hookok: webhelyellenőrzés, törött linkek és 404-figyelés

Nyolc hook a SEOPress PRO webhelyellenőrzéséhez, a törött linkek keresőjéhez és a 404-figyeléshez: lefutás utáni műveletek, lekérdezések szűrői, a kizárt URL-ek és a robotok listája.

Ez a fejezet a webhelyellenőrzés (SEO → Audit), a törött linkek keresője (SEO → Törött linkek) és a 404-figyelés (SEO → PRO → Átirányítások / 404) hookjait gyűjti össze. A funkciók beállításairól az Átirányítások, a Törött linkek és a Webhelyellenőrzés fejezet szól. 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.

Hook Típus Legkisebb verzió Mire jó
seopress_broken_links_after_scan művelet 9.8 Kód futtatása, amikor a törött linkek keresése végzett.
seopress_after_create_404 művelet 8.8 Kód futtatása egy új 404-es hiba naplózása után.
seopress_site_audit_after_processs művelet 8.3 Kód futtatása, amikor a webhelyellenőrzés végzett.
seopress_site_audit_query szűrő 8.2 A webhelyellenőrzés tartalomlekérdezésének módosítása.
seopress_404_cleaning_query szűrő 3.1 A régi 404-es naplóbejegyzéseket törlő időzített feladat lekérdezésének módosítása.
seopress_bot_query szűrő 3.6.4, 7.2 A törött linkeket kereső feladat lekérdezésének módosítása.
seopress_404_exclude szűrő 3.2 URL-ek kizárása a 404-figyelésből.
seopress_404_bots szűrő 3.0 A 404-figyelésből kizárt robotok listájának módosítása.

Művelet a törött linkek keresése után

Szekció neve “Művelet a törött linkek keresése után”

A seopress_broken_links_after_scan művelet akkor fut le, amikor a törött linkek keresése az összes tartalmon végigért, és a SEOPress elmentette a keresés időpontját. Paramétere nincs. A SEOPress ezt használja az értesítő e-mail elküldésére is, te is erre kapaszkodhatsz, például egy saját értesítéshez.

add_action( 'seopress_broken_links_after_scan', 'sajat_toro_linkek_utan' );
function sajat_toro_linkek_utan() {
// Például bejegyzés a naplóba.
error_log( 'A törött linkek keresése befejeződött.' );
}

A seopress_after_create_404 művelet minden olyan alkalommal lefut, amikor a SEOPress egy még nem látott URL-hez új 404-es naplóbejegyzést hoz létre. Egyetlen paramétert kap: az új bejegyzés azonosítóját. Ha az URL már szerepel a naplóban, a SEOPress csak a számlálót növeli, és ez a művelet nem fut le.

add_action( 'seopress_after_create_404', 'sajat_uj_404_utan' );
function sajat_uj_404_utan( $id ) {
// Az új 404-es naplóbejegyzés URL-je (a bejegyzés címe).
error_log( 'Új 404: ' . get_the_title( $id ) );
}

A seopress_site_audit_after_processs (a név végén három „s” van) akkor fut le, amikor a webhelyellenőrzés az összes tartalmat feldolgozta. Paramétere nincs. A telepített bővítményben ez a hook elavultként van megjelölve, helyette a seopress_site_audit_after_process név (két „s”-sel) az újabb. Mindkettő ugyanakkor lefut, ezért új kódhoz az újabb nevet használd.

add_action( 'seopress_site_audit_after_process', 'sajat_audit_utan' );
function sajat_audit_utan() {
// Például a gyorsítótár ürítése az ellenőrzés után.
error_log( 'A webhelyellenőrzés befejeződött.' );
}

A webhelyellenőrzés lekérdezésének szűrése

Szekció neve “A webhelyellenőrzés lekérdezésének szűrése”

A seopress_site_audit_query szűrő a get_posts() lekérdezés paramétereit adja át, még mielőtt a webhelyellenőrzés a következő köteg tartalmat lekérné. Öt értéket kap:

Paraméter Jelentése
$args A lekérdezés paramétereinek tömbje (posts_per_page, offset, post_type, post_status, fields).
$batch_size Egy köteg mérete.
$offset Honnan folytatja a feldolgozást.
$cpt A vizsgált tartalomtípus.
$cpt_status A vizsgált állapotok.

Visszatérési értéknek a módosított $args tömböt add vissza.

add_filter( 'seopress_site_audit_query', 'sajat_audit_lekerdezes', 10, 5 );
function sajat_audit_lekerdezes( $args, $batch_size, $offset, $cpt, $cpt_status ) {
// Például a 12-es kategória tartalmait ne ellenőrizze.
$args['category__not_in'] = array( 12 );
return $args;
}

A 404-naplót takarító feladat lekérdezésének szűrése

Szekció neve “A 404-naplót takarító feladat lekérdezésének szűrése”

Ha a 404-es naplók automatikus törlése be van kapcsolva, egy időzített feladat törli azokat a naplóbejegyzéseket, amelyek egy hónapnál régebbiek, és amelyekhez nincs átirányítás beállítva. A seopress_404_cleaning_query szűrő ennek a WP_Query lekérdezésnek a paramétereit adja át. Alapértelmezés szerint a bejegyzés típusa seopress_404, a feltétel pedig az, hogy a bejegyzés egy hónapnál régebbi legyen. Visszatérési értéknek a módosított tömböt add vissza.

add_filter( 'seopress_404_cleaning_query', 'sajat_404_takaritas' );
function sajat_404_takaritas( $args ) {
// Csak a három hónapnál régebbi bejegyzéseket töröld.
$args['date_query'] = array(
array(
'column' => 'post_date_gmt',
'before' => '3 months ago',
),
);
return $args;
}

A törött linkeket kereső feladat lekérdezésének szűrése

Szekció neve “A törött linkeket kereső feladat lekérdezésének szűrése”

A seopress_bot_query szűrő a törött linkek keresője által lekért tartalmak get_posts() paramétereit adja át. Három értéket kap: a paraméterek tömbjét (posts_per_page, offset, post_type, post_status, orderby, order, fields, cache_results), az aktuális eltolást és a vizsgált tartalomtípust. Alapból csak a közzétett tartalmak szerepelnek, dátum szerint csökkenő sorrendben. Visszatérési értéknek a módosított tömböt add vissza.

add_filter( 'seopress_bot_query', 'sajat_torott_link_lekerdezes', 10, 3 );
function sajat_torott_link_lekerdezes( $args, $offset, $cpt ) {
// A legrégebbi tartalmak kerüljenek előre.
$args['order'] = 'ASC';
return $args;
}

A seopress_404_exclude szűrő azoknak az URL-részleteknek a tömbjét adja át, amelyekre a SEOPress nem naplóz 404-es hibát. Alapból két elem van benne: wp-content/cache és ^purge/. A SEO → PRO → Átirányítások / 404 oldalon megadott kizárt útvonalak is ide kerülnek. A mintákat a SEOPress a kérés URL-jéhez (a webhely címe nélküli részhez) hasonlítja:

Minta Mikor egyezik
Ponttal kezdődik (például .js) Az URL erre a végződésre ér véget. A kis- és nagybetű nem számít.
^ jellel kezdődik (például ^purge/) Az URL ezzel kezdődik. A ^ után álló kezdő perjel nem számít.
Bármi más Az URL bárhol tartalmazza a szöveget.

Visszatérési értéknek a kiegészített tömböt add vissza.

add_filter( 'seopress_404_exclude', 'sajat_404_kizarasok' );
function sajat_404_kizarasok( $kizart ) {
$kizart[] = '^api/'; // Az „api/” kezdetű kérések.
$kizart[] = '.map'; // A „.map” végű fájlok.
$kizart[] = 'ideiglenes'; // Bármi, ami tartalmazza a „ideiglenes” szöveget.
return $kizart;
}

A 404-figyelésből kizárt robotok listája

Szekció neve “A 404-figyelésből kizárt robotok listája”

A SEOPress nem naplózza a robotoktól érkező 404-es hibákat. A seopress_404_bots szűrő azt a reguláris kifejezést adja át, amellyel a böngésző azonosítóját (user agent) összeveti. Szöveget kapsz (a /…/i formában megírt kifejezést), és ugyanilyen szöveget kell visszaadnod. Ha a visszaadott érték üres, a SEOPress semmit nem tekint robotnak, így minden kérés naplózódik.

add_filter( 'seopress_404_bots', 'sajat_robotok' );
function sajat_robotok( $regex ) {
// Egy saját figyelő robot hozzáadása a listához.
return str_replace( '/bot|', '/bot|sajatfigyelo|', $regex );
}

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