Datasette plugin that blocks all robots using robots.txt
Project description
datasette-block-robots
Datasette plugin that blocks all robots using robots.txt
Installation
Install this plugin in the same environment as Datasette.
$ pip install datasette-block-robots
Usage
Having installed the plugin, /robots.txt
on your Datasette instance will return the following:
User-agent: *
Disallow: /
Here's a demo of the plugin in action: https://sqlite-generate-demo.datasette.io/robots.txt
Configuration
By default the plugin will block all access to the site, using Disallow: /
.
You can instead block access to specific areas of the site by adding the following to your metadata.json
configuration file:
{
"plugins": {
"datasette-block-robots": {
"disallow": ["/mydatabase"]
}
}
}
This will result in a /robots.txt
that looks like this:
User-agent: *
Disallow: /mydatabase
You can also set the full contents of the robots.txt
file using the literal
configuration option. Here's how to do that if you are using YAML rather than JSON and have a metadata.yml
file:
plugins:
datasette-block-robots:
literal: |-
User-agent: *
Disallow: /
User-agent: Bingbot
User-agent: Googlebot
Disallow:
This example would block all crawlers with the exception of Googlebot and Bingbot, which are allowed to crawl the entire site.
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd datasette-block-robots
python3 -mvenv venv
source venv/bin/activate
Or if you are using pipenv
:
pipenv shell
Now install the dependencies and tests:
pip install -e '.[test]'
To run the tests:
pytest
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for datasette-block-robots-0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a2857bd2246ed4902a72860a1e03c8f9f00d92e80ab80f0396aaa7c69570458 |
|
MD5 | 3a0e6a0bd12bb29b18970e40741b1164 |
|
BLAKE2b-256 | 09e9f134f4eaf0cbd9fa2bcdfcaf4d54b083e1d0845be6e581da180a6c879485 |
Hashes for datasette_block_robots-0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdfd9e5001413481ad27f3ca6f9844fa91665ed304cbe2c089430430e35ea79c |
|
MD5 | 336731d8c5903995ad90e41d649a36fc |
|
BLAKE2b-256 | 85b0daebc70841de5106f28184db9b0ee7314f4572d21a001614d49d86b0f063 |