# Auto-Indexing Tool

### Set up the Web Search Indexing API and Google Service Accounts.

#### Step 1: Enable the Web Search Indexing API

Visit the Google Cloud Console at <https://console.cloud.google.com/> and create a Project.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-fed3ebd0e873d1eb361254ecf4c04de3847767f1%2FXnapper-2023-11-30-17.42.13.png?alt=media" alt=""><figcaption><p>Create a project on Google Cloud Console</p></figcaption></figure>

In the top search bar, type "API" and select "Enabled APIs & services".

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-526b594bd3e7325182497fcc4c3227b9423c9249%2FXnapper-2023-11-30-17.44.04.png?alt=media" alt=""><figcaption><p>Select "Enabled APIs &#x26; services"</p></figcaption></figure>

Click "Library" on the left sidebar.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-1c7e1b829ebfef2ed383ab3d7a9ef8a0d0e01788%2FXnapper-2023-11-30-17.46.47.png?alt=media" alt="" width="346"><figcaption><p>Select "Library"</p></figcaption></figure>

Search for "**Web Search Indexing API**" in the top search bar and enable it, so you can access it with your Google Service Account

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-ad2e23c8585e4b89cd26c33891e081142c3f68cb%2FXnapper-2024-02-21-14.34.18.png?alt=media" alt="" width="563"><figcaption><p>Enable the Web Search Indexing API</p></figcaption></figure>

#### Step 2: Create a Google Service Account

In your [Google Cloud Console](https://console.cloud.google.com/) dashboard, search for "**Service Accounts**" and click on it.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-a1cc74a736cda2c0440b1e8b9ab41c553e091718%2FXnapper-2023-11-30-17.51.43.png?alt=media" alt=""><figcaption><p>Click on "Service Accounts"</p></figcaption></figure>

Hit the "Create Service Account" button, and enter a service account name. Then, hit the "Done" button.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-25f938df748c78cbfa2b6e28a69370b4d45db02f%2FXnapper-2023-11-30-17.56.52.png?alt=media" alt=""><figcaption><p>Enter service account name</p></figcaption></figure>

Copy the email of the service account.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-9785e7daf49d21a78bdaf7b770179cbb9c158ef6%2FXnapper-2023-11-30-17.58.38.png?alt=media" alt=""><figcaption><p>Copy the email</p></figcaption></figure>

Click on the Service Account's email, select the "**KEYS**" tab, then click the "**Create new key**" button.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-4c8c4f49958bb72884c7a528d8baf1e336277a61%2FXnapper-2023-11-30-18.08.28.png?alt=media" alt=""><figcaption><p>Create a key for your service account</p></figcaption></figure>

A model will pop up. Select "JSON" and click the "Create" button.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-e7e6a767e843707a70f32c22e7d663f5ec465d19%2FXnapper-2023-11-30-18.10.57.png?alt=media" alt=""><figcaption><p>Select JSON in Key type field.</p></figcaption></figure>

After creating the key, Google will download it to your machine. Keep that file. We will need it in Step 3.

#### Step 3: Add the Google Search Console to SEO Utils

Access the **Google Service Accounts** menu from the App dropdown at the top-right corner.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-f6a35c6a12dc9855db793fdaac0b45a9f5018d26%2FXnapper-2024-02-21-14.41.52.png?alt=media" alt="" width="563"><figcaption><p>Access the Google Service Accounts menu</p></figcaption></figure>

Then, click the **Add Account** button, and select the JSON file that you downloaded in Step 2 to add a new account.

{% hint style="warning" %}
**Google Indexing API Rate Limit**

Google only allows you to submit 200 URLs per day via the Indexing API. There are 2 ways to bypass this.

1. [Request more quota](https://developers.google.com/search/apis/indexing-api/v3/quota-pricing).
2. Create multiple projects and Google Service Accounts by repeating Step 1 to Step 3. Please note that you have to create a new project and then create a new Google Service Account in that new project because Google limits the API usage per project, not per Google Service Account.
   {% endhint %}

After creating an account, please copy the Google Service Account email address.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-48181b5e7984bac630b9fc89eac9fcfdff13c25a%2FXnapper-2024-02-21-14.57.37.png?alt=media" alt=""><figcaption><p>Copy the Google Service Account email address</p></figcaption></figure>

Visit your Google Search Console, select the site that you want to submit for indexing. Click on **Settings** > **Users and Permissions**.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-0efc0309590f187db218226bbe9116a3685bcbb8%2FXnapper-2024-02-21-15.02.18.png?alt=media" alt=""><figcaption></figcaption></figure>

Click the "**Add User**" button, then paste the Google Service Account that you copied previously. Select "Owner" permission for the new user.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-7e60d9a24cf7a0df916ea852e1dbf5e33f215278%2FXnapper-2024-02-21-15.04.49.png?alt=media" alt=""><figcaption><p>Add a new user</p></figcaption></figure>

{% hint style="info" %}
If you have multiple Google Service Accounts, you will need to add multiple users.
{% endhint %}

### Connect your Google Search Console Sites & Sitemaps

If you haven't connected a site on your Google Search Console, please follow [this guide](https://help.seoutils.app/guide/google-search-console) to do that.

After connecting a site, SEO Utils will pull all the sitemaps that you entered on your Google Search Console.

If you haven't added a sitemap to your Google Search Console account, you can add sitemaps manually on SEO Utils

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-e40a6b6a8f898d73fe89593d9c2185b2b58c7560%2FXnapper-2024-02-21-15.18.08.png?alt=media" alt=""><figcaption><p>Add a sitemap manually.</p></figcaption></figure>

{% hint style="info" %}
You can add as many sitemaps as you want.
{% endhint %}

After adding sitemaps, you can fetch all URLs from them by clicking the "**Fetch URLs From All Sitemaps**" action. SEO Utils will pull all URLs from all sitemaps and check the index of every single URL.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-81dc864511337c2a64af9c3c3db434d6aef20d54%2FXnapper-2024-02-23-18.23.42.png?alt=media" alt=""><figcaption><p>Fetch URLs From All Sitemaps</p></figcaption></figure>

### Checking Index

You can trigger a process to bulk-check the index for all URLs on your site by clicking the **Check Index** action.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-edc2692121b031d82bfda9473d6f62ea4b8132fe%2FXnapper-2024-02-23-18.28.56.png?alt=media" alt=""><figcaption><p>Bulk-check index</p></figcaption></figure>

You can also check index for a single URL by clicking the vertical dots icon.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-8d92f478c7945abb760fa97ccb926fd739f16da6%2FXnapper-2024-02-23-18.31.16.png?alt=media" alt="" width="375"><figcaption><p>Check index for a URL</p></figcaption></figure>

#### Two Checking Index Methods

**#1. Using Google Search Console API (default)**

Since March 4, 2024, SEO Utils has supported checking index by using [Search Console URL Inspection API](https://developers.google.com/search/blog/2022/01/url-inspection-api). This method has some pros when compared to method #2 which uses the "site:url" operator.

* Do not require proxies, so no extra cost.
* Faster, can check 10 URLs per second.
* Easy to set up, just need to enable the Google Search Console API.

However, there are some [quota limits](https://developers.google.com/webmaster-tools/limits#url-inspection). The quota is enforced per Search Console [website property](https://support.google.com/webmasters/answer/34592) (calls querying the same site):

* 2,000 queries per day
* 600 queries per minute

So if you reach the limit, you might want to switch to the #2 method.

Moreover, the Google Search Console API method also gives you [some extra information](https://developers.google.com/webmaster-tools/v1/urlInspection.index/UrlInspectionResult) that the second method doesn't provide like

* Indexing State
* Coverage State
* Crawled Date

You can hover on the blue "info" icon to see that information.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-6b5650e7ebf77f0bfe7f99e5b811821c49900f88%2FXnapper-2024-03-04-15.25.24.png?alt=media" alt="" width="563"><figcaption><p>Extra information that the first method gives you.</p></figcaption></figure>

{% hint style="info" %}
There is a filter for the Indexing State, so you can tell why the URL is not allowed to be indexed.

<img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-384d5c71fdc2c2b85977f82bbddf64c8d152502b%2FXnapper-2024-03-04-15.30.31.png?alt=media" alt="" data-size="original">
{% endhint %}

**#2. Using the "site:url" Operator**

When using this method, SEO Utils will search Google using the "site:url" operator to see if the URL is on the SERP.

This method doesn't have a quota limit but you want to consider [using Proxies](https://help.seoutils.app/guide/how-to-use-proxies) to prevent Google from blocking your IP when checking thousands of URLs.

#### Switching Method

You can click on the "cog icon" button to switch the method. The method is saved on the site scope, which means you can use method #1 for site A and method #2 for site B.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-ace57840c9047efebaecf24f275b33b1f0dd0e8d%2FXnapper-2024-03-04-15.31.17.png?alt=media" alt=""><figcaption><p>Switching checking index method.</p></figcaption></figure>

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-3f26ebf72e433fc4afb87da47dbeeaff4a4ea697%2FXnapper-2024-03-04-15.33.56.png?alt=media" alt="" width="563"><figcaption><p>Click the "Update" button to save the settings.</p></figcaption></figure>

### Submitting Index

Just like the "Check Index" action, you can submit either multiple URLs or just one URL for indexing.

When you bulk-submit URLs, SEO Utils will submit all URLs regardless of their indexed or submitted status.

### Auto Index Feature

SEO Utils provides an auto-pilot mode so you don't need to pull URLs from sitemaps, check & submit index manually.

To enable the Auto Index feature of a site, please ensure that you toggle the **Auto Index** field on.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-06ce3423c202ce45f8a8bcac50b0df19807352ba%2FXnapper-2024-02-25-09.38.00.png?alt=media" alt=""><figcaption><p>Enable Auto Index for sites</p></figcaption></figure>

You can also enable the Auto Index feature for specific sitemaps by visiting the Sitemaps list page.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-11d3ca8e86620a37f2eae8b7ef7693777f7bc894%2FXnapper-2024-02-25-09.40.00.png?alt=media" alt=""><figcaption><p>Enable Auto Index for all URLs of a specific sitemap</p></figcaption></figure>

You can tell if a URL is enabled for auto-indexing if the URL is yellow like this.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-18ec7d373fbecdbdc9c6fe0eb409f35d2230a5eb%2FXnapper-2024-02-25-09.50.57.png?alt=media" alt=""><figcaption><p>URLs are disabled for auto-indexing</p></figcaption></figure>

{% hint style="info" %}
When URLs are disabled for auto-indexing, SEO Utils won't automatically check and submit them for indexing. However, you still can manually do that by using "**Check Index**" & "**Submit Index**" actions.
{% endhint %}

{% hint style="info" %}
To use the Auto Index feature, you need to keep SEO Utils running on your machine or use a VPS, so you don't need to keep your computer on constantly.
{% endhint %}

#### Auto Pull URLs From Sitemaps

SEO Utils will pull URLs from all sitemaps daily at **5:00 AM (your local time)** to get new URLs and check if the existing URLs have content updated by using the Last Mod field.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-a0625dd09e89f6edb367778bc35c440606b66913%2FXnapper-2024-02-25-10.00.18.png?alt=media" alt=""><figcaption><p>Using Last Mod field to detect if the content of a URL is updated.</p></figcaption></figure>

{% hint style="success" %}
If a URL has updated content, SEO Utils will resubmit it for indexing, regardless of the submission status.
{% endhint %}

#### Auto Check Index

SEO Utils will check index of all sites that enable the Auto Index feature at **6:00 AM (your local time).**

**Note:** It will skip the URLs that belong to a sitemap with the Auto-Index setting turned off.

{% hint style="info" %}
Please consider [using Proxies](https://help.seoutils.app/guide/how-to-use-proxies) if you have many URLs to check index.
{% endhint %}

#### Auto Submit Index

SEO Utils will submit for indexing all sites that enable the Auto Index feature **every 10 minutes**.

**Note:**

* It will skip the URLs that belong to a sitemap with the Auto-Index setting turned off.
* The auto-pilot mode only submits URLs that have already been checked for indexing. You don't have a setting to ignore this behavior like when running the "**Submit Index**" action manually.

### Override the Auto-Mode Behavior

This is the default behavior of the Auto-mode

* **Checking index**: If a URL is already **indexed**, it won't re-check index for that URL in the subsequent runs.
* **Submitting index**: If a URL is already **submitted** or **indexed**, it won't re-submit that URL in the subsequent runs.

If you would like to override those behaviors, please open the Site setting modal.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-6abc5f722fd1ce0a011f6e5ac30c65d1810a6339%2FXnapper-2024-04-24-20.50.12.png?alt=media" alt=""><figcaption><p>Open the setting modal.</p></figcaption></figure>

You will see 2 fields:

* **Auto Recheck Index After** field: You can specify the number of days to recheck the index even if the URL is already indexed.
* **Auto Resubmit Index After** field: You can specify the number of days to resubmit URLs even if URLs are already submitted but not indexed.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-3103503eff0a4fc12346d3e3442be88955c7ab4a%2FXnapper-2024-04-24-20.54.07.png?alt=media" alt=""><figcaption><p>Override the Auto-mode behavior</p></figcaption></figure>

{% hint style="info" %}
Those two fields will only be shown if you **turn on the Auto mode** for the site.
{% endhint %}

### Quick Tips

You can view all the logs of check and submit for indexing of each URL by clicking the log bar at the bottom.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-11b7c6387e4c37ce026b37df6753c54aacb07568%2FXnapper-2024-02-25-10.18.50.png?alt=media" alt=""><figcaption><p>View logs</p></figcaption></figure>

You can quickly switch between pages on a site by using the dropdown menu in the header section.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-154c1cbf009befaaa2a90b05be4bccda6167829e%2FXnapper-2024-02-25-10.43.03.png?alt=media" alt=""><figcaption><p>Quickly move to a page</p></figcaption></figure>

### Updates on March 22, 2024

You can now set which Google service accounts you want to use on specific sites.

For example, if you set up a Google Search Account can be used on site A. SEO Utils will only use that account to check & submit index for that site only.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-c3d2553e0974f3ecaaac7e3c4c4d70f2f2754c09%2F431388398_7260302147372284_1054525268246411615_n.jpg?alt=media" alt=""><figcaption><p>Set site scopes for each Google Service Account</p></figcaption></figure>

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2Fgit-blob-2148d15b70a3b268de8e88a2f78c625b69581724%2F431629039_7260302684038897_1728235001124597070_n.jpg?alt=media" alt=""><figcaption><p>Select a site where you want to use the Google Service Account.</p></figcaption></figure>
