Fonction permettant d'ajouter un lien IndexNow à votre liste d'entrées

Aucun commentaire

 

IndexNow est un protocole gratuit et open source sous licence Attribution-ShareAlike Creative Commons qui vous permet d'informer les moteurs de recherche que vous venez de publier quelque chose de nouveau, qu'un élément de contenu a été modifié et mis à jour ou qu'une URL a été supprimée en envoyant un ping aux moteurs de recherche afin d'accélérer le processus d'exploration et d'indexation éventuelle qui pourrait autrement prendre des heures, des jours ou des semaines.

Cela ne signifie pas que cela vous garantit une indexation immédiate ou une meilleure position, mais cela réduit le temps nécessaire à chaque moteur de recherche pour parcourir votre page et en extraire ce qui est nouveau, mis à jour ou supprimé, puisque vous le leur communiquez à l'instant même. À ce jour, les moteurs de recherche qui acceptent les pings d'Index Now sont les suivants : Microsoft Bing, Naver, Seznam.cz, Yandex et Yep.

Comment créer une clé API Index Now

Pour utiliser IndexNow, vous avez besoin d'une clé API. Cette clé permet de vérifier que vous êtes le propriétaire du site web et doit contenir un minimum de 8 et un maximum de 128 caractères hexadécimaux. La clé ne peut contenir que des minuscules (a-z), des majuscules (A-Z), des chiffres (0-9) et des traits d'union (-). Je comprends donc que tant qu'elle est conforme à la structure, l'endroit d'où vous la générez n'a pas d'importance.

Mais pour plus de sécurité, il suffit de se rendre sur cette page Bing et de la générer, puis de la télécharger à l'aide de la flèche à droite.

Fonction permettant d'ajouter un lien IndexNow à votre liste d'entrées 0

Le fichier .txt téléchargé doit être placé à la racine de la page. Vous êtes maintenant prêt à soumettre des pages.

Comment soumettre des URL avec Index Now

Il existe différentes façons de procéder. De nombreux plugins SEO intègrent déjà la fonctionnalité Index Now, mais si vous n'utilisez aucun de ces plugins, Bing en a créé un dédié à cette tâche.

PluginIndexNow

C'est la façon la plus rapide et la plus simple de procéder et cela vous évite d'avoir à générer et à héberger la clé sur votre site car le plugin génère la clé API lors de l'activation (il en génère une nouvelle à chaque fois que vous désactivez et réactivez le plugin).

Vous pouvez modifier cette clé de temps en temps, mais comme il s'agit d'une clé unique pour un site web, Index Now vous conseille de ne pas la modifier trop souvent.

Le plugin vous permet de soumettre automatiquement des URL chaque fois que vous publiez quelque chose de nouveau, d'effectuer des soumissions manuelles, de consulter les statistiques des URL soumises, de consulter les URL soumises récemment et de les soumettre à nouveau.

Envoi manuel à partir d'un navigateur

Pour envoyer une URL(vous pouvez également les envoyer par groupes) manuellement à partir d'un navigateur sous forme de requête HTTP, après avoir hébergé le fichier .txt avec la clé API dans votre racine, vous pouvez procéder de deux manières (où https://tu-url-com, sera l'URL de la page que vous voulez envoyer et API_KEY sera la clé API d'Index Now.

https://www.bing.com/indexnow?url=https://tu-url-com/&key=CLAVE_API

https://api.indexnow.org/indexnow?url=https://tu-url-com/&key=CLAVE_API

Pour vérifier qu'il a été envoyé correctement, vous pouvez vous rendre sur la page Bing Webmaster Tools (vous devez avoir un compte associé à votre domaine) et vous y trouverez l'historique des envois.

Fonction permettant d'ajouter un lien IndexNow à votre liste d'entrées 1

Fonction permettant d'ajouter un lien "Envoyer à IndexNow" dans votre liste d'entrées

L'option intermédiaire que je propose entre le plugin et la soumission manuelle est une fonction qui ajoute une colonne personnalisée avec un lien pour soumettre à Index Now dans votre liste d'entrées qui ressemblera à ceci :

Fonction permettant d'ajouter un lien IndexNow à votre liste d'entrées 2

De cette façon, vous pouvez envoyer chaque URL quand vous le souhaitez en un seul clic. Vous devez tenir compte du fait que, bien que vous puissiez envoyer jusqu'à 10 000 URL par jour, il y a un intervalle de temps entre chaque envoi, qui est d'environ 5 minutes, et qu'il n'est donc pas judicieux d'effectuer des envois massifs sans tenir compte de cet intervalle. La FAQ d'IndexNow répond à d'autres questions connexes.

*N'oubliez pas de remplacer YOUR_API_KEY_DE_INDEX_NOW par votre clé API dans // les paramètres d'Index Now dans le code.

// Añade una columna personalizada para Index Now en la lista de posts
function add_index_now_column($columns) {
    $columns['index_now'] = 'Index Now';
    return $columns;
}
add_filter('manage_posts_columns', 'add_index_now_column');

// Rellenar la columna personalizada con un enlace
function add_index_now_column_content($column_name, $post_id) {
    if ($column_name === 'index_now') {
        $post_url = get_permalink($post_id);
        if ($post_url) {
            echo '<a href="#" class="send-to-index-now" data-post-id="' . esc_attr($post_id) . '">Enviar a Index Now</a>';
        } else {
            echo 'URL no disponible';
        }
    }
}
add_action('manage_posts_custom_column', 'add_index_now_column_content', 10, 2);

// Añadir el script para manejar el clic en el enlace
function add_index_now_script() {
    ?>
    <script type="text/javascript">
        jQuery(document).ready(function($) {
            $('.send-to-index-now').on('click', function(e) {
                e.preventDefault();
                var post_id = $(this).data('post-id');
                $.post(ajaxurl, {
                    action: 'send_to_index_now',
                    post_id: post_id
                }, function(response) {
                    if (response.success) {
                        alert('Enviada a Index Now con éxito');
                    } else {
                        alert('Error: ' + response.data);
                    }
                });
            });
        });
    </script>
    <?php
}
add_action('admin_footer', 'add_index_now_script');

// Función para enviar la URL a Index Now
function send_to_index_now() {
    if (!isset($_POST['post_id'])) {
        wp_send_json_error('ID del post no proporcionado');
    }

    $post_id = intval($_POST['post_id']);
    $post_url = get_permalink($post_id);

    if (!$post_url) {
        wp_send_json_error('No se pudo obtener la URL del post');
    }

    // Configuración de Index Now
    $api_key = 'TU_API_KEY_DE_INDEX_NOW'; // Reemplaza con tu clave API de Index Now
    $index_now_url = 'https://api.indexnow.org/indexnow/'; // Endpoint de Index Now

    // Datos para enviar a Index Now
    $data = [
        'host' => parse_url($post_url, PHP_URL_HOST),
        'key' => $api_key,
        'keyLocation' => 'https://' . parse_url($post_url, PHP_URL_HOST) . '/' . $api_key . '.txt',
        'urlList' => [$post_url],
    ];

    // Enviar la solicitud HTTP POST a Index Now
    $response = wp_remote_post($index_now_url, [
        'headers' => ['Content-Type' => 'application/json; charset=utf-8'],
        'body' => json_encode($data),
    ]);

    if (is_wp_error($response)) {
        wp_send_json_error('Error al enviar la URL a Index Now: ' . $response->get_error_message());
    }

    $response_code = wp_remote_retrieve_response_code($response);
    if ($response_code === 200) {
        wp_send_json_success('Enviada a Index Now con éxito');
    } else {
        wp_send_json_error('Error al enviar la URL a Index Now. Código de respuesta: ' . $response_code);
    }
}
add_action('wp_ajax_send_to_index_now', 'send_to_index_now');

Suscríbete para recibir los post en tu email sin publicidad

Articles connexes

Laisser un commentaire

Este blog se aloja en LucusHost

LucusHost, el mejor hosting