FastBots: Стварыце карыстальніцкую XML-карту сайта WordPress для навучання вашага бота AI

Martech Zone мае тысячы артыкулаў, многія з якіх састарэлі. Я працаваў на сайце некалькі гадоў, выдаляючы або абнаўляючы сотні артыкулаў, але ў мяне яшчэ шмат. У той жа час я хацеў бы навучыць бота натуральнай мовы маім кантэнтам, але апошняе, што я хачу зрабіць, гэта навучыць яго на састарэлых артыкулах.

FastBots з'яўляецца Чат GPTканструктар ботаў з магутнасцю, які вы можаце першапачаткова навучыць, выкарыстоўваючы вашу карту сайта (або іншыя варыянты). Мне патрэбна была адфільтраваная карта сайта, якая ўключала б усе артыкулы, змененыя з пэўнай даты. Акрамя таго, я хацеў уключыць свае старонкі і абрэвіятуры (карыстальніцкі тып паведамлення). Я не хацеў уключаць архіўныя старонкі для катэгорый і тэгаў або мець сваю хатнюю старонку, бо гэта таксама архіў.

Выкарыстоўваючы код, які я даю ў канцы гэтага артыкула; Я стварыў карыстальніцкі плагін WordPress, які стварае карыстальніцкі XML карта сайта, якая дынамічна абнаўляецца кожны раз, калі я публікую паведамленне. FastBots не мае аўтаматызаванага метаду перападрыхтоўкі, калі я публікую кожны артыкул, але гэта выдатная адпраўная кропка для выкарыстання платформы.

Карта сайта імпартуе ўсе спасылкі для навучання AI Бот на:

Цяпер усе старонкі імпартаваны, і вы можаце навучыць свайго бота на адпаведных дадзеных. У вас таксама ёсць магчымасць выдаліць пэўныя старонкі. FastBots таксама дазволілі мне наладзіць брэндынг майго бота AI і нават уключыць спасылку на адпаведны артыкул у мой адказ. У платформу таксама ўбудаваны запыт ліда.

Платформа працавала бездакорна... вы можаце правесці тэст-драйв майго бота тут:

Запуск Martech ZoneБот, Марці Стварыце свой бот FastBots AI

Карыстальніцкая XML карта сайта

Замест таго, каб дадаць гэту функцыянальнасць у сваю тэму, я стварыў спецыяльную WordPress убудова для стварэння карты сайта. Проста дадайце каталог у папку плагінаў, затым a 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');
Выйдзіце з мабільнай версіі