spatie/laravel-robots-middleware
Add an `all` or `none` robots header to your requests via a middleware in Laravel
Maintainers
Package info
github.com/spatie/laravel-robots-middleware
pkg:composer/spatie/laravel-robots-middleware
Fund package maintenance!
Requires
- php: ^8.2
- illuminate/http: ^10|^11.0|^12.0|^13.0
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0|^11.0
- phpunit/phpunit: ^9.4|^10.5|^11.5.3|^12.5.12
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT 27fc3b80ceabfbf01ebee123094a72bfdce8f9b1
- Sebastian De Deyne <sebastian.woop@spatie.be>
README
👁 Latest Version on Packagist
👁 run-tests
👁 Check & fix styling
👁 Total Downloads
A tiny, opinionated package to enable or disable indexing your site via a middleware in Laravel.
More on the Robots meta tag: https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag
Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
Support us
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Installation
You can install the package via composer:
$ composer require spatie/laravel-robots-middleware
Usage
By default, the middleware enables indexing on all pages. You'll probably want to inherit your own class containing you application's indexing rule handler.
// app/Http/Middleware/MyRobotsMiddleware.php namespace App\Http\Middleware; use Illuminate\Http\Request; use Spatie\RobotsMiddleware\RobotsMiddleware; class MyRobotsMiddleware extends RobotsMiddleware { /** * @return string|bool */ protected function shouldIndex(Request $request) { return $request->segment(1) !== 'admin'; } }
Next, simply register the newly created class in your middleware stack.
// app/Http/Kernel.php class Kernel extends HttpKernel { protected $middleware = [ // ... \App\Http\Middleware\MyRobotsMiddleware::class, ]; // ... }
That's it! Responses will now always have an x-robots-tag in their headers, containing an all or none value.
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING for details. Due to nature of this package, there's a fair chance features won't be accepted to keep it light and opinionated.
Security
If you've found a bug regarding security please mail security@spatie.be instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
