FastBots: Xây dựng sơ đồ trang web XML WordPress tùy chỉnh để đào tạo Bot AI của bạn
Martech Zone có hàng nghìn bài viết, trong đó có nhiều bài đã lỗi thời. Tôi đã làm việc trên trang này trong vài năm để xóa hoặc cập nhật hàng trăm bài viết, nhưng tôi vẫn còn nhiều bài khác. Đồng thời, tôi muốn đào tạo bot ngôn ngữ tự nhiên với nội dung của mình, nhưng điều cuối cùng tôi muốn làm là đào tạo nó trên các bài báo lỗi thời.
FastBot là một ChatGPT-trình tạo bot được hỗ trợ mà ban đầu bạn có thể đào tạo bằng cách sử dụng sơ đồ trang web của mình (hoặc các tùy chọn khác). Tôi cần một sơ đồ trang web được lọc bao gồm tất cả các bài viết được sửa đổi kể từ một ngày cụ thể. Ngoài ra, tôi muốn bao gồm các trang của mình và Các từ viết tắt (một loại bài tùy chỉnh). Tôi không muốn bao gồm các trang lưu trữ cho các danh mục và thẻ hoặc có trang chủ của mình vì đó cũng là một kho lưu trữ.
Sử dụng mã tôi cung cấp ở cuối bài viết này; Tôi đã xây dựng một plugin WordPress tùy chỉnh để tạo một tùy chỉnh XML sơ đồ trang web tự động làm mới mỗi khi tôi xuất bản một bài đăng. FastBots không có phương pháp đào tạo lại tự động khi tôi xuất bản từng bài viết, nhưng đây là điểm khởi đầu tuyệt vời để sử dụng nền tảng.
Sơ đồ trang web nhập tất cả các liên kết để đào tạo AI Bot trên:
Tất cả các trang hiện đã được nhập và bạn có thể huấn luyện bot của mình dựa trên dữ liệu áp dụng. Bạn cũng có cơ hội xóa các trang cụ thể. FastBots cũng cho phép tôi tùy chỉnh nhãn hiệu bot AI của mình và thậm chí bao gồm liên kết đến bài viết có liên quan trong phản hồi của tôi. Ngoài ra còn có một yêu cầu khách hàng tiềm năng được tích hợp trong nền tảng.
Nền tảng này hoạt động hoàn hảo… bạn có thể cho bot của tôi chạy thử tại đây:
Khởi động Martech ZoneBot của, Marty Xây dựng Bot AI FastBots của bạn
Sơ đồ trang web XML tùy chỉnh
Thay vì thêm chức năng này vào chủ đề của mình, tôi đã tạo một tùy chỉnh WordPress plugin để xây dựng Sơ đồ trang web. Chỉ cần thêm một thư mục vào thư mục plugin của bạn, sau đó PHP tệp với mã sau:
<?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');