Reddit Gold highlights the most useful and educational content on Reddit as found on r/AutoBestOf.
Today’s post is from u/a1av8r who answers the question: “As a WordPress developer, what are your preliminary steps in setting up a new WP project?”
If you’re comfortable on the command line or have SSH access to your servers, look into wp-cli. You can script out all that boring stuff you do at the beginning and save yourself a ton of time.
I like VPS or better hosting options with WHM and cPanel. I don’t buy into WP Engine and some of the other hyped WordPress specific hosting out there right now. WP Engine tunes performance to a fault. One example that really grinds my gears…they forcefully disable and remove post revisions and you have to beg them to get them back. They also interfere with htaccess redirecting more often than not for me. I see the appeal for some people that don’t care about these things, but I like a more robust stack to work with.
I have a scripted process that does the following:
- Sets up development and production environments and databases
- Creates subdomains
- Uses wp-cli to:
- Create default users
- Set my preferred system options
- Install and register common plugins
- Remove all the extra junk WordPress ships with:
- Default themes
- Useless plugins like Hello Dolly
Additionally, I developed a custom plugin that removes lots of other junk from WordPress. This is the first plugin I install on all sites. It does things like:
- Change the stupid “howdy” message
- Hide some of the WordPress html headers that bots look to exploit
- Get rid of excess WordPress branding
- Wipe out all the useless dashboard panels that confuse my users
- Deprioritize greedy plugins like Yoast that want to notify you about everything and elevate themselves above all other metaboxes
Some of my go to plugins are:
- Advanced Custom Fields Pro (get the pro license – it’s well worth it)
- Gravity Forms (again, go pro and you won’t regret it)
- The SEO Framework (seriously…ditch Yoast. You’ll never have to look at Joost De Valk’s smug cartoony face again)
- WP Rocket (I come back to W3 Total Cache every other year or so to give it a fair shot but I swear it ALWAYS makes my site slower. WP Rocket is the only thing I’ve found that works.)
- Safe SVG (if you want to use modern vector graphics and upload them in WordPress’ media manager)
When you’re in the initial stages of site development these plugins can be temporarily helpful but usually can get removed before site launch:
- Bulk Page Creator – great for blanking out an entire site structure before you fill it up
- Force Regenerate Thumbnails – if you play with your image sizes while you develop, this is the fastest way to recrunch them all as you change sizes
- Duplicate Post – if your work style is to create one of something and then clone it and modify it to get a new page
I always aim to use fewer than 10 plugins if I can help it. Keeping the number low will greatly improve your load times and lower your security risk of running code you don’t own or maintain.
I have a custom theme that I’ve been tweaking and building over the last few years. Underscores is popular if you need a starting point to do something similar.
I personally hate the junk heap that functions.php tends to become. It’s a very disorganized and hacky method of putting together all the important theme functions. I took all the items I regularly use and built them into a more traditionally engineered piece of software configuration.
Because I work in an agency setting, budgets and timeframes don’t always allow for my desired process. I don’t rule out working with themes purchased at places like Envato but I try to minimize the variety – stick to things like X, Be, and Avada. Due to the wide variety of options they provide, X and Avada especially are very bloated. Avada is slow as balls without caching most of the time. Pick one or two to get good at and use them as your backups for lower end work.
Other random and less related thoughts:
- Find hosting with PHP 7.x and up. It’s so much faster than previous versions.
- Turn on OPcache if you can.
- Learn git. Get on GitHub or BitBucket. Even better, if you have the ability you could install GitLab and own the whole thing. You’ll save yourself tons of headaches by having a code repository to go back to in times of crisis.