Block wp-login.php and xmlrpc.php via fail2ban on RunCloud

Fail2ban Wordpress Runcloud

How to ban IP addresses that are brute forcing your wp-login.php and xmlrpc.php on a WordPress install with fail2ban on a RunCloud server. Email yourself any fail2ban IP addresses. Add a WordPress fail2ban filter Create a wordpress.conf file in /etc/fail2ban/filter.d/ [Definition] failregex = ^<HOST> .* “POST .*wp-login.php ^<HOST> .* “POST .*xmlrpc.php ignoreregex = If using…

Read More

Keep WordPress database leaner by removing autoloaded options from wp_options table

wp-options-loaded

In WordPress a number of autoloaded options are loaded on every page, this gathers over time with deleted themes, plugins etc and can slow down a site. Typically most options that are installed in the database are permanently stored. These options which are autoloaded are loaded on very WordPress page. To see the total size…

Read More

Change WooCommerce Checkout Page To A 2-Column Layout

Woocommerce Checkout Layout

The default WooCommerce checkout page layout doesn’t make great use of a 2nd right hand column and looks a bit disjointed. Here is some CSS that can push the product order data to the 2nd column balancing the layout more evenly, making for a better user experience whilst checking out. The CSS kicks in at…

Read More

Completely hide WooCommerce products from shop, product search and WordPress search

Hidden Woo Products Showing in search

You can hide a WooCommerce product from the shop page and product search by choosing ‘Hidden’ in the ‘Catalog visibility’ options from the Publish metabox on a product page in the backend. This is good and it hides the product as advertised from the shop and product search results but the product is still visible…

Read More

Set noindex nofollow on posts from specific category using Yoast WordPress SEO

Wordpress Seo Noindex Certain Posts

Using the Yoast WordPress SEO filter wpseo_robots filter you can set posts from a specific category to have the meta tag set with noindex/nofollow. add_filter( ‘wpseo_robots’, ‘yoast_seo_robots_remove_single’ ); /** * Set certain posts to noindex nofollow */ function yoast_seo_robots_remove_single( $robots ) { if ( is_single() && has_term( ‘uncategorized’, ‘category’ ) ) { return ‘noindex,nofollow’; }…

Read More