PHPackages                             ymigval/laravel-indexnow - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. ymigval/laravel-indexnow

ActiveLibrary[Search &amp; Filtering](/categories/search)

ymigval/laravel-indexnow
========================

Laravel Service Library for notifying search engines about the latest content changes on their URLs using IndexNow.

v3.0.1(1y ago)3410.2k—4.5%5[2 PRs](https://github.com/ymigval/laravel-indexnow/pulls)MITPHPPHP &gt;=8.0

Since Aug 26Pushed 1y ago3 watchersCompare

[ Source](https://github.com/ymigval/laravel-indexnow)[ Packagist](https://packagist.org/packages/ymigval/laravel-indexnow)[ Docs](https://github.com/ymigval/laravel-indexnow)[ RSS](/packages/ymigval-laravel-indexnow/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (3)Versions (9)Used By (0)

Laravel IndexNow Package
========================

[](#laravel-indexnow-package)

A Laravel package that simplifies the integration with IndexNow API to notify search engines about URL changes in real-time.

🎯 Overview
----------

[](#-overview)

This package provides an elegant way to notify search engines about changes to your website's URLs using the IndexNow API. Perfect for keeping search engines updated when content is created, modified, or deleted on your website.

🔍 What is IndexNow?
-------------------

[](#-what-is-indexnow)

[IndexNow](https://www.indexnow.org) is an open protocol that enables websites to instantly inform search engines about latest content changes. This ensures faster indexing and more up-to-date search results.

Features
--------

[](#features)

- 🚀 Instant search engine notification
- 📦 Simple integration with Laravel
- 🔄 Support for single and bulk URL submissions
- 🛡️ Built-in spam prevention
- 📝 Detailed logging system
- ⚙️ Configurable environment settings

Requirements
------------

[](#requirements)

- PHP 8.0 or higher
- Laravel 8.0 or higher

⚙️ Installation
---------------

[](#️-installation)

Install the package via Composer:

```
composer require ymigval/laravel-indexnow
```

🛠️ Configuration
----------------

[](#️-configuration)

1. Publish the configuration file:

```
php artisan vendor:publish --tag="indexnow"
```

2. Generate an IndexNow API key from one of these services:

    - [Microsoft Bing](https://www.bing.com/indexnow/getstarted#implementation)
    - [NowIndex](https://www.nowindex.org/indexnow-key/)
3. Add your API key to the `.env` file:

```
INDEXNOW_API_KEY=your_api_key_here

```

### Key File Verification

[](#key-file-verification)

Place your API key file at your domain's root with a `.txt` extension:

```
https://www.example.com/4cea016a4ddb408592569456a9c4896b.txt

```

Helpful commands:

```
# View your IndexNow API key
php artisan indexnow:apikey

# If the route doesn't work, clear and cache routes
php artisan route:clear
php artisan route:cache

# Check IndexNow package status and configuration
php artisan indexnow:status
```

The `indexnow:status` command will help you verify:

- API Key configuration and validity
- Key file accessibility
- Configuration file status
- Search engine settings
- Submissions status
- Logging configuration
- Spam protection status
- Route registration
- Overall package status and provide recommendations

📋 Usage
-------

[](#-usage)

### Single URL Submission

[](#single-url-submission)

```
use Ymigval\LaravelIndexnow\Facade\IndexNow;

IndexNow::submit('https://www.example.com/my-page');
```

### Multiple URLs Submission

[](#multiple-urls-submission)

```
use Ymigval\LaravelIndexnow\Facade\IndexNow;

// Using array
IndexNow::submit([
    'https://www.example.com/page-1',
    'https://www.example.com/page-2',
    'https://www.example.com/page-3',
]);

// Or using method chaining
IndexNow::setUrl('https://www.example.com/page-1')
        ->setUrl('https://www.example.com/page-2')
        ->setUrl('https://www.example.com/page-3')
        ->submit();
```

🛡️ Security
-----------

[](#️-security)

### Spam Prevention

[](#spam-prevention)

The package includes built-in spam protection that temporarily blocks requests for 24 hours when suspicious activity is detected.

📊 Logging
---------

[](#-logging)

View action logs using the Artisan command:

```
php artisan indexnow:logs
```

📝 Changelog
-----------

[](#-changelog)

See [CHANGELOG](CHANGELOG.md) for all notable changes.

📄 License
---------

[](#-license)

This package is open-source software licensed under the [MIT License](LICENSE).

🤝 Contributing
--------------

[](#-contributing)

Contributions are welcome! Please see the [contributing guide](CONTRIBUTING.md) for details.

⭐ Support
---------

[](#-support)

If you find this package helpful, please consider giving it a star on GitHub!

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance48

Moderate activity, may be stable

Popularity37

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~87 days

Recently: every ~28 days

Total

8

Last Release

387d ago

Major Versions

v1.0.2 → v2.0.02025-01-05

v2.0.1 → v3.0.02025-04-26

PHP version history (2 changes)v1.0.0PHP ^7.4 || ^8.0

v2.0.0PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/dd1f37619b8f5d93e690675d839f093826f9f1215f82dc6cbbac6cfe1a380463?d=identicon)[ymigval](/maintainers/ymigval)

---

Top Contributors

[![ymigval](https://avatars.githubusercontent.com/u/68402880?v=4)](https://github.com/ymigval "ymigval (33 commits)")[![coffebar](https://avatars.githubusercontent.com/u/3100053?v=4)](https://github.com/coffebar "coffebar (1 commits)")

---

Tags

bingindexnowlaravelpingsearchsearch-engineseowebsiteyandexsearchlaravelwebsiteseoyandexsearch enginebingindexnow

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/ymigval-laravel-indexnow/health.svg)

```
[![Health](https://phpackages.com/badges/ymigval-laravel-indexnow/health.svg)](https://phpackages.com/packages/ymigval-laravel-indexnow)
```

###  Alternatives

[arcanedev/seo-helper

SEO Helper is a framework agnostic package that provides tools &amp; helpers for SEO (Laravel supported).

332467.0k4](/packages/arcanedev-seo-helper)[remoblaser/search

A simple to implement Search for your Application

101.5k](/packages/remoblaser-search)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
