Funkce pro přidání odkazu IndexNow do seznamu záznamů

Seleccionar idioma

IndexNow je bezplatný protokol s otevřeným zdrojovým kódem pod licencí Creative Commons Attribution-ShareAlike, který umožňuje informovat vyhledávače o tom, že jste právě publikovali něco nového, že byl obsah upraven a aktualizován nebo že byla adresa URL odstraněna, a to zasláním pingu vyhledávačům, aby se urychlilo procházení a případné indexování, které by jinak mohlo trvat hodiny, dny nebo týdny.

To neznamená, že vám to zaručí okamžitou indexaci nebo lepší pozici, pouze to zkrátí dobu, kterou potřebují jednotlivé vyhledávače k tomu, aby prošly vaši stránku a prošly, co je na ní nového, aktualizovaného nebo smazaného, protože jim to sdělíte v daném okamžiku. K dnešnímu dni jsou vyhledávače, které přijímají pingy Index Now, následující: Bing, Naver, Seznam.cz, Yandex a Yep.

Jak vytvořit klíč API Index Now

K používání služby IndexNow potřebujete klíč API. Tento klíč ověří, že jste vlastníkem webové stránky, a musí obsahovat minimálně 8 a maximálně 128 hexadecimálních znaků. Klíč může obsahovat pouze malá písmena (a-z), velká písmena (A-Z), čísla (0-9) a pomlčky (-). Chápu to tedy tak, že pokud splňuje strukturu, nezáleží na tom, odkud jej vygenerujete.

Pro jistotu však navštivte tuto stránku Bingu, vygenerujte ji a poté ji stáhněte pomocí šipky vpravo.

Funkce pro přidání odkazu IndexNow do seznamu záznamů 0

Stažený soubor .txt by měl být umístěn v kořenovém adresáři stránky. Nyní jste připraveni začít odesílat stránky.

Jak odeslat adresy URL pomocí služby Index Now

Existují různé způsoby, jak to udělat. Mnoho pluginů SEO již funkci Index Now integruje, ale pokud žádný z těchto pluginů nepoužíváte, existuje plugin vytvořený společností Bing, který je určen právě pro tento úkol.

Zásuvný modulIndexNow

Je to nejrychlejší a nejjednodušší způsob, jak to udělat, a ušetří vás nutnosti generovat a hostovat klíč na vašem webu, protože plugin vygeneruje klíč API při aktivaci (vygeneruje nový klíč pokaždé, když plugin deaktivujete a znovu aktivujete).

Tento klíč můžete čas od času změnit, ale vzhledem k tomu, že se jedná o jedinečný klíč pro webovou stránku, společnost Index Now doporučuje, abyste jej neměnili příliš často.

Zásuvný modul umožňuje automaticky odesílat adresy URL při každém novém příspěvku, provádět ruční odesílání, zobrazovat statistiky odeslaných adres URL, zobrazovat nedávno odeslané adresy URL a znovu je odesílat.

Ruční odesílání z prohlížeče

Chcete-li odeslat adresu URL(můžete je také odesílat ve skupinách) ručně z prohlížeče jako požadavek HTTP poté, co jste v kořenovém adresáři hostovali soubor .txt s klíčem API, můžete to provést dvěma způsoby (kde https://tu-url-com, bude adresa URL vaší stránky, kterou chcete odeslat, a API_KEY bude klíč API 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

Chcete-li si ověřit, zda bylo odesláno správně, můžete přejít na stránku Bing Webmaster Tools (musíte mít účet spojený s vaší doménou) a najdete historii odesílání.

Funkce pro přidání odkazu IndexNow do seznamu záznamů 1

Funkce pro přidání odkazu "Odeslat do IndexNow" do seznamu záznamů

Jako mezistupeň mezi zásuvným modulem a ručním odesláním navrhuji funkci, která přidá do seznamu záznamů vlastní sloupec s odkazem na odeslání do Index Now, který bude vypadat takto:

Funkce pro přidání odkazu IndexNow do seznamu záznamů 2

Takto můžete odeslat každou adresu URL, kdykoli budete chtít, jediným kliknutím. Musíte vzít v úvahu, že ačkoli můžete odeslat až 10 000 adres URL denně, mezi jednotlivými odesláními je časový interval, který činí přibližně 5 minut, takže nemá smysl provádět hromadná odeslání, aniž byste tomuto intervalu věnovali pozornost. Další související otázky jsou zodpovězeny v často kladených dotazech IndexNow.

*Nezapomeňte v kódu nahradit YOUR_API_KEY_DE_INDEX_NOW klíčem API v nastavení // Index Now.

// 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');

Související články

Este blog se aloja en LucusHost

LucusHost, el mejor hosting