IndexNow, Attribution-ShareAlike Creative Commons lisansı altında, arama motorlarına yeni bir şey yayınladığınızı, bir içerik parçasının değiştirildiğini ve güncellendiğini veya bir URL'nin kaldırıldığını, aksi takdirde saatler, günler veya haftalar sürebilecek tarama ve olası indeksleme sürecini hızlandırmak için arama motorlarına bir ping göndererek bildirmenize olanak tanıyan ücretsiz ve açık kaynaklı bir protokoldür.
Bu, size anında indeksleme veya daha iyi bir konum garanti ettiği anlamına gelmez, sadece her bir arama motorunun sayfanızı gözden geçirmesi ve yeni, güncellenmiş veya silinmiş olanları taraması için gereken süreyi azaltır, çünkü bunları onlara şu anda iletiyor olacaksınız. Bugün itibariyle Index Now pinglerini kabul eden arama motorları şunlardır: Microsoft Bing, Naver, Seznam.cz, Yandex ve Yep.
Index Now API anahtarı nasıl oluşturulur?
IndexNow'u kullanmak için bir API anahtarına ihtiyacınız vardır. Bu anahtar web sitesinin sahibi olduğunuzu doğrular ve en az 8, en fazla 128 onaltılık karakter içermelidir. Anahtar yalnızca küçük harf (a-z), büyük harf (A-Z), sayı (0-9) ve tire (-) içerebilir. Yani anladığım kadarıyla yapıya uygun olduğu sürece nereden ürettiğinizin bir önemi yok.
Ancak güvenli tarafta olmak için, bu Bing sayfasını ziyaret edin ve oluşturun ve ardından sağdaki okla indirin.

İndirilen .txt dosyası sayfanın kök dizinine yerleştirilmelidir. Artık sayfa göndermeye başlamaya hazırsınız.
Index Now ile URL'ler nasıl gönderilir?
Bunu yapmanın farklı yolları vardır. Birçok SEO eklentisi zaten Index Now'ı bir özellik olarak entegre ediyor, ancak bu eklentilerden herhangi birini kullanmıyorsanız, Bing tarafından yalnızca bu göreve adanmış bir tane var.
IndexNow Eklentisi
Bu, bunu yapmanın en hızlı ve en kolay yoludur ve eklenti etkinleştirme sırasında API anahtarını oluşturacağından (eklentiyi her devre dışı bıraktığınızda ve yeniden etkinleştirdiğinizde yeni bir tane oluşturacaktır) anahtarı oluşturmak ve sitenizde barındırmak zorunda kalmazsınız.
Bu anahtarı zaman zaman değiştirebilirsiniz, ancak bir web sitesi için benzersiz bir anahtar olduğundan, Index Now bunu çok sık değiştirmemenizi önerir.
Eklenti, her yeni bir şey yayınladığınızda URL'leri otomatik olarak göndermenize, manuel gönderimler yapmanıza, gönderilen URL'lerin istatistiklerini görüntülemenize, son gönderilen URL'leri görüntülemenize ve yeniden göndermenize olanak tanır.
Tarayıcıdan manuel gönderme
Bir URL'yi(bunları gruplar halinde de gönderebilirsiniz) bir tarayıcıdan HTTP isteği olarak manuel olarak göndermek için, .txt'yi API anahtarıyla birlikte kök dizininizde barındırdıktan sonra, bunu iki şekilde yapabilirsiniz (burada https://tu-url-com, göndermek istediğiniz sayfanızın URL'si ve API_KEY, Index Now'ın API anahtarı olacaktır.
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
Doğru şekilde gönderildiğini doğrulamak için Bing Web Yöneticisi Araçları sayfasına gidebilirsiniz (alan adınızla ilişkili bir hesabınızın olması gerekir) ve gönderme geçmişini bulabilirsiniz.

Girişler listenize "IndexNow'a Gönder" bağlantısı ekleme işlevi
Eklenti ve manuel gönderim arasında önerdiğim ara seçenek, girişler listenizde Index Now'a göndermek için bir bağlantı içeren özel bir sütun ekleyen ve aşağıdaki gibi görünecek bir işlevdir:

Bu şekilde her URL'yi istediğiniz zaman tek bir tıklama ile gönderebilirsiniz. Günde 10.000 URL'ye kadar gönderebilmenize rağmen, her gönderim arasında yaklaşık 5 dakika olan bir zaman aralığı olduğunu, bu nedenle bu aralığa dikkat etmeden toplu gönderimler yapmanın mantıklı olmadığını dikkate almalısınız. Diğer ilgili sorular IndexNow SSS bölümünde yanıtlanmıştır.
*Koddaki // Index Now ayarlarında YOUR_API_KEY_DE_INDEX_NOW yerine API anahtarınızı koymayı unutmayın.
// 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');