FastBots: looge kohandatud WordPressi XML-saidikaart oma tehisintellekti roboti koolitamiseks

Martech Zone sisaldab tuhandeid artikleid, millest paljud on aegunud. Olen töötanud saidil mitu aastat, et eemaldada või värskendada sadu artikleid, kuid mul on endiselt palju rohkem. Samal ajal tahaksin oma sisuga treenida loomuliku keele robotit, kuid viimane asi, mida ma teha tahan, on koolitada seda aegunud artiklite peal.

FastBotid on ChatGPT-toitega roboti koostaja, mida saate algselt saidiplaani (või muude valikute) abil treenida. Vajasin filtreeritud saidiplaani, mis sisaldaks kõiki teatud kuupäevast saadik muudetud artikleid. Lisaks tahtsin lisada oma lehti ja lühendid (kohandatud postituse tüüp). Ma ei tahtnud kaasata kategooriate ja siltide arhiivilehti ega oma kodulehte, kuna see on ka arhiiv.

Kasutades koodi, mille ma selle artikli lõpus pakun; Ehitasin kohandatud WordPressi pistikprogrammi, mis loob kohandatud pistikprogrammi XML saidikaart, mis värskendatakse dünaamiliselt iga kord, kui postituse avaldan. FastBotsil pole iga artikli avaldamise ajal automatiseeritud ümberõppe meetodit, kuid see on suurepärane lähtepunkt platvormi kasutamiseks.

Saidiplaan impordib kõik lingid, et õpetada AI Bot sees:

Kõik lehed on nüüd imporditud ja saate oma robotit asjakohaste andmetega õpetada. Samuti on teil võimalus konkreetseid lehti eemaldada. FastBots võimaldas mul ka kohandada oma AI-boti kaubamärki ja lisada vastusesse isegi lingi asjakohasele artiklile. Platvormile on sisse ehitatud ka müügivihje päring.

Platvorm töötas laitmatult ... siin saate minu boti proovisõidu teha:

Algatama Martech Zoneon Bot, Marty Ehitage oma FastBots AI Bot

Kohandatud XML-saidiplaan

Selle funktsiooni oma teemale lisamise asemel koostasin kohandatud WordPress pistikprogramm saidiplaani koostamiseks. Lihtsalt lisage oma pistikprogrammide kausta kataloog ja seejärel a PHP faili järgmise koodiga:

<?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');
Välju mobiiliversioonist