FastBots: Vytvorte si vlastný WordPress XML Sitemap na školenie vášho AI bota

Martech Zone má tisíce článkov, pričom mnohé z nich sú zastarané. Na stránke som pracoval niekoľko rokov na odstránení alebo aktualizácii stoviek článkov, no stále ich mám oveľa viac. Zároveň by som chcel svojim obsahom trénovať bota s prirodzeným jazykom, ale posledná vec, ktorú chcem urobiť, je trénovať ho na zastaraných článkoch.

FastBots je ChatGPT- výkonný nástroj na tvorbu robotov, ktorého môžete spočiatku trénovať pomocou mapy webu (alebo iných možností). Potreboval som filtrovanú mapu webu, ktorá obsahovala všetky články upravené od konkrétneho dátumu. Okrem toho som chcel zahrnúť svoje stránky a skratky (vlastný typ príspevku). Nechcel som zahrnúť archívne stránky pre kategórie a značky alebo mať svoju domovskú stránku, pretože je to tiež archív.

Pomocou kódu, ktorý uvádzam na konci tohto článku; Vytvoril som vlastný doplnok WordPress, ktorý vytvára vlastný XML sitemap, ktorá sa dynamicky obnovuje vždy, keď zverejním príspevok. FastBots nemá automatizovanú metódu rekvalifikácie, keďže každý článok zverejňujem, ale je to skvelý východiskový bod pre používanie platformy.

Mapa stránok importuje všetky odkazy na trénovanie AI Bot na:

Všetky stránky sú teraz importované a môžete trénovať svojho robota na príslušných údajoch. Máte tiež možnosť odstrániť konkrétne stránky. FastBots mi tiež umožnili prispôsobiť značku môjho robota AI a dokonca zahrnúť do odpovede odkaz na príslušný článok. V platforme je tiež zabudovaná žiadosť o potenciálneho zákazníka.

Platforma fungovala bezchybne... tu môžete vyskúšať môjho robota:

zahájiť Martech ZoneJe to Bot, Marty Zostavte si svojho robota FastBots AI

Vlastný súbor XML Sitemap

Namiesto pridania tejto funkcie do mojej témy som vytvoril vlastný WordPress plugin na zostavenie súboru Sitemap. Stačí pridať adresár do priečinka pluginov a potom a PHP súbor s nasledujúcim kódom:

<?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');
Ukončite mobilnú verziu