FastBots: Hozzon létre egyéni WordPress XML-webhelytérképet az AI-bot képzéséhez
Martech Zone több ezer cikket tartalmaz, amelyek közül sok elavult. Évek óta dolgozom az oldalon több száz cikk eltávolításán vagy frissítésén, de még mindig sok van. Ugyanakkor szeretnék egy természetes nyelvi robotot is betanítani a tartalommal, de az utolsó dolog, amit az elavult cikkeken szeretnék megtanítani.
FastBots egy olyan ChatGPT- Powered bot építő, amelyet kezdetben a webhelytérkép (vagy más opciók) segítségével betaníthat. Szükségem volt egy szűrt webhelytérképre, amely tartalmazza az összes, egy adott dátum óta módosított cikket. Ezen kívül szerettem volna az oldalaimat és mozaikszavak (egyéni bejegyzéstípus). Nem akartam archív oldalakat hozzáadni a kategóriákhoz és címkékhez, sem a kezdőlapomat, mivel az is archívum.
A cikk végén megadott kóddal; Létrehoztam egy egyéni WordPress bővítményt, amely egyedit hoz létre XML webhelytérkép, amely dinamikusan frissül minden alkalommal, amikor közzéteszek egy bejegyzést. A FastBots nem rendelkezik automatizált átképzési módszerrel, mivel minden cikket közzéteszek, de ez nagyszerű kiindulópont a platform használatához.
Az oldaltérkép importálja az összes hivatkozást a képzéshez AI Bot bekapcsolva:
Az összes oldal importálva van, és betaníthatja a botját a vonatkozó adatokra. Lehetősége van bizonyos oldalak eltávolítására is. A FastBots lehetővé tette azt is, hogy személyre szabhassam az AI-botom márkajelzését, és még egy releváns cikkre mutató hivatkozást is belefoglaljak válaszomba. A platformba egy lead kérés is be van építve.
A platform hibátlanul működött… itt teheted meg a botomat egy tesztvezetéssel:
Indít Martech ZoneBot, Marty Építsd meg FastBots AI Botodat
Egyéni XML webhelytérkép
Ahelyett, hogy hozzáadtam volna ezt a funkciót a témámhoz, létrehoztam egy egyedit WordPress beépülő modul webhelytérkép létrehozásához. Csak adjon hozzá egy könyvtárat a bővítmények mappájába, majd a PHP fájl a következő kóddal:
<?php
/*
Plugin Name: Bot Sitemap
Description: Dynamically generates an XML sitemap including posts modified since a specific date and updates it when a new article is added.
Version: 1.0
Author: Your Name
*/
// Define the date since when to include modified posts (format: Y-m-d)
$mtz_modified_since_date = '2020-01-01';
// Register the function to update the sitemap when a post is published
add_action('publish_post', 'mtz_update_sitemap_on_publish');
// Function to update the sitemap
function mtz_update_sitemap_on_publish($post_id) {
// Check if the post is not an auto-draft
if (get_post_status($post_id) != 'auto-draft') {
mtz_build_dynamic_sitemap();
}
}
// Main function to build the sitemap
function build_bot_sitemap() {
global $mtz_modified_since_date;
$args = array(
'post_type' => 'post',
'date_query' => array(
'column' => 'post_modified',
'after' => $mtz_modified_since_date
),
'posts_per_page' => -1 // Retrieve all matching posts
);
$postsForSitemap = get_posts($args);
// Fetch all 'acronym' custom post type posts
$acronymPosts = get_posts(array(
'post_type' => 'acronym',
'posts_per_page' => -1,
));
// Fetch all pages except the home page
$pagesForSitemap = get_pages();
$home_page_id = get_option('page_on_front');
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>';
$sitemap .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
foreach($postsForSitemap as $post) {
setup_postdata($post);
if ($post->ID != $home_page_id) {
$sitemap .= '<url>'.
'<loc>'. get_permalink($post) .'</loc>'.
'<lastmod>'. get_the_modified_date('c', $post) .'</lastmod>'.
'<changefreq>weekly</changefreq>'.
'</url>';
}
}
foreach($acronymPosts as $post) {
setup_postdata($post);
if ($post->ID != $home_page_id) {
$sitemap .= '<url>'.
'<loc>'. get_permalink($post) .'</loc>'.
'<lastmod>'. get_the_modified_date('c', $post) .'</lastmod>'.
'<changefreq>weekly</changefreq>'.
'</url>';
}
}
foreach($pagesForSitemap as $page) {
setup_postdata($page);
if ($page->ID != $home_page_id) {
$sitemap .= '<url>'.
'<loc>'. get_permalink($page) .'</loc>'.
'<lastmod>'. get_the_modified_date('c', $page) .'</lastmod>'.
'<changefreq>monthly</changefreq>'.
'</url>';
}
}
wp_reset_postdata();
$sitemap .= '</urlset>';
file_put_contents(get_home_path().'bot-sitemap.xml', $sitemap);
}
// Activate the initial sitemap build on plugin activation
register_activation_hook(__FILE__, 'build_bot_sitemap');