항목 목록에 IndexNow 링크를 추가하는 함수

08.07.2025|

Tiempo de lectura Lectura: 2 min, 44 s
Número de palabras Palabras: 508
Número de visitas Visitas: 147
Icono de traducción

IndexNow는 저작자표시-동일조건변경허락 크리에이티브 커먼즈 라이선스에 따른 무료 오픈 소스 프로토콜로, 검색 엔진에 핑을 보내 새로운 콘텐츠를 게시했거나 콘텐츠가 수정 및 업데이트되었거나 URL이 제거되었음을 알려 크롤링 및 색인 프로세스의 속도를 높여 몇 시간, 며칠 또는 몇 주가 걸릴 수 있는 색인화 작업을 빠르게 진행할 수 있도록 해줍니다.

이는 즉각적인 색인 생성이나 더 나은 순위를 보장하는 것이 아니라 각 검색 엔진이 귀하의 페이지를 살펴보고 새 항목, 업데이트 또는 삭제된 항목을 크롤링하는 데 걸리는 시간을 줄여줄 뿐입니다(현재 전달할 내용을 검색 엔진에 전달할 때). 현재 인덱스 나우 핑을 허용하는 검색 엔진은 다음과 같습니다: Microsoft Bing, Naver, Seznam.cz, YandexYep.

인덱스 나우 API 키를 만드는 방법

IndexNow를 사용하려면 API 키가 필요합니다. 이 키는 웹사이트의 소유자임을 확인하며 최소 8자에서 최대 128자의 16진수를 포함해야 합니다. 키에는 소문자(a-z), 대문자(A-Z), 숫자(0-9) 및 하이픈(-)만 포함할 수 있습니다. 따라서 구조를 준수하는 한 어디서 생성하는지는 중요하지 않다는 것을 이해합니다.

하지만 안전을 위해 Bing 페이지를 방문하여 생성한 다음 오른쪽 화살표를 사용하여 다운로드하세요.

다운로드한 .txt 파일은 페이지의 루트에 배치해야 합니다. 이제 페이지 제출을 시작할 준비가 되었습니다.

지금 인덱스로 URL을 제출하는 방법

이 작업을 수행하는 방법에는 여러 가지가 있습니다. 많은 SEO 플러그인이 이미 인덱스 나우를 기능으로 통합하고 있지만, 이러한 플러그인을 사용하지 않는 경우 이 작업 전용으로 Bing에서 만든 플러그인이 있습니다.

IndexNow 플러그인

이 방법은 가장 빠르고 쉬운 방법이며 플러그인이 활성화 시 API 키를 생성하므로 사이트에서 키를 생성하고 호스팅할 필요가 없습니다(플러그인을 비활성화했다가 다시 활성화할 때마다 새 키를 생성합니다).

이 키는 수시로 변경할 수 있지만 웹사이트의 고유 키이므로 Index Now에서는 너무 자주 변경하지 말 것을 권장합니다.

플러그인을 사용하면 새 글을 게시할 때마다 URL을 자동으로 제출하고, 수동으로 제출하고, 제출된 URL의 통계를 보고, 최근에 제출된 URL을 확인하고, 다시 제출할 수 있습니다.

브라우저에서 수동 전송

브라우저에서 수동으로 URL(그룹으로 보낼 수도 있음)을 HTTP 요청으로 보내려면 루트에 API 키가 포함된 .txt를 호스팅한 후 두 가지 방법으로 보낼 수 있습니다(여기서 https://tu-url-com 은 보내려는 페이지의 URL이고 API_KEY는 Index Now의 API 키입니다).

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

제대로 전송되었는지 확인하려면 Bing 웹마스터 도구 페이지(도메인과 연결된 계정이 있어야 함)로 이동하면 전송 내역을 확인할 수 있습니다.

항목 목록에 IndexNow 링크를 추가하는 함수 1

항목 목록에 'IndexNow로 보내기' 링크를 추가하는 기능

플러그인과 수동 제출 사이에 제가 제안하는 중간 옵션은 항목 목록에 지금 색인에 제출할 링크가 있는 사용자 지정 열을 추가하는 기능으로, 다음과 같이 표시됩니다:

항목 목록에 IndexNow 링크를 추가하는 함수 2

이렇게 하면 클릭 한 번으로 원할 때마다 각 URL을 전송할 수 있습니다. 하루에 최대 10,000개의 URL을 보낼 수 있지만 각 제출 사이에는 약 5분의 시간 간격이 있으므로 이 간격을 고려하지 않고 대량 제출하는 것은 의미가 없다는 점을 고려해야 합니다. 기타 관련 질문은 IndexNow FAQ에 답변되어 있습니다.

*코드의 // 인덱스 지금 설정에서 YOUR_API_KEY_DE_INDEX_NOW를 API 키로 바꾸는 것을 잊지 마세요.

// 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');
관련 문서
브라우저가 곧 워드프레스입니다.

브라우저가 곧 워드프레스입니다.

속도 감사: 워드프레스의 발목을 잡는 요소 찾기

속도 감사: 워드프레스의 발목을 잡는 요소 찾기

생성블록 프로의 새로운 블록

생성블록 프로의 새로운 블록 "캐러셀"

Este blog se aloja en LucusHost

LucusHost, el mejor hosting

이메일 구독

기사가 게시되는 즉시 광고 없이 받은 편지함에서 전체 기사를 무료로 받아보세요. 피드의 전체 콘텐츠는 외부 서비스를 통해 광고 없이 전송됩니다.