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.
You're free to use this package (it's MIT-licensed), but if it makes it to your production environment you are required to send us a postcard from your hometown, mentioning which of our package(s) you are using.
Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.
The best postcards will get published on the open source page on our website.
You can install the package via composer:
$ composer require spatie/laravel-robots-middleware
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
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.
Please see CHANGELOG for more information what has changed recently.
$ composer test
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.
If you discover any security related issues, please email freek@spatie.be instead of using the issue tracker.
Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
The MIT License (MIT). Please see License File for more information.