Script to get your site indexed on Google in less than 48 hours
Go to file
2024-03-18 14:47:21 +01:00
.changeset add documentation comments 2024-03-18 13:51:18 +01:00
.github add release workflow 2024-03-06 15:15:59 +01:00
src add documentation comments 2024-03-18 13:51:18 +01:00
.gitignore update .gitignore 2024-02-24 12:44:58 +01:00
.nvmrc add .nvmrc to set the nodejs version 2024-02-22 13:29:58 +01:00
CONTRIBUTING.md add contributing and update development instructions 2024-03-05 01:10:47 +01:00
LICENSE open source it 2024-01-24 09:13:56 +00:00
output.png open source it 2024-01-24 09:13:56 +00:00
package-lock.json add version and release scripts to package.json 2024-03-06 15:16:38 +01:00
package.json add license to package.json 2024-03-18 13:51:33 +01:00
README.md update readme module usage 2024-03-18 14:47:21 +01:00
tsconfig.json add ts config 2024-02-24 14:13:54 +01:00
tsup.config.ts add tsup config 2024-03-02 16:00:19 +01:00

Google Indexing Script

Use this script to get your entire site indexed on Google in less than 48 hours. No tricks, no hacks, just a simple script and a Google API.

You can read more about the motivation behind it and how it works in this blog post https://seogets.com/blog/google-indexing-script

Important

  1. Indexing != Ranking. This will not help your content/page rank on Google, it'll just let Google know about the existence of all your pages.
  2. This script uses Google Indexing API. While there is no absolute guarantee that every page will be indexed, recent tests conducted in December 2023 have shown a notably high success rate.

Requirements

Preparation

  1. Follow this guide from Google. By the end of it, you should have a project on Google Cloud with the Indexing API enabled, a service account with the Owner permission on your sites.
  2. Make sure you enable both Google Search Console API and Web Search Indexing API on your Google Project ➤ API Services ➤ Enabled API & Services.
  3. Download the JSON file with the credentials of your service account and save it in the same folder as the script. The file should be named service_account.json

Installation

Using CLI

Install the cli globally on your machine.

npm i -g google-indexing-script

Using the repository

Clone the repository to your machine.

git clone https://github.com/goenning/google-indexing-script.git
cd google-indexing-script

Install and build the project.

npm install
npm run build
npm i -g .

Note

Ensure you are using an up-to-date Node.js version, with a preference for v20 or later. Check your current version with node -v.

Usage

With service_account.json (recommended)

Create a .gis directory in your home folder and move the service_account.json file there.

mkdir ~/.gis
mv service_account.json ~/.gis

Run the script with the domain or url you want to index.

gis <domain or url>
# `domain` property on gsc
gis seogets.com
# `url prefix` property on gsc
gis https://seogets.com

When in doubt try both 😀

Here are some other ways to run the script:

# custom path to service_account.json
gis seogets.com --path /path/to/service_account.json
# long version command
google-indexing-script seogets.com
# cloned repository
npm run index seogets.com
With environment variables

Open service_account.json and copy the client_email and private_key values.

Run the script with the domain or url you want to index.

GIS_CLIENT_EMAIL=your-client-email GIS_PRIVATE_KEY=your-private-key gis seogets.com
With arguments (not recommended)

Open service_account.json and copy the client_email and private_key values.

Once you have the values, run the script with the domain or url you want to index, the client email and the private key.

gis seogets.com --client-email your-client-email --private-key your-private-key
As a npm module

You can also use the script as a npm module in your own project.

npm i google-indexing-script
import { index } from 'google-indexing-script'
import serviceAccount from './service_account.json'

index('seogets.com', {
  client_email: serviceAccount.client_email,
  private_key: serviceAccount.private_key
})
  .then(console.log)
  .catch(console.error)

Read the API documentation for more details.

Here's an example of what you should expect:

Important

  • Your site must have 1 or more sitemaps submitted to Google Search Console. Otherwise, the script will not be able to find the pages to index.
  • You can run the script as many times as you want. It will only index the pages that are not already indexed.
  • Sites with a large number of pages might take a while to index, be patient.

📄 License

MIT License

💖 Sponsor

This project is sponsored by SEO Gets