FastBots: בנה מפת אתר XML מותאמת אישית של WordPress להדרכה של בוט הבינה המלאכותית שלך
Martech Zone יש אלפי מאמרים, כאשר רבים מהם מיושנים. עבדתי באתר כמה שנים כדי להסיר או לעדכן מאות מאמרים, אבל עדיין יש לי עוד הרבה. במקביל, אני רוצה לאמן בוט בשפה טבעית עם התוכן שלי, אבל הדבר האחרון שאני רוצה לעשות הוא לאמן אותו על מאמרים מיושנים.
FastBots הוא ChatGPTבונה בוטים מופעל שבהתחלה תוכל לאמן באמצעות מפת האתר שלך (או אפשרויות אחרות). הייתי צריך מפת אתר מסוננת שכללה את כל המאמרים ששונו מתאריך מסוים. בנוסף, רציתי לכלול את הדפים שלי ו ראשי תיבות (סוג פוסט מותאם אישית). לא רציתי לכלול דפי ארכיון עבור קטגוריות ותגיות או לקבל את דף הבית שלי מכיוון שהוא גם ארכיון.
שימוש בקוד שאני מספק בסוף מאמר זה; בניתי תוסף וורדפרס מותאם אישית שיוצר מותאם אישית XML מפת אתר שמתרעננת באופן דינמי בכל פעם שאני מפרסם פוסט. ל-FastBots אין שיטת הדרכה אוטומטית כשאני מפרסם כל מאמר, אבל זו נקודת התחלה מצוינת לשימוש בפלטפורמה.
מפת האתר מייבאת את כל הקישורים כדי לאמן את AI בוט על:
כל הדפים מיובאים כעת, ואתה יכול לאמן את הבוט שלך על הנתונים הרלוונטיים. יש לך גם הזדמנות להסיר דפים ספציפיים. FastBots גם אפשרו לי להתאים אישית את המיתוג של בוט ה-AI שלי ואפילו לכלול קישור למאמר רלוונטי בתגובתי. יש גם בקשת לידים מובנית בפלטפורמה.
הפלטפורמה עבדה ללא רבב... אתה יכול לתת לבוט שלי נסיעת מבחן כאן:
לשגר Martech Zoneהבוט של מרטי בנה את ה-FastBots AI Bot שלך
מפת XML מותאמת אישית
במקום להוסיף את הפונקציונליות הזו לנושא שלי, בניתי התאמה אישית וורדפרס תוסף לבניית מפת אתר. פשוט הוסף ספרייה בתיקיית התוספים שלך, ואז א PHP קובץ עם הקוד הבא:
<?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');