Fermer

décembre 19, 2023

FastBots : créez un plan de site XML WordPress personnalisé pour former votre robot IA

FastBots : créez un plan de site XML WordPress personnalisé pour former votre robot IA


Martech Zone contient des milliers d’articles, dont beaucoup sont obsolètes. J’ai travaillé sur le site pendant plusieurs années pour supprimer ou mettre à jour des centaines d’articles, mais j’en ai encore bien d’autres. En même temps, j’aimerais former un robot en langage naturel avec mon contenu, mais la dernière chose que je veux faire est de le former sur des articles obsolètes.

Bots rapides est un ChatGPT– Générateur de robots alimenté par vous que vous pouvez initialement entraîner à l’aide de votre plan de site (ou d’autres options). J’avais besoin d’un plan de site filtré incluant tous les articles modifiés depuis une date précise. De plus, je voulais inclure mes pages et acronymes (un type de publication personnalisé). Je ne voulais pas inclure de pages d’archives pour les catégories et les balises ni avoir ma page d’accueil car c’est aussi une archive.

En utilisant le code que je fournis à la fin de cet article ; J’ai construit un plugin WordPress personnalisé qui crée un XML un plan du site qui s’actualise dynamiquement à chaque fois que je publie un article. FastBots ne dispose pas de méthode de recyclage automatisé au fur et à mesure que je publie chaque article, mais c’est un excellent point de départ pour utiliser la plateforme.

Le plan du site importe tous les liens pour former le IA À propos de:

FastBots : entraînez un bot à partir du plan du site de votre site.

Toutes les pages sont désormais importées et vous pouvez former votre bot sur les données applicables. Vous avez également la possibilité de supprimer des pages spécifiques. FastBots m’a également permis de personnaliser l’image de marque de mon robot IA et même d’inclure un lien vers un article pertinent dans ma réponse. Il existe également une demande de prospect intégrée à la plateforme.

La plateforme a parfaitement fonctionné… vous pouvez tester mon bot ici :

Lancez le bot de Martech Zone, Marty Créez votre robot IA FastBots

Plan de site XML personnalisé

Plutôt que d’ajouter cette fonctionnalité à mon thème, j’ai créé un thème personnalisé WordPress plugin pour créer un plan du site. Ajoutez simplement un répertoire dans votre dossier plugins, puis un PHP fichier avec le code suivant :

<?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');




Source link