Funzione per l'aggiunta di un link IndexNow all'elenco delle voci

No comments

 

IndexNow è un protocollo gratuito e open source con licenza Attribution-ShareAlike Creative Commons che consente di notificare ai motori di ricerca l'avvenuta pubblicazione di una novità, la modifica e l'aggiornamento di un contenuto o la rimozione di un URL, inviando un ping ai motori di ricerca per accelerare il processo di crawling e di eventuale indicizzazione che altrimenti potrebbe richiedere ore, giorni o settimane.

Questo non significa che vi garantisca un'indicizzazione immediata o una posizione migliore, ma solo che riduce il tempo necessario a ciascun motore di ricerca per esaminare la vostra pagina e scansionare le novità, gli aggiornamenti o le cancellazioni che gli comunicherete al momento. Ad oggi, i motori di ricerca che accettano i ping di Index Now sono: Microsoft Bing, Naver, Seznam.cz, Yandex e Yep.

Come creare una chiave API di Index Now

Per utilizzare IndexNow è necessaria una chiave API. Questa chiave verifica che siate il proprietario del sito web e deve contenere un minimo di 8 e un massimo di 128 caratteri esadecimali. La chiave può contenere solo lettere minuscole (a-z), maiuscole (A-Z), numeri (0-9) e trattini (-). Quindi mi sembra di capire che, finché la chiave è conforme alla struttura, non importa da dove viene generata.

Per sicurezza, visitate questa pagina di Bing, generatela e scaricatela con la freccia a destra.

Funzione per l'aggiunta di un link IndexNow all'elenco delle voci 0

Il file .txt scaricato deve essere collocato nella radice della pagina. Ora siete pronti per iniziare a inviare le pagine.

Come inviare URL con Index Now

Esistono diversi modi per farlo. Molti plugin SEO integrano già Index Now come funzione, ma se non utilizzate nessuno di questi plugin, ne esiste uno creato da Bing dedicato proprio a questo compito.

PluginIndexNow

Questo è il modo più semplice e veloce per farlo e vi evita di dover generare e ospitare la chiave sul vostro sito, poiché il plugin genererà la chiave API all'attivazione (ne genererà una nuova ogni volta che disattivate e riattivate il plugin).

È possibile modificare questa chiave di tanto in tanto, ma poiché si tratta di una chiave unica per un sito web, Index Now consiglia di non cambiarla troppo spesso.

Il plugin consente di inviare automaticamente gli URL ogni volta che si pubblica qualcosa di nuovo, di effettuare invii manuali, di visualizzare le statistiche degli URL inviati, di visualizzare gli URL inviati di recente e di inviarli nuovamente.

Invio manuale da un browser

Per inviare manualmente un URL(si possono inviare anche in gruppi) da un browser come richiesta HTTP, dopo aver ospitato il .txt con la chiave API nella propria root, si può procedere in due modi (dove https://tu-url-com, sarà l'URL della pagina che si vuole inviare e API_KEY sarà la chiave API di 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

Per verificare che l'invio sia avvenuto correttamente, potete accedere alla pagina degli Strumenti per i Webmaster di Bing (dovete avere un account associato al vostro dominio) e troverete la cronologia degli invii.

Funzione per l'aggiunta di un link IndexNow all'elenco delle voci 1

L'opzione intermedia che propongo tra il plugin e l'invio manuale è una funzione che aggiunge una colonna personalizzata con un link per l'invio a Index Now nell'elenco delle voci, che avrà l'aspetto seguente:

Funzione per l'aggiunta di un link IndexNow all'elenco delle voci 2

In questo modo potrete inviare ogni URL quando volete con un solo clic. È necessario tenere presente che, sebbene sia possibile inviare fino a 10.000 URL al giorno, c'è un intervallo di tempo tra ogni invio, che è di circa 5 minuti, quindi non ha senso effettuare invii di massa senza prestare attenzione a questo intervallo. Altre domande correlate trovano risposta nelle FAQ di IndexNow.

*Ricordarsi di sostituire YOUR_API_KEY_DE_INDEX_NOW con la propria chiave API nelle // impostazioni di Index Now nel codice.

// 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

Articoli correlati

Lascia un commento

Este blog se aloja en LucusHost

LucusHost, el mejor hosting