spatie/robots-txt

Determine if a page may be crawled from robots.txt and robots meta tags

Maintainers

👁 spatie

Package info

github.com/spatie/robots-txt

pkg:composer/spatie/robots-txt

Statistics

Installs: 18 300 818

Dependents: 24

Suggesters: 0

Stars: 257

Open Issues: 0

2.5.4 2026-02-25 07:59 UTC

Requires

  • php: ^8.1

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT a8dd35d0a94e863f52509a366a634978e9c1db03

spatierobots-txt


README

👁 Latest Version on Packagist
👁 Tests
👁 Quality Score
👁 Total Downloads

Determine if a page may be crawled from robots.txt, robots meta tags and robot headers.

Support us

👁 Image

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/robots-txt

Usage

$robots = Spatie\Robots\Robots::create();

$robots->mayIndex('https://www.spatie.be/nl/admin');

$robots->mayFollowOn('https://www.spatie.be/nl/admin');

$robotsTxt = new RobotsTxt('
 User-agent: *
 Disallow: /admin
 Crawl-delay: 1.5
');
$robotsTxt->allows('/admin', 'google'); // false
$robotsTxt->whyDisallows('/admin', 'google')[0]->userAgent; // '*'
$robotsTxt->crawlDelay('/admin', '*'); // '1.5'

You can also specify a user agent:

$robots = Spatie\Robots\Robots::create('UserAgent007');

By default, Robots will look for a robots.txt file on https://host.com/robots.txt. Another location can be specified like so:

$robots = Spatie\Robots\Robots::create()
 ->withTxt('https://www.spatie.be/robots-custom.txt');

$robots = Spatie\Robots\Robots::create()
 ->withTxt(__DIR__ . '/public/robots.txt');

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Postcardware

You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium.

We publish all received postcards on our company website.

Credits

License

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