FastBots: Baut e Custom WordPress XML Sitemap Fir Ären AI Bot ze trainéieren
Martech Zone huet Dausende vun Artikelen, mat vill vun hinnen ausgeglach. Ech hunn e puer Joer um Site geschafft fir Honnerte vun Artikelen ze läschen oder ze aktualiséieren, awer ech hunn nach vill méi. Zur selwechter Zäit wéilt ech gären en natierleche Sproochebot mat mengem Inhalt trainéieren, awer dat lescht wat ech maache wëll ass en op alen Artikelen ze trainéieren.
FastBots ass e Chat GPT-powered Bot Builder deen Dir am Ufank mat Ärem Sitemap trainéiere kënnt (oder aner Optiounen). Ech brauch eng gefilterte Sitemap déi all Artikelen déi zënter engem spezifeschen Datum geännert goufen. Zousätzlech wollt ech meng Säiten an Akronymer (eng personaliséiert Posttyp). Ech wollt keng Archivsäite fir Kategorien an Tags enthalen oder meng Homepage hunn well et och en Archiv ass.
Benotzt de Code deen ech um Enn vun dësem Artikel ubidden; Ech hunn e personaliséierte WordPress Plugin gebaut deen e Custom erstellt XML Sitemap déi dynamesch erfrëscht all Kéier wann ech e Post publizéieren. FastBots huet keng automatiséiert Retraining Method wéi ech all Artikel publizéieren, awer dëst ass e super Startpunkt fir d'Plattform ze benotzen.
D'Sitemap importéiert all Linken fir den Zuch ze trainéieren AI Bot op:
All Säiten sinn elo importéiert, an Dir kënnt Äre Bot op déi applicabel Donnéeën trainéieren. Dir hutt och d'Méiglechkeet spezifesch Säiten ze läschen. FastBots hunn mir och erlaabt de Branding vu mengem AI Bot ze personaliséieren an esouguer e Link op e relevante Artikel a menger Äntwert enthalen. Et gëtt och eng Lead Ufro an der Plattform agebaut.
D'Plattform huet flawless geschafft ... Dir kënnt mäi Bot en Testfahrt hei ginn:
lancéiere Martech Zone's Bot, Marty Build Är FastBots AI Bot
Benotzerdefinéiert XML Sitemap
Anstatt dës Funktionalitéit zu mengem Thema ze addéieren, hunn ech e Benotzerdefinéiert gebaut WordPress Plugin fir e Sitemap auszebauen. Füügt just e Verzeechnes an Ärem Plugins Dossier, dann e PHP Datei mam folgende Code:
<?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');