Cách Tạo Hệ thống Gửi URL Hàng loạt vào Chỉ số Google và Kiểm tra Chỉ mục Trang Web


Trong bài viết này, chúng tôi sẽ giải thích chi tiết cách chúng tôi xây dựng hệ thống, các bước thực hiện và cung cấp các ví dụ mã hoạt động.


Giới thiệu

Mọi chủ sở hữu trang web, đặc biệt là những người nhắm đến đối tượng Việt Nam, đều phải đối mặt với nhu cầu theo dõi chỉ mục của các trang và đẩy nhanh việc thêm các URL mới vào Google. Trong môi trường cạnh tranh cao như thị trường thương mại điện tử và nội dung tại Việt Nam, việc các trang nội dung hoặc sản phẩm mới xuất hiện trong kết quả tìm kiếm sớm nhất có thể là rất quan trọng, thay vì chờ hàng tuần để bot tìm kiếm phát hiện ra chúng.

Việc kiểm tra chỉ mục thủ công và gửi liên kết qua Google Search Console nhanh chóng trở thành một nhiệm vụ tẻ nhạt và tốn thời gian, đặc biệt nếu bạn quản lý một cửa hàng trực tuyến với hàng trăm sản phẩm hoặc một blog có bài đăng thường xuyên bằng tiếng Việt.

Chúng tôi quyết định tự động hóa quy trình này bằng các công cụ của Google. Để gửi URL hàng loạt vào chỉ mục, chúng tôi sử dụng Google Indexing API, và để kiểm tra sự hiện diện của các trang trong kết quả tìm kiếm sau đó — Google Custom Search API. Cách tiếp cận này cho phép:

  • đơn giản hóa việc lập chỉ mục hàng loạt cho các trang mới trên các tên miền Việt Nam;

  • kiểm tra ngay lập tức xem trang nào đã xuất hiện trong kết quả tìm kiếm và trang nào chưa, với định vị địa lý dành riêng cho Việt Nam;

  • theo dõi hiệu quả của các nỗ lực SEO trên thị trường Việt Nam.



1. Tạo Dự án Google và Tài khoản Dịch vụ

Bước đầu tiên — chuẩn bị tài khoản để sử dụng API:

  1. Tạo dự án trong Google Cloud Console

    1. Truy cập console.cloud.google.com và tạo một dự án mới (ví dụ, vietnam-index). - liên kết

Tạo dự án trong Google

Tên dự án

2. Tạo Tài khoản Dịch vụ
Trong phần IAM & Admin → Service Accounts, tạo một tài khoản dịch vụ mới.

  • Đặt tên (ví dụ, vietnam-site-vn),

  • Chọn vai trò Owner  

 

Cấu hình

Một cửa sổ tiếp theo sẽ xuất hiện, nơi bạn không cần chỉ định gì; chỉ cần nhấp vào nút Hoàn tất.

Nhấp vào Hoàn tất

Tạo và Tải xuống Khóa JSON
Sau khi tạo tài khoản dịch vụ, tạo một khóa ở định dạng JSON. Khóa này chứa:

  • client_email — email của tài khoản dịch vụ,

  • private_key — khóa riêng,

  • các dữ liệu xác thực khác.

 

Tạo khóa

Tạo khóa

 

Tạo JSON

Ví dụ khóa:

 {
  "type": "service_account",
  "project_id": "vietnam-index",
  "private_key_id": "abc123",
  "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
  "client_email": "example@vietnam-index.iam.gserviceaccount.com",
  ...
}

 

2. Kích hoạt Google Indexing API
     Trong phần APIs & Services → Library, tìm Indexing API và kích hoạt nó cho dự án. tại đây

Indexing API và kích hoạt cho dự án

Tập lệnh Node.js để Gửi URL vào Chỉ số Google

Chúng tôi sử dụng Node.js và thư viện googleapis để xác thực qua JWT. Đối với các trang web Việt Nam, hãy đảm bảo tên miền của bạn được xác minh trong Google Search Console cho Việt Nam (google.com.vn).

 

const fs = require('fs'); const { google } = require('googleapis'); const request = require('request'); const key = require('./service_account.json'); const jwtClient = new google.auth.JWT( key.client_email, null, key.private_key, ['https://www.googleapis.com/auth/indexing'] ); const batch = fs.readFileSync('urls.txt').toString().split('\n'); jwtClient.authorize((err, tokens) => { if (err) return console.error('Lỗi xác thực:', err); const items = batch.map(url => ({ 'Content-Type': 'application/http', 'Content-ID': '', body: 'POST /v3/urlNotifications:publish HTTP/1.1\n' + 'Content-Type: application/json\n\n' + JSON.stringify({ url, type: 'URL_UPDATED' }) })); const options = { url: 'https://indexing.googleapis.com/batch', method: 'POST', headers: { 'Content-Type': 'multipart/mixed' }, auth: { bearer: tokens.access_token }, multipart: items }; request(options, (err, resp, body) => { if (err) return console.error('Lỗi gửi hàng loạt:', err); console.log('✅ Phản hồi từ Google Index API:\n', body); }); });

Sau khi chạy tập lệnh, mỗi liên kết được gửi đến Chỉ số Google. Ví dụ phản hồi:

{ "urlNotificationMetadata": { "url": "https://example.com.vn/san-pham/bluebonnet-nutrition-120" } }

Kiểm tra Chỉ mục với Custom Search API

Để kiểm tra xem một URL có trong chỉ mục hay không, sử dụng các tham số dành riêng cho Việt Nam, như gl=vn để định vị địa lý:

Tạo Công cụ Tìm kiếm Tùy chỉnh (CSE):

Tạo tại đây - tại đây 

  • Nhập trang web example.com.vn,

  • Hạn chế tìm kiếm chỉ cho tên miền này.

Công cụ Tìm kiếm Tùy chỉnh

Công cụ Tìm kiếm Tùy chỉnh cx

 

Lấy Khóa API  (định danh công cụ tìm kiếm).

https://console.cloud.google.com/apis/credentials

lấy api

số api

Bạn cần có:


Khóa API = AIzaSyAk3234234234d-gZAk8wmJE4IGFo_w8
CX = e35e2de1234566c5

Tập lệnh để kiểm tra chỉ mục trong Google: 


const fs = require('fs');
const axios = require('axios');
const urls = fs.readFileSync('urls.txt').toString().split('\n');
const apiKey = 'KHÓA_API_CỦA_BẠN';
const cx = 'CX_CỦA_BẠN';

(async () => {
  for (const url of urls) {
    try {
      const resp = await axios.get('https://www.googleapis.com/customsearch/v1', {
        params: { key: apiKey, cx, q: `site:${url}`, gl: 'vn' }
      });

      const status = resp.data.items && resp.data.items.length > 0 ? '✅ Đã lập chỉ mục' : '❌ Chưa lập chỉ mục';
      console.log(`${url} — ${status}`);
      fs.appendFileSync('index-check-results.txt', `${url} — ${status}\n');
      
      // Tạm dừng 1 giây để tránh vượt quá giới hạn
      await new Promise(r => setTimeout(r, 1000));
    } catch (e) {
      console.error('Lỗi kiểm tra:', e.response?.data || e.message);
    }
  }
})();

Giới hạn và Hạn ngạch

  • Google Indexing API — 200 yêu cầu mỗi ngày theo mặc định (áp dụng toàn cầu, bao gồm các trang web Việt Nam).

  • Custom Search API — hạn ngạch miễn phí là 100 yêu cầu mỗi ngày; cho khối lượng lớn hơn, sử dụng API Giới hạn Trang Web, giới hạn ở 10 trang.

  • Để tránh vượt quá giới hạn:

    • Sử dụng tạm dừng giữa các yêu cầu,

    • Chia URL thành các lô,

    • Yêu cầu tăng hạn ngạch qua Google Cloud Console.

 

Chúng tôi đã tạo ra một quy trình hoàn toàn tự động phù hợp cho các trang web Việt Nam:

  • Gửi URL vào Chỉ số Google,

  • Kiểm tra chỉ mục cho từng trang với trọng tâm là Việt Nam,

  • Lưu kết quả vào tệp,

  • Khả năng tích hợp với các hệ thống khác (CMS, bot Telegram, Google Sheets).

Điều này giúp tăng tốc các quy trình SEO cho các trang web Việt Nam, tiết kiệm thời gian và làm cho việc theo dõi chỉ mục trở nên minh bạch.

Sau khi lấy được tất cả API và Khóa

Chúng tôi đã chuẩn bị một kho lưu trữ sẵn sàng sử dụng, nơi bạn chỉ cần chèn các khóa đã lấy.
 
Liên kết tải xuống  - tại đây

 

Hướng dẫn Cài đặt và Sử dụng Tập lệnh Kiểm tra Chỉ mục và Gửi URL

Yêu cầu

  1. Node.js (phiên bản 18+) đã được cài đặt.
    Tải xuống tại đây: https://nodejs.org/.
    Sau khi cài đặt, kiểm tra:

     
    node -v npm -v
  2. Một tài khoản trong Google Cloud Console, với tên miền Việt Nam được xác minh trong Google Search Console.

    • Đã kích hoạt Indexing API.

    • Đã tạo Tài khoản Dịch vụ và tải xuống khóa JSON.

    • Đã kích hoạt Custom Search API và tạo công cụ tìm kiếm (CSE) cho trang web của bạn, với gl=vn cho kết quả dành riêng cho Việt Nam.

Cài đặt

  1. Giải nén kho lưu trữ vào một thư mục thuận tiện.

    Ví dụ:

     
    cd ~/Desktop/vietnam-example

    2. Cài đặt các phụ thuộc:

     
    npm install

    🔑 Cấu hình Khóa

    1. Khóa Tài khoản Dịch vụ (Indexing API)

    • Trong tệp service_account.json, chèn khóa JSON của bạn từ Tài khoản Dịch vụ Google.

    • Ví dụ nội dung:

     
    { "type": "service_account", "project_id": "vietnam-index", "private_key_id": "abc123", "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n", "client_email": "your-service-account@project-id.iam.gserviceaccount.com" }

    ⚠️ Tệp này không được chia sẻ công khai; chỉ dành cho bạn sử dụng.

    Khóa Custom Search API

    Mở tệp chekindex.js và thay thế các dòng:

     
    const apiKey = "KHÓA_API_CỦA_BẠN"; // Khóa API Google const cx = "CX_CỦA_BẠN"; // Định danh Công cụ Tìm kiếm Tùy chỉnh

    bằng các giá trị của bạn. Thêm gl: 'vn' cho kết quả dành riêng cho Việt Nam.

    • Khóa API: Lấy từ Google Cloud Console → APIs & Services → Credentials.

    • CX: Lấy từ cài đặt Công cụ Tìm kiếm Tùy chỉnh của bạn.


    📄 Tệp

    • urls.txt — danh sách URL để kiểm tra và gửi vào chỉ mục.
      Mỗi địa chỉ trên một dòng mới.

    • index.js — tập lệnh để gửi liên kết đến Google Index API.

    • chekindex.js — tập lệnh để kiểm tra chỉ mục qua Custom Search API.

    • index-check-results.txt — kết quả kiểm tra được tự động lưu tại đây.

    Gửi Liên kết đến Chỉ số Google

    Chạy tập lệnh từ thư mục, lệnh: 
     
    node index.js
    Ví dụ phản hồi:✅ Phản hồi từ Google Index API: { "urlNotificationMetadata": { "url": "https://example.com.vn/san-pham/example" } }

    2. Kiểm tra Chỉ mục của Liên kết

     
    node chekindex.js
    Ví dụ kết quả:

    https://example.com.vn/san-pham/bluebonnet-nutrition-120 — ✅ Đã lập chỉ mục

    https://example.com.vn/san-pham/1000-tart-cherry-extract-solgar-90 — ❌ Chưa lập chỉ mục

    Tất cả kết quả được lưu vào tệp index-check-results.txt

    Hoàn tất!

    Giờ đây bạn có một công cụ tự động cho các trang web Việt Nam:

    • gửi các trang vào Chỉ số Google,

    • kiểm tra chỉ mục của chúng với trọng tâm là Việt Nam,

    • lưu kết quả vào tệp.

    Kết quả

    kết quả chạy tập lệnh

    Cảm ơn đội ngũ Brander vì nguồn cảm hứng và một số tài liệu đã hỗ trợ trong việc viết bài này. Đối với các trang web Việt Nam, luôn xác minh trong Google Search Console qua google.com.vn.