FastBots: Izdelajte zemljevid spletnega mesta WordPress XML po meri za usposabljanje vašega robota z umetno inteligenco
Martech Zone ima na tisoče člankov, med katerimi so mnogi zastareli. Več let sem delal na spletnem mestu, da sem odstranil ali posodobil na stotine člankov, vendar jih imam še veliko več. Hkrati bi rad usposobil bota za naravni jezik s svojo vsebino, a zadnja stvar, ki bi jo želel storiti, je usposobiti ga na zastarelih člankih.
FastBots je ChatGPT-powered bot builder, ki ga lahko na začetku usposobite s svojim zemljevidom spletnega mesta (ali drugimi možnostmi). Potreboval sem filtriran zemljevid spletnega mesta, ki vključuje vse članke, spremenjene od določenega datuma. Poleg tega sem želel vključiti svoje strani in akronimi (vrsta objave po meri). Nisem želel vključiti arhivskih strani za kategorije in oznake ali imeti svoje domače strani, saj je tudi arhiv.
Z uporabo kode, ki jo ponujam na koncu tega članka; Izdelal sem vtičnik WordPress po meri, ki ustvari po meri XML zemljevid spletnega mesta, ki se dinamično osveži vsakič, ko objavim objavo. FastBots nima avtomatizirane metode preusposabljanja, ko objavljam vsak članek, vendar je to odlično izhodišče za uporabo platforme.
Zemljevid spletnega mesta uvozi vse povezave za usposabljanje AI Bot na:
Vse strani so zdaj uvožene in svojega bota lahko urite na ustreznih podatkih. Imate tudi možnost, da odstranite določene strani. FastBots mi je tudi omogočil, da prilagodim blagovno znamko svojega bota z umetno inteligenco in v svoj odgovor celo vključim povezavo do ustreznega članka. V platformo je vgrajena tudi zahteva za potencialne stranke.
Platforma je delovala brezhibno ... mojemu botu lahko omogočite testno vožnjo tukaj:
Zagon Martech ZoneBot, Marty Zgradite svojega FastBots AI Bot
Zemljevid spletnega mesta XML po meri
Namesto da bi svoji temi dodal to funkcionalnost, sem ustvaril po meri WordPress vtičnik za izdelavo zemljevida spletnega mesta. Samo dodajte imenik v mapo vtičnikov, nato a PHP datoteka z naslednjo kodo:
<?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');