WPSSO v2.4.5 and NGFB v7.4.5

wpsso-logo

WPSSO version 2.4.5 and NGFB version 7.4.5 have been released together this morning. There are no updates to NGFB’s sharing buttons code, so both plugins have the same Changelog.

A new “author” meta tag has been added for Facebook. This is different from the “article:author” meta tag, which defines a URL to the author’s Facebook page. The “author” meta tag contains the author’s full name (or variation there-of). This allows Facebook to include the shared webpage author’s name bellow the timeline post.

Continue reading


How Fast is WPSSO Compared to Other Plugins?

wpsso-logo

There is a huge variety of available plugins for WordPress — 30,326 plugins as of today — and if you’ve tried more than a few, you’ll have noticed a marked difference in their quality as well (functionality, user interface, stability, etc.). If you know your way around PHP, you should take a moment to browse the source code of a plugin before installing it. You’ll notice quite a difference there as well. ;-) You can view WPSSO’s source code directly from WordPress.org’s SVN repository. If you do, please excuse the lack of comments — it’s on my To-Do list. ;-)

I started developing the NextGEN Facebook (NGFB) plugin about a year ago, when I broke my foot and was stuck in bed / on the couch for much of the day. NGFB is the foundation for WPSSO, minus the sharing buttons and their related features (shortcodes, widgets, stylesheets, javascript caching, and url shortening). WPSSO has 25% less code, is 0.0070 secs faster per page load, and is often preferred for websites that already have (or don’t need) a set of sharing buttons.

I’ve always kept an eye on performance, and used WordPress’s object and transient caches when possible, along with disk based caching when appropriate. NGFB and WPSSO are fast, but until recently, I’d never compared their performance to other plugins. As I prepare WPSSO v2.4.4 for release later this week, I took some time to double-check its performance and that of a few other plugins as well.

Continue reading


Check the SOA Serial Number on NS Servers

perl-camel

If you manage a DNS master, and push zones to several slaves / secondaries, you may have found that over time — as configuration files and firewall rules change — one or more slaves may have lost its ability to update its zone files. Perhaps the slave is no longer being notified, or it may have lost the necessary zone transfer permissions from the master. In a large distributed environment where DNS changes are frequent, checking the SOA serial number for all the NS servers in a zone can be quite helpful — a quick way to eliminate the DNS as a possible source of a problem. Here is a perl script I wrote a few years back to retrieve the SOA serial number for a given domain.

Continue reading


Force Rsync Command via SSH but Allow Any Directory

Recently, I needed to sync several directories on a backup / fail-over server with the same directories on a production server. Rsync over SSH takes care of this, but if you want to tighten security, you must use the “command” restriction in the SSH authorized_keys file — This restricts the authenticated key to running a single command, with a specific set of arguments. For example, let’s look at a typical command that might be run from a backup server to rsync daily database dumps:

Continue reading


Adding the nginx-plus Repository to apt-mirror and Puppet

puppet-labs-logo

Nginx Inc. provides access to the nginx-plus package and repository using SSL certificates. Their instructions cover the configuration of apt for Ubuntu, but for people using apt-mirror and Puppet to manage their internal servers, additional custom configurations are required.

The standard apt configuration for nginx-plus might look like this:

The connection to the nginx-plus repository must be made using HTTPS and authentication is handled by client certificates. As provided, apt-mirror is not able to manage SSL certificates, so two sections in the apt-mirror script must be modified. The %config_variables array defines the settings read from its configuration files. We will add the ‘certificate’, ‘private_key’, and ‘ca_certificate’ settings to the array.

Continue reading