Download the PHP package jweiland/indexnow without Composer

On this page you can find all versions of the php package jweiland/indexnow. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package indexnow

TYPO3 Extension indexnow

Packagist Latest Stable Version Total Downloads Monthly Downloads TYPO3 12.4 TYPO3 13.4

The extension is in a heavy development phase. Breaking changes can be expected between releases.

What is IndexNow?

IndexNow is an open protocol that allows website owners to notify search engines when their content is updated, deleted or modified, allowing for faster indexing. By using IndexNow, websites can ensure that their content is discovered and processed more quickly by search engines, potentially increasing visibility and traffic.

Without IndexNow, search engines may take longer to detect changes, which can delay how quickly updated content is reflected in search results.

What does this extension do?

This TYPO3 extension listens for changes to various types of records (DataHandler), tries to retrieve the page UID and builds a preview URL for that page. This preview URL is then stored until the scheduler task sends this URL to IndexNow to inform search engines about new content.

Installation

Installation using Composer

Run the following command within your Composer based TYPO3 project:

Installation using Extension Manager

Login into TYPO3 Backend of your project and click on Extensions in the left menu. Press the Retrieve/Update button and search for the extension key indexnow. Import the extension from TER (TYPO3 Extension Repository).

Configuration

Get API Key

You can define your own API key. You only have to adopt following rules:

As an alternative you can build a valid API key at Bing

Extension Settings

Log-In to TYPO3 backend and visit module Settings.

Chose Configure extensions and open indexnow.

API Key : Enter the just built API key from above.

Search Engine Endpoint : Enter the API endpoint URL with IndexNow protocol. See Search Engine endpoint list. We added IndexNow endpoint of Bing as default for you. All endpoints will inform search engines in the same way. It doesn't matter which endpoint you chose. The result is always the same. Just to clarify that: Using the Bing endpoint will not only inform the Bing search engine! It will inform all registered search engines.

Notify batch mode : If enabled, the search engine will be notified using batch mode. This means that modified URLs are sent in a single request. A maximum of 10,000 URLs can be sent per batch

API Key Verification File

IndexNow search engines verify ownership by requesting a text file at https://example.com/{apiKey}.txt whose content matches the API key.

This extension serves the verification file automatically from the configured API key — no manual file creation needed. Once you save the API key in the extension settings, the file is immediately available at https://your-site.com/{apiKey}.txt.

Note: The verification file is served by a PSR-15 middleware that runs early in the request pipeline. It only responds to root-level .txt requests matching the configured key. All other requests pass through unchanged.

Task

You need TYPO3 system extension scheduler.

Create a new task of type Execute console commands.

Chose command indexnow:notify.

Set timings and recurring to your needs and save the task.

Command

Without scheduler extension you need to execute the following command to inform IndexNow endpoint:

Usage

Just change a value on a page or content element and store the record. Internally the page UID will be extracted and will be used to build a preview URL. That URL will be bind with the IndexNow API endpoint URL and stored in table tx_indexnow_stack.

Now you have to wait until next scheduler task run where all inserted stack entries will be processed.

FAQ

Scheduler Task fails

Please have a look into log file. You will find log file at:

IndexNow was informed, but search results are not updated

The IndexNow provider will verify your API key by requesting https://your-site.com/{apiKey}.txt. This file is served automatically by the extension. If verification still fails, check:

  1. The API key is set in extension settings (SettingsConfigure extensionsindexnow)
  2. The file is accessible: open https://your-site.com/{apiKey}.txt in a browser
  3. No caching proxy or WAF is blocking the .txt file request

I have changed content, but there is no record in tx_indexnow_stack

Only records stored by TYPO3 DataHandler are processed.

Please check field no_index in page properties of your stored record. Make sure page is allowed to be indexed through search engines.

Check logs for any problems.

Foreign extensions can hook into extension indexnow and prevent informing IndexNow under various circumstances.

How can I test, if IndexNow works as expected?

In documentation of Bing IndexNow getting started I found following information:

Use Bing Webmaster Tools to verify if your URLs are received by search engines.

For developers

To prevent pages to be sent to IndexNow you can use event ModifyPageUidEvent.

Register your own EventListener:

Set page UID to 0 in event class:

This will prevent IndexNow to be informed.

Missing version tags

I had to remove the tags 0.0.2 and 0.0.3 as these versions contain a different version in composer.json which related to error notifications at Packagist. You can still download these versions from TYPO3 TER or use version 0.0.4 which solves that issue.

Update

Update to Version 0.0.7

ToDo

Delete all records from tx_indexnow_stack for a specific page on delete (DataHandler).

Creating a new page or content element should call the IndexNow services. Currently, only modified pages and content elements will be processed. We should use the afterAllDatabaseOperations DataHandler hook instead.

Nice to have: Add a section into EXT:reports to check IndexNow configuration health.

Support

Free Support is available via GitHub Issue Tracker.

For commercial support, please contact us at [email protected].


All versions of indexnow with dependencies

PHP Build Version
Package Version
Requires typo3/cms-core Version ^12.4.31 || ^13.4.12
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package jweiland/indexnow contains the following files

Loading the files please wait ...