WordPress
From Jon's Wiki
Enable user-plugin installation by allowing write access to wp-content/{plugins,themes} and configure:
# in wp-config.php define('FS_METHOD', 'direct');
Other nifty things:
- CLI, wp-cli.org
- Security scanner, wpscan.org
- LetsEncrypt SSL everywhere CSP, Strict Transport, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, Access-Control-Allow-Origin, Referrer-Policy etc.
- gzip + WP SuperCache = win
Deny some stupid stuff:
# Don't fill up the log with favicon and robots.txt location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). # Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban) location ~ /\. { deny all; } # Deny access to any files with a .php extension in the uploads directory # Works in sub-directory installs and also in multisite network # Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban) location ~* /(?:uploads|files)/.*\.php$ { deny all; }