FastBots: Gawe Peta Situs XML WordPress Kustom Kanggo Latihan Bot AI Sampeyan
Martech Zone wis ewu artikel, karo akeh sing wis outdated. Aku wis makarya ing situs kanggo sawetara taun kanggo mbusak utawa nganyari atusan artikel, nanging aku isih duwe akeh liyane. Ing wektu sing padha, aku pengin nglatih bot basa alami kanthi kontenku, nanging sing terakhir sing dakkarepake yaiku nglatih babagan artikel sing wis lawas.
FastBots punika Ngobrol GPT-pembangun bot sing bisa digunakake ing wiwitan nggunakake peta situs (utawa opsi liyane). Aku butuh sitemap sing disaring sing kalebu kabeh artikel sing diowahi wiwit tanggal tartamtu. Kajaba iku, aku pengin nyakup kaca lan akronim (jinis kiriman khusus). Aku ora pengin nyakup kaca arsip kanggo kategori lan tag utawa duwe kaca ngarep amarga iku uga arsip.
Nggunakake kode sing aku nyedhiyakake ing pungkasan artikel iki; Aku nggawe plugin WordPress khusus sing nggawe adat XML sitemap sing dinamis refresh saben wektu aku nerbitaké kirim. FastBots ora duwe metode latihan ulang otomatis amarga aku nerbitake saben artikel, nanging iki minangka titik wiwitan sing apik kanggo nggunakake platform kasebut.
Peta situs ngimpor kabeh pranala kanggo nglatih AI Bot ing:
Kabeh kaca saiki diimpor, lan sampeyan bisa nglatih bot babagan data sing ditrapake. Sampeyan uga duwe kesempatan kanggo mbusak kaca tartamtu. FastBots uga ngidini kula ngatur merek bot AI lan uga kalebu link menyang artikel sing cocog ing tanggapanku. Ana uga panjaluk timbal sing dibangun ing platform kasebut.
Platform kasebut bisa digunakake kanthi sampurna… sampeyan bisa menehi botku test drive ing kene:
Bukak Martech ZoneBot, Marty Mbangun FastBots AI Bot
Sitemap XML khusus
Tinimbang nambah fungsi iki menyang tema, aku nggawe adat WordPress plugin kanggo mbangun Sitemap. Cukup nambah direktori ing folder plugins, banjur a PHP file kanthi kode ing ngisor iki:
<?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');