If you manage a lot of WordPress pages (in one capacity or another, I currently care for about 10 installations), you know the constant search for the best plugins to extend WordPress to fit your needs. The best WordPress plugins are defined by compatibility (are they up to date and maintained), functionality, stability and freedom (no restrictive pro versions, ransomware, etc). The following are a list of really great plugins that are more or less installed on every site I run with WordPress. If you have some to add, please do comment below and I will turn it into a 20 plugin list. I will go into the various caveats as well… some plugins got better over the years, others worse.
Contact Form 7
I am not sure if it is, but this one has been around for a long time and it could well be the market leader in contact form plugins for WordPress. In fact, there are plenty of other plugins out there that extend this form system. It works, it is dead simple, it is flexible and it is regularly maintained. It is also localized into tons of languages, and an ecosystem has sprung up, extending CF7 to accomplish other things, such as Newsletter signups, etc.
The main reason this is recommended is the ease of use. I was surprised how you can plaster your blog with ads in a mere matter of seconds. There is nothing to configure, you just go through your blog and tell the plugin where to put the ads, that is it. If more plugins were that simple…. on the other hand, I cannot even think of any kind of special setting I would require more. My main gripe with Adsense is that the ads aren’t relevant to the content, which sucks in a major way, but has nothing to do with the plugin itself.
Another candidate for quasi market leadership. The Yoast guys pretty much dominate the space, along with a handful of others, even though it is not so clear what they actually do in terms of the plugin. It gives you a plethora of SEO options, but it does not take much work away from you. Still, it is a comprehensive set of tools, and most other plugins need to be measured by how well this one works. I just wish it were a tad less bloated. Most useful is the page analyzer below your editor, that helps you improve your blog post for SEO as you write it. If that’s good or bad… is a matter of philosophy.
WP Total Cache
This is in fact an almost market leader. There are only two or three other capable caching plugins out there that are on that level of professionalism. True, if you are hosted at WPEngine or some other highly specialized host, you might not need this, or not be allowed to use it. For the rest of us, you need an easy caching solution, and this one brings pretty much all the functionality you need. You can go very deep in caching all kinds of things, even RSS feeds, you can minify JS and CSS, etc. Will not work on all hosts.
My personal favorite. If your server configuration allows it, this never tired plugin runs through your images and squeezes file size out of it. A must have if you want to decrease bandwidth and storage space. In fact I am waiting for a stand-alone version so I can use it to optimize the number of MediaWiki installations I have, with several gigabytes of images. Some images can be reduced by almost half, so this is really an amazing helper.
If you want to turn your installation into a social network (provided your theme supports it), BuddyPress will do the trick in a few minutes. It is very simple, feature rich and actively maintained. There are two big drawbacks though: I am not sure how well it behaves under load (I wonder if it really scales), and the main blocker is a well made theme that actually takes into account all the BuddyPress features. But do try it out, your community might love it. A great alternative to setting up all sorts of other tools around your blog.
Simple Share Buttons Adder
This is a difficult topic. For some time, this one got better and better, and I was inclined to call this one of the best and most worry free ones there is. But on the other hand, more and more browsers pack sharing functionality, so this is transitioning away from the webmaster’s responsibility. That is great, and it also means positive news in terms of page loading times and privacy. If however you want to add some buttons, this is still quite an attractive and simple solution.
I was gonna include either this one or Theme Test Drive. I decided Antispam Bee has a broader use case. It is a fairly efficient way to keep spam out, but only after it already reached your site. It is easy to configure and gives you light, moderate or heavy options to combat spam. It helps if you have a slight idea where spam is coming from, or which methods you can easily employ for compliance reasons.
I was looking for a decent Online Shop or catalog solution for quite a while. Woocommerce isn’t it, but aside from Magento and some other commercial solutions, this is by far the most dominant plugin out there. You can set up a shop in a few minutes, and I would wholeheartedly recommend it, if there weren’t one major drawback. Even though Automattic bought them recently, their business model still seems to be based on taking simple settings and obvious features out just to sell them back to you as commercial plugins. That is a major annoyance and I hope they stop doing that. They will be able to move about a dozen features back into the core of the plugin and earn much love from the community for it. There has got to be a better way for them to earn money.
Creative Commons Configurator
Most bloggers aren’t that much aware of copyright and licensing issues, but it is time you read up on Creative Commons. It is a simple system, and with this plugin, you can easily designate your content licenses the way you require, per blog or per individual text.
When I read The Corrections more than a few years back, I was encapsulated by Franzen’s outstanding family saga, the pop cultural references, the skillful writing and the familiarity of the world despite the often exaggerated American prototypes he uses as characters. With Freedom, he once more tried his hand at an elaborate family saga, but with all the mixing of first person and third person storytelling, the tedious back and forth between socio-political critique and stories about birds, somewhere in there, Jonathan Franzen lost me, and it took me about five years to finish this novel once and for all. In fact it even turned me away from the author probably forever. Freedom is a great book, about the „Dubya“ era of the American project, a country divided, an economy oscillating between bubble and burst, ideologies and a resistance to growing up. It’s a tale of failed characters, broken families, missed opportunities, love lost and birds saved, mountains destroyed, tax payers‘ money burnt and great visions scarred by the imperfections of today’s world.
There are many ways to upgrade a Mediawiki installation. The process has become smoother over the years, but it still requires moving files and executing shell commands. What makes upgrading Mediawiki especially tricky is a lack of standardized backup procedure and the fact that Mediawiki is just lightyears away from the ease of use we know from other systems such as WordPress.
I have just upgraded a 1.24 Mediawiki to the latest 1.26.x version, so definitely a major upgrade, and a medium/big sized one at that. For the first time I used a trick to help me safely upgrade and test it: I cloned my Mediawiki application instance using Cloudways app cloning. While not a revolutionary process, let me outline it for you quickly. A similar way of going about it might apply to server cloning, but it would involve an IP address change and a few other tweaks. So, for small to medium wikis, app cloning is actually the smoothest way.
- Download the latest Mediawiki to your computer
- Put your „live“ Mediawiki into read only mode to make sure you don’t have conflicting versions
- Read the release notes of the Mediawiki version(s) you are jumping to and inform yourself of possible breaks, changes in templates and especially changes in LocalSettings that are relevant, such as newer ways of calling extensions and skins! You find some of these remarks in the Upgrade file that comes with each release.
- Make sure that however many GB your current Mediawiki installation occupies on your Cloudways server, there’ll be at least that amount and more of free space available on the same (!) harddrive! The process described below will duplicate your current installation so we’ll be occupying at least twice as much space as before (at least temporarily). If that’s not a viable option for you, this will not work (at least not through the ClicknGo interface, an alternate option is to clone the app without copying your images folder, but that’s an advanced option not easily done)
We assume here that you have noted and possibly applied changes to LocalSettings required by the newer Mediawiki version (at least in a newer LocalSettings.php on your harddrive, ready to be uploaded). You put your live Mediawiki into read-only mode.
Navigate the ClicknGo interface at Cloudways, pick your server, go to the application tab ,and where you see your application, click „clone“. This will take a while. Once done, you’ll find two applications there, you can rename it to something better to remember such as „App XYZ staging“.
For reasons explained further down, we’ll be renaming the application folder we just created (just a symlink, but it’ll help us greatly). Navigate to the staging clone of your app you just created, and where it says „appplication folder“ click „rename“. This will take but a few seconds.
Go back to the server tab, and make sure you know the master credentials. Cloudways recently introduced this, so the best way to access your server is with these credentials. Note those, along with the IP address of the server.
Optional, but highly recommended and ideal: set up SSH access to this server for your computer. This is more secure and lets you access your server password-free from your computer. I really really recommend using SSH to access your server, but won’t cover it in this tutorial.
Optional, but easier for some folks, set up BOTH applications now on a local FileZilla instance, so you can conveniently browse the remote files and your local files. Don’t confuse the „live“ and the „staging“ clone of your application, especially because you access both via the same IP and with the master credentials, but the apps are in different folders (this is why we renamed them above, to help you here).
Picture: I SFTPed into my Cloudways server here with master credentials, then enter „applications“ and there I have three folders. The first is just a symlink I renamed to point to my new clone, which is the second folder. The third folder is the original app.
Now we have an identical copy of our application, and we have a secure way to access it. As long as we haven’t set a domain for the clone, „access details“ in the app tab will give you a long, cloudways-like URL to test the website. Do that, if it doesn’t work, you need to go troubleshooting already.
Here’s another reason why we renamed the app folder (and thus the username): we do not want both apps accessing the same MySQL database, and we don’t want the two apps now mixing each other up, so what we do next is we edit the clone’s LocalSettings.php file to access the clone’s SQL instance. You can see and verify those credentials in the application management tab. Re-upload the file, and now we „really“ have two identical, but working separate, installations of the same Mediawiki website, each with their own LocalSettings.php file accessing their own distinct SQL database – but on the same server/IP. Cloning could have set this up correctly already, btw.
Now you’re asking what about a backup? The original „live“ app IS the backup. You can, and I recommend, make an additional, traditional backup, just as you are used to, but for simplicity sake I assume here that if we screw this up, all we screwed up is the clone and we can just delete it, no harm done to the live app. Repeat: the process described here does not touch the „live“ installation (we merely put it in read only mode).
The next step is to „clear“ the clone of old Mediawiki files, a recommended process to avoid legacy files interfering with your application or just legacy garbage. So you delete all files from within your cloned Mediawiki application, but you leave LocalSettings.php, the images folder, and any extensions you need, or custom skins, untouched. If there’s anything essential in your .htaccess or robots.txt files, then leave those as well (and obviously anything else that’s non-Mediawiki that you need to preserve). Delete the rest either via shell („rm…“) or via FileZilla (a lot slower).
Now, from your harddrive, upload the latest Mediawiki (e.g. 1.26.2.) files to the cloned app’s remote directory (or upload and unzip there). The cloned app has now jumped to the latest version, but the upgrade would be yet incomplete.
Ensuring that the LocalSettings.php file in your new directory has both the correct SQL credentials as well as all the changes made necessary for the latest Mediawiki (and possibly uncommented any old extensions that might cause conflicts during upgrade or skins no longer needed), we are now ready to perform the upgrade.
One major change with the latest MediaWiki versions is how skins are called (wfLoadSkin( ’skinname‘ );) and extensions (wfLoadExtension( ‚Extensionname‘ );).
SSH into your server via a terminal window using the master credentials, cd to your staging app’s directory, and cd maintenance, then „php update.php“ – it will go relatively quick, and you’re done! Browse to your staging app (again, it is that longer URL), and ensure it all works correctly.
At this point, knowing you have an „additional“ (regular) backup, will help you feel better :)
Go to your (old) live app’s tab, and in „domain management“ change the primary domain to something other, e.g. ww1…. or god knows what, and then jump to your staging app’s domain section and enter the live domain there. This will take a few moments, but then YOUR NEW, UPDATED APP FROM THE STAGING DIRECTORY will actually be live via yourdomain.com
Verify that everything works (also remove read only mode and test uploads and edits). If everything works, you „could“ just delete the old „live“ site as your clone site is now live. Obviously the main reason is to free up hard drive space. And repeat the same process for the next upgrade.
Optional: Enter the SQL manager and optimize your database tables. Delete cache. Clean up LocalSettings.php, update all your extensions to latest stable versions!
Pretty smooth actually, once you familiarize yourself with this procedure. You’re welcome. If you wanna give Cloudways a try, do me a favor and use this link to sign up there for a test.
Originally published as a series of articles in the Washington Post called „Net of Insecurity“, the little eBook re-release „The Threatened Net“ (Play Books / Kindle) covers the origins of the internet and the roots of the security problems we are dealing with today.
Author Craig Timberg traces the history of today’s information infrastructure back to its founders, the hackers, the funders and the innovators. He talks to people involved in DARPA, L0ft, he talks to Torvalds and others, trying to piece together the political and market forces that have determined the open and insecure nature of today’s internet and information systems. It’s not the most detailed, technological or historic document, but a concise, entertaining and readworthy text. At times I found it scratched the surfaces too much, left out essential aspects of the issue, and put too much blame on certain individuals, but the book manages to paint a decent picture of the overall mess and helps any newcomer get access to this complex topic. Recommended reading.
I grew up with bulletin boards. Online forums, message boards, however you want to call them, have for almost decades defined how discussion on the internet took place. Then came social networks and they were all deserted. Long standing communities, fostered over years, turned into ghost towns in mere months. Facebook & Co were easier to use, had a way lower barrier to entry and that is where things were happening anyway. At the same time, places like Reddit, Stack Exchange and other technical places changed the way how tech support works online.
For many years I have managed message boards, starting with YaBB (or similar), then later also tried phpBB which in some areas is still the market leader among the freely available, open source systems. Simple Machines has a very good track record, as it has proved over the years to be a quite flexible and stable system. Now this is 2015, a lot of online communities are still dead as disco, and even though one can detect trends that signal movements away from the public social networks back to niche communities, the situation is still tricky. Luring people back with carrots and sticks is tough. One element of any community manager’s strategy to rebuild a community, or revive a dormant one, would be to offer its members the usability, convenience and feature set they are used to from modern day websites. This is where a host of new online discussion software platforms come in.
Discourse, NodeBB and a few others have said bye bye to the LAMP stack and built online discussion forums as Java and/or Ruby-Rails applications. As proper applications – versus simple PHP scripts – they enormously limit the number of hosting environments they can run on and increase the barrier to entry a hundredfold. They are however very new, innovative and the situation is improving almost monthly, with hosted offerings popping up, and hosting providers offering one-click installations. Their maturity itself is also increasing. Discourse is already at 1.4 and used by an impressive array of communities. Because they are resource hungry, they might however never really be running on the old, shared hosting environments which have sufficed for phpBB, Simple Machines and the like.
Firstly, I have opted for Discourse. It has an active community, some decent strategic partners (like DigitalOcean, etc.) and is rather easy to use. Its discussion concept makes sense and the functionality is up to the standards I would expect from something that is built for the internet in 2015. The hardware requirements are alright, and with Discoursehosting.com I have also found a capable and affordable way to have one hosted instead of having to administer a Docker based server installation on my own (although the Docker stuff is getting really easy, a caveman could probably do it). I follow the debates on discourse.org and have to say I am rather impressed by the evangelism put forth by this community and the frequency of releases most of all.
Secondly, there are three main reasons why I am turning my back on Simple Machines (and also phpBB). The first reason is that it sometimes takes years for major releases. Simple Machines has been working forever on a major new version, and even though from the beta I have seen I am sure it will bring back SMF to kind of the post-2000 internet, I think the effort comes a bit late (and they won’t say when that will be). It has thus become an unreliable software vendor, and a very un-innovative one at that. The second reason is the old mindset. I have found that its community and creators tend to be of the „if it ain’t broke, why fix it“ sort, I was surprised how conservative a crowd it turned into. Even mentioning their newer competitors triggers arrogant defense reactions. All the more reason to say bye to the past and hello to the future. The third reason is that as established software platforms, they have become unable to manage the feature direction of their extension ecosystems on the one hand, and are prominent spam and security targets on the other. As they are rather old architectures, they struggle to be mobile friendly, responsive, and usable.
This may sound very bitter, but for someone who has been relying on a certain kind of technology over many years and seeing those technologies fail to innovate and move forward, I think it has come time for me to sever ties and jump ship. I like to offer my communities a technical foundation that is mobile friendly, performant, intuitive, optimized and packing a feature set out of the box that makes them feel at home in a 2015 kind of environment. Discourse is under active early development but it is already way ahead of their legacy uncles and aunts in the online forum world, and I hope and I am confident that my communities will happily adapt to their novelty and be happy with the innovation it brings. To the Simple Machines and phpBB community out there, maybe take a few steps back and look at the big picture: incremental fixings on software concepts that are already more 90s than the Windows Start button, will not help….
If you want to give it a try, you can sign up for DiscourseHosting.com, using my affiliate link, thanks!