IndexNow este un protocol gratuit și open source sub o licență Attribution-ShareAlike Creative Commons care vă permite să notificați motoarele de căutare că tocmai ați publicat ceva nou, că un conținut a fost modificat și actualizat sau că un URL a fost eliminat prin trimiterea unui ping către motoarele de căutare pentru a accelera procesul de căutare și indexare care altfel ar putea dura ore, zile sau săptămâni.
Acest lucru nu înseamnă că vă garantează o indexare imediată sau o poziție mai bună, ci doar că reduce timpul necesar fiecărui motor de căutare pentru a parcurge pagina dvs. și pentru a căuta ceea ce este nou, actualizat sau șters, deoarece le veți comunica acest lucru pe moment. Începând de astăzi, motoarele de căutare care acceptă pings Index Now sunt: Microsoft Bing, Naver, Seznam.cz, Yandex și Yep.
Cum să creați o cheie API Index Now
Pentru a utiliza IndexNow aveți nevoie de o cheie API. Această cheie va verifica dacă sunteți proprietarul site-ului web și trebuie să conțină un minim de 8 și un maxim de 128 de caractere hexazecimale. Cheia poate conține numai litere minuscule (a-z), majuscule (A-Z), cifre (0-9) și liniuțe (-). Deci înțeleg că, atâta timp cât respectă structura, nu contează de unde o generați.
Dar pentru a fi în siguranță, vizitați această pagină Bing și generați-l, apoi descărcați-l cu săgeata din dreapta.

Fișierul .txt descărcat trebuie să fie plasat în rădăcina paginii. Acum sunteți gata să începeți să trimiteți pagini.
Cum să trimiteți URL-uri cu Index Now
Există diferite modalități de a face acest lucru. Multe pluginuri SEO integrează deja Index Now ca funcție, dar dacă nu utilizați niciunul dintre aceste pluginuri, există unul creat de Bing dedicat exclusiv acestei sarcini.
PluginIndexNow
Aceasta este cea mai rapidă și ușoară modalitate de a o face și vă scutește de a genera și găzdui cheia pe site-ul dvs., deoarece pluginul va genera cheia API la activare (va genera una nouă de fiecare dată când dezactivați și reactivați pluginul).
Puteți schimba această cheie din când în când, dar, deoarece este o cheie unică pentru un site web, Index Now vă sfătuiește să nu o schimbați prea des.
Pluginul vă permite să trimiteți automat URL-uri de fiecare dată când postați ceva nou, să faceți trimiteri manuale, să vizualizați statisticile URL-urilor trimise, să vizualizați URL-urile trimise recent și să le retrimiteți.
Trimitere manuală de la un browser
Pentru a trimite manual un URL(le puteți trimite și în grupuri) dintr-un browser ca o cerere HTTP, după ce ați găzduit fișierul .txt cu cheia API în rădăcină, o puteți face în două moduri (unde https://tu-url-com, va fi URL-ul paginii pe care doriți să o trimiteți și API_KEY va fi cheia API a 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
Pentru a verifica dacă a fost trimis corect, puteți merge la pagina Bing Webmaster Tools (trebuie să aveți un cont asociat domeniului dvs.) și veți găsi istoricul trimiterilor.

Funcție pentru adăugarea unui link "Trimite la IndexNow" în lista de intrări
Opțiunea intermediară pe care o propun între plugin și trimiterea manuală este o funcție care adaugă o coloană personalizată cu un link către Index Now în lista dvs. de intrări, care va arăta astfel:

În acest fel, puteți trimite fiecare URL oricând doriți cu un singur clic. Trebuie să țineți cont de faptul că, deși puteți trimite până la 10.000 de URL-uri pe zi, există un interval de timp între fiecare trimitere, care este de aproximativ 5 minute, astfel încât nu are sens să faceți trimiteri în masă fără a acorda atenție acestui interval. Alte întrebări conexe își găsesc răspunsul în IndexNow FAQ.
*Nu uitați să înlocuiți YOUR_API_KEY_DE_INDEX_NOW cu cheia API în // setările Index Now din cod.
// 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');