As someone who has put together many a WordPress site over the years, the thing that stands out as the most problematic is people's use of plug-ins.
Every time you add a plug into a WordPress site it will consume resources. With most plug-ins, you won't find a significant difference in loading time but occasionally you will find one that really slows down your website. It is not worth keeping these plug-ins around, best practices in SEO are to do everything possible in order to speed up your website. Not only that, but a faster loading page is much nicer for your site's visitors.
One of the first things that you should do when you install the plug-in onto your website, is to go through and make sure the rest of your site is still working. Plug-ins are written by a lot of different people and, whilst many of them are incredibly professionally produced, many more did not follow work presses best practices or are just bad implementations of code. It is sometimes tricky knowing which ones are which although a good rule of thumb is if the plug-in does not work as intended straightaway then get a different one.
Because plug-ins can cause a lot of trouble if they're not written properly, it is a good idea to use as few as possible. Stick to only those plug-ins that are the most benefit to your website and make sure that each plug-in is adding extra functionality and is not just there for aesthetics.
It is worth noting that even the best paid for plug-ins can sometimes go wrong. Whether that is because of the clash with another plug-in or an update with the WordPress core, it can still cause your site problems. With other services, you would assume that the paid full version is much better than the free version. Because of the way that WordPress works, an open source community developing plug-ins that are both free and paid for, this isn't always true here. Whilst many paid for plug-ins will give you the functionality that you need in order to create stunning websites, that is a large marketplace out there, were poorer quality plug-ins are common. Always try and test drive a free version of the plug-in before you buy the full priced ones.
Far from this just being a good tip about plug-ins, it is essential that you always update your WordPress website whenever there is something available. If you're not sure how to do this, hovering over the dashboard link on the left-hand column of your administration section will bring up the word updates. If there is a number by this, you need to update your plug-ins. Keeping everything updated means it is less likely you will have hacking attacks that get through all conflicts if WordPress updates itself automatically.
When you are developing your site it is always possible that you think you're going to rely on one plug-in, you install it and then find that you don't need at the end. What tends to happen with these plug-ins is that we leave it "for a rainy day" and they sit in the backend of the website drawing resources that were not aware of. My tip here is to write down the name of the plug-in and then delete it. Quite apart from it taking up server resources, these tend to be the plug-ins that we don't bother updating and the ones where hacking attempts are more likely to get through.
As I said in step three, best practices are to have as few plug-ins installed at any one time as possible. It is always a good idea to ask yourself two or three times with you actually need the plug in your installing, can the functionality that you'll have to be achieved in a different way. For example, a popular SEO plug-in is called Yoast. It is a plug-in that I very rarely install on any of my websites because the framework that I use already includes most of the functionality that can be found in Yoast. With plug-ins, you want to make sure that you're not replicating tasks because each time you do it draws on the resources of the server and can, potentially, slow down your site.
So, what do you do if your website starts to act funny? Some people will say that the best option is to deactivate your plugins one at a time but this doesn't take care of instances where two plug-ins are clashing (sometimes because of a third).
My advice would be to deactivate all of your plugins at once and then check your site to see if the problem persists. If it does then your plug-ins will likely not the culprit, and it may be something in your theme that is amiss instead. If the problem goes away then start to activate your plug-ins one at a time, going back and checking the site to make sure that the problem does not come back.
At some point, you will find the problem occurs again and you will know which plug-in is the culprit. Try disabling that plug-in and then re-enabling the other plug-ins in your website. Does that make the problem go away? If so, you need to replace the missing functionality of that one plug-in that was causing the issue. If not, go back and start to repeat the process again.
It should be pointed out that this is akin to 'crisis management' so you should expect a little downtime on your website but the results will be worthwhile.
These are the plug-ins that I tend to use on my website. It should be noted that I am developing with a theme framework known as headway, and that adds a lot of functionality in there for me. Other than that these are the plugins that I always install.
This is installed along with WordPress in is a fantastic way of beating spam comments in your site. Many websites and I don't use the comments option of what press but you will still get spam comments so an active version of this plug-in is well worth your time.
Beaver builder is the best drag-and-drop page builder plug-in that I have found. I have used many of these, because it's always a functionality that I wanted to give to my clients, and this is the best. In this light version, you miss out on some of the functionality of the paid full version but adding text and pictures and columns (which is most of what you will need to do when you're laying out the website) is dead easy.
This is a plug-in that lets you easily add the metadata to your pages so that the right images and descriptions show up on Facebook twitter and Google+. This isn't the only plug-in available, but one I find seems to work quite well.
Formidable is a forms plug-in which comes in both a free and paid-for version. Being a developer, I have the paid for version but the free version is pretty good as well. It is slowly being taken over in popularity by ninja forms, which is very similar and just as good. I would recommend either.
Social pug is a small plug-in that will display the social media sharing options that you can see at the top and bottom of this post. It's a simple little plug-in, but it's really great if you want people to easily share your content.
Toolset is a paid-for suite of plug-ins that enabled you to make incredibly complex websites very quickly. Whilst I don't like to trust all of my development to a plug-in, toolset is very useful for rapid WordPress development and can be the cornerstone of some pretty complex websites, depending on budget.
And that's it. As you can see I don't add a tonne of functionality to my websites, just enough to get them up and running. I didn't want to leave this there, however, and I did ask some of the best web developers around which plug-ins they used. Here's what I have to say.
"Plugins are a great feature of WordPress, but my god is it dangerous in the hands of developers not in the know."
Create custom input fields, expands the normal content area of WordPress
Re-creates the smaller versions of images created when you upload to WordPress
Contact Form 7
A form creation plugin
Advanced SEO tools for WordPress
NinjaForms/Advanced Field Pro are usually installed for most project I get involved with!
A powerful, flexible, and easiest WordPress form builder.
Advanced Field Pro
Extra fields & features to better develop websites including repeatable blocks, page building layouts, intuitive galleries, custom settings pages and reusable fields.
Yoast SEO is a good shout, ACF Pro, Ninja forms or Contact Form 7 depending on requirements.
Just taken on a WordPress site redesign that has 45 plugins installed and active!
I think most of my favourites have been mentioned apart from...
There are a multitude of different ways to sync local, staged and production sites but I find WP migrate db pro so convenient, especially if I'm on the move and I don't have time to mess around with WordPress' Command-line interface.