Funktion til at tilføje et IndexNow-link til din liste over poster

 

IndexNow er en gratis og open source-protokol under en Attribution-ShareAlike Creative Commons-licens, der giver dig mulighed for at give søgemaskinerne besked om, at du lige har udgivet noget nyt, at et stykke indhold er blevet ændret og opdateret, eller at en URL er blevet fjernet ved at sende et ping til søgemaskinerne for at fremskynde crawling- og eventuel indekseringsprocessen, der ellers kunne tage timer, dage eller uger.

Det betyder ikke, at det garanterer dig øjeblikkelig indeksering eller en bedre position, det reducerer bare den tid, det tager for hver søgemaskine at gennemgå din side og crawle, hvad der er nyt, opdateret eller slettet, da du vil kommunikere det til dem i øjeblikket. I dag er de søgemaskiner, der accepterer Index Now-pings, følgende: Microsoft Bing, Naver, Seznam.cz, Yandex og Yep.

Sådan opretter du en Index Now API-nøgle

For at bruge IndexNow skal du have en API-nøgle. Denne nøgle bekræfter, at du er ejer af hjemmesiden, og skal indeholde mindst 8 og højst 128 hexadecimale tegn. Nøglen kan kun indeholde små bogstaver (a-z), store bogstaver (A-Z), tal (0-9) og bindestreger (-). Så jeg forstår, at så længe den overholder strukturen, er det ligegyldigt, hvor du genererer den fra.

Men for at være på den sikre side skal du bare besøge denne Bing -side og generere den og derefter downloade den med pilen til højre.

Funktion til at tilføje et IndexNow-link til din liste over poster 0

Den downloadede .txt-fil skal placeres i roden af siden. Du er nu klar til at begynde at indsende sider.

Sådan sender du webadresser med Index Now

Der er forskellige måder at gøre det på. Mange SEO-plugins integrerer allerede Index Now som en funktion, men hvis du ikke bruger nogen af disse plugins, er der et oprettet af Bing dedikeret til netop denne opgave.

IndexNow-plugin

Dette er den hurtigste og nemmeste måde at gøre det på og sparer dig for at skulle generere og hoste nøglen på dit websted, da plugin'et genererer API-nøglen ved aktivering (det genererer en ny, hver gang du deaktiverer og genaktiverer plugin'et).

Du kan ændre denne nøgle fra tid til anden, men da det er en unik nøgle for en hjemmeside, råder Index Now dig til ikke at ændre den for ofte.

Plugin'et giver dig mulighed for automatisk at indsende URL'er, hver gang du poster noget nyt, lave manuelle indsendelser, se statistikker over indsendte URL'er, se nyligt indsendte URL'er og indsende dem igen.

Manuel afsendelse fra en browser

For at sende en URL (du kan også sende dem i grupper) manuelt fra en browser som en HTTP-anmodning, efter at du har hostet .txt med API-nøglen i din rod, kan du gøre det på to måder (hvor https://tu-url-com er URL'en til den side, du vil sende, og API_KEY er API-nøglen til 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

For at kontrollere, at den er blevet sendt korrekt, kan du gå til siden Bing Webmaster Tools (du skal have en konto tilknyttet dit domæne), hvor du kan se afsendelseshistorikken.

Funktion til at tilføje et IndexNow-link til din liste over poster 1

Den mellemliggende mulighed, jeg foreslår mellem plugin og manuel indsendelse, er en funktion, der tilføjer en brugerdefineret kolonne med et link til at indsende til Index Now i din liste over poster, der vil se sådan ud:

Funktion til at tilføje et IndexNow-link til din liste over poster 2

På den måde kan du sende hver URL, når du vil, med et enkelt klik. Du skal være opmærksom på, at selv om du kan sende op til 10.000 URL'er om dagen, er der et tidsinterval mellem hver indsendelse, som er ca. 5 minutter, så det giver ikke mening at lave masseindsendelser uden at være opmærksom på dette interval. Andre relaterede spørgsmål besvares i IndexNow FAQ.

*Husk at erstatte YOUR_API_KEY_DE_INDEX_NOW med din API-nøgle i // Index Now-indstillingerne 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');

Suscríbete para recibir los post en tu email sin publicidad

Relaterede artikler

Este blog se aloja en LucusHost

LucusHost, el mejor hosting