JobPosting or BroadcastEvent in a VideoObject element. This can work for any type of URL, but use sparingly and only if you have major indexing concerns.Activate the Google Indexing API from Google Cloud Console
Sign in to Google Cloud Console.
Using the main navigation menu (click the hamburger icon), click on APIs & Services, Library, search for Web Search Indexing API (indexing.googleapis.com), click on it from the search results, and enable it.

You will be redirect after the activation to this API.

From the left menu, click on Credentials, then from the right panel, click on the Create credentials button. Choose the “Service account” option.

The first step is to enter a name and a description of your choice, then click Create.

Second step, choose Owner from the dropdown list and click Continue button.

Simply click Done at last step.

From the Service accounts table, click on the newly service account to edit it.

Click on Keys tab, Add key, Create a new key.


From the popup, choose JSON as key type and click Create.

Your browser will start downloading a JSON file.
Close the popup.
Add your service account as a site owner to Google Search Console
Now go Google Search Console.
Select the desired website property from the list.
Then, from the left navigation panel, click on Settings.
Under Property settings, click on Users and permissions.

Click Add user button.
Enter the email address provided by the Service account previously created.

Choose Owner and click Add.
Configure SEOPress to link your WordPress site with Google Indexing API
Sign in to your WordPress admin and go to SEO, Instant Indexing settings page, Settings tab.
Open your JSON file previously downloaded with a text editor (eg: Notepad on Windows or TextEdit on Mac).
Select all it’s content with CTRL+A (CMD+A on Mac) and copy it.
Then paste it to Google Indexing API key field.
Save changes.

Index your content
From SEO, Instant Indexing, General tab, select a search engine, the action to run, and enter up to 100 URLs to the “Submit URLs for indexing” textarea field.

Then click Submit URLs to Google & Bing.
The page reloads.
You should see a success message in the response section if all went well.
Since SEOPress 10.4, each submitted URL is also recorded in the History tab, with the answer of each search engine. Use the See every submission in the History tab link below Latest URLs submitted to open it.
Automatically request indexing with IndexNow API
Since version 5.5 of SEOPress, you can now automatically notify search engines each time a post, page or post type is published or updated. Since SEOPress 10.4, moving a published post, page or post type to the trash also notifies search engines, at the URL it was published at.
Automatic submission uses the IndexNow API only (Bing, Yandex): Google is never notified automatically, even when it is selected in the General tab. To ask Google to update or remove a URL, submit it manually from the General tab, with Update URLs or Remove URLs as Google action.
To activate this option, just go to the Setting tab of Instant Indexing and check “Enable automatic URL submission for IndexNow API”.
Save changes.
That’s it!

Check the submission history
Since SEOPress 10.4, every URL submitted through Instant Indexing is recorded in a history: manual submissions from the General tab and automatic submissions sent when content is published, updated or moved to the trash, to Google and to IndexNow (Bing / Yandex). Use it to check whether a URL was submitted, when, and what the search engine answered.
Where to find the history
- For the whole site: go to SEO, Instant Indexing, History tab. From the General tab, the See every submission in the History tab link below Latest URLs submitted opens it too.
- For one post, page or post type: in the editor, open the SEO metabox, Content Analysis tab, Indexing history sub-tab. It is displayed when the Instant Indexing feature is enabled.
The Latest indexing request block of the General tab is still there: it shows the full answer of the last submission only, and it is replaced by the next one, automatic submissions included. The history keeps every submission.
The History tab
The Submission history table lists every submitted URL, newest first, 20 rows per page. Each URL is listed once per search engine: a batch of 100 URLs sent to Google and to Bing / Yandex gives 200 rows.
| Column | What it shows |
|---|---|
| Date | Date and time of the submission, in the date format, time format and time zone of your site. |
| URL | The submitted URL. Click it to open it in a new tab. |
| Search engine | Google (Google Indexing API) or Bing / Yandex (IndexNow). |
| Source | Manual: sent from the General tab. Automatic: sent by automatic submission when content was published, updated or trashed. A dash means the source is unknown (see below). |
| Status | The answer of the search engine, see the next table. |
Statuses
| Status | Meaning |
|---|---|
| Accepted (HTTP 200), Accepted (HTTP 202)… | The search engine received the request (2xx HTTP code). For IndexNow, 202 means the key validation is pending. |
| Failed (HTTP 403), Failed (HTTP 429)… | The search engine answered with an error code. The error message it returned is displayed below the status. |
| Not sent | The request got no HTTP answer, for example because the API key is missing or invalid, or because the connection failed. The reason is displayed below the status when it is known. |
Google answers for each URL of a batch, so URLs of the same batch can have different statuses. IndexNow answers once for the whole batch, so every URL of a batch sent to Bing / Yandex shows the same status.
To fix an error, see the FAQ below and the Limits and responses section of the IndexNow guide.
Search and filter
- Search URLs: type part of a URL, for example a slug, to list the rows whose URL contains it.
- Source: choose All, Manual or Automatic.
Below the table, the number of rows matching your search is displayed, with the Previous and Next buttons when there is more than one page.
Clear the history
The Clear history button is displayed below the table when the history contains rows and no search or filter is applied.
- Click Clear history.
- In the confirmation window, click Clear history again, or Cancel.
The history of a post
In the editor of a post, page or post type, open the SEO metabox, Content Analysis tab, Indexing history sub-tab. It lists the latest 20 requests sent for this content, newest first, with the same Date, Search engine, Source and Status columns. The submitted URL is displayed under the date.
It includes the automatic submissions of this content, and the manual submissions of a URL of your site that WordPress matches to this content.
- Refresh reloads the list, for example after you published or updated the content.
- See the whole history opens the History tab. This link is only displayed to users who can manage the Instant Indexing settings.
When nothing was sent for this content yet, the sub-tab displays “No request sent for this content yet.”, followed by a hint on automatic submission.
Who can see the history
- History tab: users who can manage the Instant Indexing settings page, that is administrators, and the roles you allowed for Instant Indexing in SEO, Advanced, Security tab, SEO settings pages: allowed roles.
- Indexing history sub-tab: users who can edit the content, unless the Content Analysis tab is hidden for their role (Content Analysis: blocked roles, in the same Security tab).
What is recorded
- Every URL SEOPress sends to Google or to IndexNow, manually or automatically, with the answer of the search engine.
- Automatic submission uses IndexNow only: Google rows always come from manual submissions. If only Google is selected as search engine, automatic submissions send nothing and record nothing.
- A submission stopped before any request is sent (no URLs to submit, no search engine selected, or no API key at all) is not recorded. Its error is displayed under Latest indexing request in the General tab.
- After the update to SEOPress 10.4, the last request recorded before the update (the one shown under Latest indexing request) is copied once into the history, when its date can be read. Its Source may show a dash, because older versions did not record whether it was manual or automatic.
How long rows are kept
The latest 5,000 rows are kept. When a new submission is recorded, the oldest rows beyond this limit are removed automatically. The History tab reminds you of the limit above the table.
For developers: the seopress_instant_indexing_history_max_rows filter changes the number of rows kept (return 0 to stop recording), the seopress_instant_indexing_history_recorded action runs your code after each submission, and the history can be read and cleared with the SEOPress REST API.
FAQ
Is there any quotas?
Yes! 200 requests per day for Google, 10,000 for Bing.
Is this completely Free?
Yes, Google and Bing doesn’t no charge anything.
Should I still use a XML sitemaps?
Yes, absolutely! These APIs are still experimental and doesn’t replace your XML sitemaps.
How long do I have to wait before seeing my URLs in the search results?
As always it depends on search engines but it should take few minutes, max few hours in general.
Will this improve my ranking?
Search engines will crawl and index your content faster. However, like any URL, it depends of your content, backlinks etc.
401 error?
You Google JSON key is probably incorrect from the Settings tab. Delete it and add it again. Save changes.
403 error?
Make sure the Google Cloud user added to Google Search Console has the correct permissions: “Owner”.