emran-alhaddad / noindex-redirect
Disable indexing (noindex/nofollow) and optionally redirect frontend requests, with a Statamic CP Utility.
Package info
github.com/emran-alhaddad/statamic-noindex-redirect
Type:statamic-addon
pkg:composer/emran-alhaddad/noindex-redirect
Requires
- php: ^8.1
- statamic/cms: ^4.0|^5.0|^6.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Noindex Redirect (Statamic Addon)
Disable indexing (noindex, nofollow) for your Statamic site and optionally redirect all frontend requests to another domain — managed from a Control Panel Utility.
Requirements
- PHP
^8.1 - Statamic
^4.0,^5.0, or^6.0
Installation
composer require emran-alhaddad/noindex-redirect
Control Panel Utility
Go to Control Panel → Utilities → Noindex Redirect.
Settings are stored in storage/app/noindex-redirect/settings.json and will override config/env values until you click Reset to config.
Configuration (optional)
Publish the config file:
php artisan vendor:publish --tag=noindex-redirect-config
Config path:
config/noindex-redirect.php
Environment variables:
NOINDEX_REDIRECT_DISABLE_INDEXING=true NOINDEX_REDIRECT_ENABLE_REDIRECT=false NOINDEX_REDIRECT_REDIRECT_URL=https://example.com NOINDEX_REDIRECT_MANAGE_PUBLIC_ROBOTS_TXT=true
What it does
Disable Indexing
When enabled, the addon:
- Adds
X-Robots-Tag: noindex, nofollowto frontend responses (excludes CP + GraphQL routes). - Injects
<meta name="robots" content="noindex, nofollow">into the HTML<head>fortext/htmlresponses. - Covers normal frontend pages and frontend 404/unmatched responses.
- Optionally manages
public/robots.txt(see below). - Still works even if Statamic frontend routes are disabled in
config/statamic/routes.php.
robots.txt behavior
Some servers (including local dev setups) will serve public/robots.txt directly and bypass Laravel routes.
If NOINDEX_REDIRECT_MANAGE_PUBLIC_ROBOTS_TXT=true, the addon will:
- Write a managed
public/robots.txtwhen indexing is disabled (Disallow: /). - Back up any existing
public/robots.txttostorage/app/noindex-redirect/robots.backup.txtbefore overriding it. - Restore the backup when indexing is re-enabled.
If the public directory is not writable, robots.txt syncing is skipped.
Redirect
When Enable Redirect is enabled and a redirect_url is set, all frontend GET/HEAD requests will be redirected (301) to the configured URL (path + query preserved).
Control Panel, !/ actions (including !/forms), and GraphQL routes are excluded.
License
MIT. See LICENSE.