IndexNow är ett protokoll med fri och öppen källkod under en Attribution-ShareAlike Creative Commons-licens som gör det möjligt för dig att meddela sökmotorer att du just har publicerat något nytt, att ett innehåll har ändrats och uppdaterats eller att en URL har tagits bort genom att skicka en ping till sökmotorerna för att påskynda genomsökning och eventuell indexeringsprocess som annars kan ta timmar, dagar eller veckor.
Det betyder inte att det garanterar dig omedelbar indexering eller en bättre position, det minskar bara tiden det tar för varje sökmotor att gå igenom din sida och crawla vad som är nytt, uppdaterat eller raderat eftersom du kommer att kommunicera det till dem i ögonblicket. I dagsläget är de sökmotorer som accepterar Index Now-pings följande: Microsoft Bing, Naver, Seznam.cz, Yandex och Yep.
Så här skapar du en API-nyckel för Index Now
För att använda IndexNow behöver du en API-nyckel. Denna nyckel kommer att verifiera att du är ägare till webbplatsen och måste innehålla minst 8 och högst 128 hexadecimala tecken. Nyckeln kan endast innehålla gemener (a-z), versaler (A-Z), siffror (0-9) och bindestreck (-). Så jag förstår att så länge det överensstämmer med strukturen spelar det ingen roll var du genererar det från.
Men för att vara på den säkra sidan, besök bara den här Bing-sidan och generera den och ladda sedan ner den med pilen till höger.

Den nedladdade .txt-filen ska placeras i roten på sidan. Du är nu redo att börja skicka in sidor.
Så här skickar du in webbadresser med Index Now
Det finns olika sätt att göra detta på. Många SEO-plugins integrerar redan Index Now som en funktion, men om du inte använder något av dessa plugins finns det ett skapat av Bing som är dedikerat just till denna uppgift.
IndexNow Plugin
Detta är det snabbaste och enklaste sättet att göra det och sparar dig från att behöva generera och hosta nyckeln på din webbplats eftersom plugin-programmet kommer att generera API-nyckeln vid aktivering (det kommer att generera en ny varje gång du avaktiverar och återaktiverar plugin-programmet).
Du kan ändra den här nyckeln då och då, men eftersom det är en unik nyckel för en webbplats rekommenderar Index Now att du inte ändrar den för ofta.
Med plugin-programmet kan du automatiskt skicka in webbadresser varje gång du lägger upp något nytt, göra manuella inlämningar, visa statistik över inlämnade webbadresser, visa nyligen inlämnade webbadresser och skicka in dem igen.
Manuell sändning från en webbläsare
För att skicka en URL (du kan också skicka dem i grupper) manuellt från en webbläsare som en HTTP-begäran, efter att ha varit värd för .txt med API-nyckeln i din rot, kan du göra det på två sätt (där https://tu-url-com, kommer att vara URL på din sida du vill skicka och API_KEY kommer att vara API-nyckeln för 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
För att kontrollera att den har skickats korrekt kan du gå till sidan Bing Webmaster Tools (du måste ha ett konto som är kopplat till din domän) och där hittar du sändningshistoriken.

Funktion för att lägga till en "Skicka till IndexNow"-länk i din lista över poster
Det mellanliggande alternativet jag föreslår mellan plugin och manuell inlämning är en funktion som lägger till en anpassad kolumn med en länk för att skicka till Index Now i din lista över poster som kommer att se ut så här:

På så sätt kan du skicka varje webbadress när du vill med ett enda klick. Du måste ta hänsyn till att även om du kan skicka upp till 10 000 webbadresser per dag, finns det ett tidsintervall mellan varje inlämning, vilket är cirka 5 minuter, så det är inte meningsfullt att göra massinlämningar utan att uppmärksamma detta intervall. Andra relaterade frågor besvaras i IndexNow FAQ.
* Kom ihåg att ersätta YOUR_API_KEY_DE_INDEX_NOW med din API-nyckel i // Index Now-inställningarna i koden.
// 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');