/robots

PSR-15 middleware to enable/disable the robots of the search engines

Primary LanguagePHPMIT LicenseMIT

middlewares/robots

Latest Version on Packagist Software License Testing Total Downloads

Middleware to enable/disable the robots of the search engines for non-production environment. Adds automatically the header X-Robots-Tag in all responses and returns a default body for /robots.txt request.

Requirements

Installation

This package is installable and autoloadable via Composer as middlewares/robots.

composer require middlewares/robots

Example

$dispatcher = new Dispatcher([
    new Middlewares\Robots(false)
]);

$response = $dispatcher->dispatch(new ServerRequest());

echo $response->getHeaderLine('X-Robots-Tag'); //noindex, nofollow, noarchive

Usage

The constructor's first argument configure whether block or not search engines.

//Disallow search engine robots
$robots = new Middlewares\Robots(false);

//Allow search engine robots
$robots = new Middlewares\Robots(true);

Optionally, you can provide a Psr\Http\Message\ResponseFactoryInterface as the second argument to create the response of the requests to /robots.txt. If it's not defined, Middleware\Utils\Factory will be used to detect it automatically.

$responseFactory = new MyOwnResponseFactory();

$robots = new Middlewares\Robots(false, $responseFactory);

sitemap

If your site has a sitemap, use this option to add the url to robots.txt responses.

$robots = (new Middlewares\Robots(true))->sitemap('/sitemap.xml');

Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.

The MIT License (MIT). Please see LICENSE for more information.