FastBots: Napravite prilagođenu WordPress XML Sitemap za obuku vašeg AI Bota
Martech Zone ima hiljade članaka, a mnogi od njih su zastarjeli. Radio sam na stranici nekoliko godina kako bih uklonio ili ažurirao stotine članaka, ali još uvijek imam mnogo više. U isto vrijeme, želio bih trenirati bota za prirodni jezik sa svojim sadržajem, ali posljednje što želim je da ga obučim na zastarjelim člancima.
FastBots je Chat GPT-pokrenuti bot builder koji možete u početku trenirati koristeći svoju mapu stranice (ili druge opcije). Trebala mi je filtrirana mapa stranice koja uključuje sve članke izmijenjene od određenog datuma. Osim toga, želio sam uključiti svoje stranice i akronimi (prilagođena vrsta objave). Nisam želio da uključim arhivske stranice za kategorije i oznake ili da imam svoju početnu stranicu jer je i ona arhiva.
Koristeći kod koji dajem na kraju ovog članka; Napravio sam prilagođeni WordPress dodatak koji kreira prilagođeni XML sitemap koji se dinamički osvježava svaki put kada objavim post. FastBots nema automatiziranu metodu prekvalifikacije dok objavljujem svaki članak, ali ovo je odlična polazna tačka za korištenje platforme.
Mapa sajta uvozi sve veze za obuku AI Bot na:
Sve stranice su sada uvezene i možete trenirati svog bota na primjenjivim podacima. Takođe imate priliku da uklonite određene stranice. FastBots su mi također omogućili da prilagodim brendiranje svog AI bota, pa čak i da uključim link do relevantnog članka u svoj odgovor. Tu je i zahtjev za potencijalnim klijentima ugrađen u platformu.
Platforma je radila besprijekorno… možete dati mom botu probnu vožnju ovdje:
lansiranje Martech Zone's Bot, Marty Napravite svoj FastBots AI Bot
Prilagođeni XML Sitemap
Umjesto da dodam ovu funkcionalnost svojoj temi, napravio sam prilagođeni WordPress dodatak za izradu Sitemap-a. Samo dodajte direktorij u svoju mapu dodataka, a zatim a PHP fajl sa sljedećim kodom:
<?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');