-
Notifications
You must be signed in to change notification settings - Fork 3
/
robots-txt.php
53 lines (47 loc) · 1.38 KB
/
robots-txt.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
// phpcs:disable
/**
* Plugin Name: Robots.txt
* Description: Modifies the default output of WordPress' robots.txt based on the Search Engine Visibility Settings (Settings > Reading).
* Plugin URI: https://github.com/cityofnewyork/nyco-wp-docker-boilerplate/wp/wp-content/mu-plugins/robots-txt.php
* Author: NYC Opportunity
* Author URI: nyc.gov/opportunity
*/
// phpcs:enable
/**
* Preview Robots.txt
* @link /index.php?robots=1 or @link /robots.txt
*
* Looking for sitemap configuration?
* @link https://github.com/GoogleChromeLabs/wp-sitemaps
*/
add_filter('robots_txt', function($output, $public) {
/**
* Wipe out the default robots.txt;
* ---
* User-agent: *
* Disallow: /wp-admin/
* Allow: /wp-admin/admin-ajax.php
* ---
*/
$output = '';
$output .= 'User-agent: *';
/**
* If the site isn't public disallow everything
* else add our own granular control
*/
if (!$public) {
$output .= "\nDisallow: /";
} else {
$output .= "\nDisallow: /wp-admin/";
$output .= "\nDisallow: /wp-includes/";
$output .= "\nDisallow: /wp-content/plugins/";
$output .= "\nDisallow: /wp-content/mu-plugins/";
$output .= "\nDisallow: /readme.html";
$output .= "\nDisallow: /README.md";
$output .= "\nAllow: /wp-admin/admin-ajax.php";
$output .= "\nAllow: /wp-content/uploads/";
$output .= "\n";
}
return $output;
}, 0, 2);