This article lists and reviews the WordPress plug-ins that are currently in use, or have been used in previous releases of the NAWG web site.
It also documents the plug-ins policy for the site.
↑ Current Status
Here is the current status with the site's WordPress plug-ins. The information was last updated on Wed-18-Oct-2017.
The following plug-ins are currently in use:
|Akismet||4.0.0||18-Oct-2017||Comment spam filtering.|
|All In One SEO Pack||2.4.2||18-Oct-2017||Search engine optimisation.|
|Breadcrumb NavXT||5.7.1||18-Oct-2017||Navigation using "breadcrumb trail".|
|Contact Form 7||4.9.0||18-Oct-2017||Visitor enquiry and feedback messages.|
|Snow Storm||1.4.2||13-Jan-2017||Visual snowflakes effect. Usually used seasonally.|
↑ Previous Plug-ins
The following plug-ins are no longer installed but have been used in previous releases:
|Advanced Excerpt||4.1.1||04-Apr-2014||Discontinued, therefore no updates nor support.|
|Google XML Sitemaps||4.0.5||12-Aug-2014||Search engine assistance. Similar features now provided by All in One SEO Pack (see above).|
|Lightbox 2||2.9.2||31-Mar-2014||Discontinued, therefore no updates nor support.|
|MM Forms||0.9.7b||31-Mar-2014||No available info, therefore presumed discontinued.|
|Really Simple CAPTCHA||1.5.0||31-Mar-2014||Not used by forms, therefore superfluous.|
|Redirection||2.2.13||31-Mar-2014||Removed due to technical design considerations.|
|WordPress Backup||2.2.3||04-Apr-2014||Removed due to technical design considerations.|
|WP Polls||2.6.8||14-May-2015||Removed as it was no longer providing useful information.|
The plug-in provides a "breadcrumb trail" style navigation menu, in formats similar to the following examples:
- Home > Category > Sub-category > Page Name
- Home > Archive > Year & Month > Article
Breadcrumb NavXT – Settings
##### General ##### +----+-----+-----+ |Name|Value|Notes| +----+-----+-----+ |Breadcrumb separator|" > "|Without quotes.| |Limit title length|No|| |Max title length|1|| |Link current item|No|| |Paged breadcrumb|No|| |Paged template|%htitle%|| |Home breadcrumb|Yes|| |Home template|<a title="Go to the %title% home page…" href="%link%">Home</a>|| |Home template (unlinked)|Home|| |Blog breadcrumb|No|| |Blog template|<a title="Go to %title%…" href="%link%">%htitle%</a>|| |Blog template (unlinked)|%htitle%|| |Main site breadcrumb|Disabled|Due to multi-site not being enabled.| +----+-----+-----+ ##### Post Types ##### +----+-----+-----+ |Name|Value|Notes| +----+-----+-----+ |Post template|<a title="Go to %title%…" href="%link%" class="%type%">%htitle%</a>|| |Post template (unlinked)|%htitle%|| |Post hierarchy display|Yes|| |Post hierarchy|Categories|| |Page template|<a title="Go to %title%…" href="%link%" class="%type%">%htitle%</a>|| |Page template (unlinked)|%htitle%|| |Attachment template|<a title="Go to %title%…" href="%link%" class="%type%">%htitle%</a>|| |Attachment template (unlinked)|%htitle%|| +----+-----+-----+ ##### Taxonomies ##### +----+-----+-----+ |Name|Value|Notes| +----+-----+-----+ |Category template|<a title="Articles in category: %title%…" href="%link%">%htitle%</a>|| |Category template (unlinked)|%htitle%|| |Tag template|<a title="Articles with tag: %title%…" href="%link%" class="%type%">%htitle%</a>|| |Tag template (unlinked)|%htitle%|| |Post format template|<a title="Go to %title%…" href="%link%" class="%type%">%htitle%</a>|| |Post format template (unlinked)|%htitle%|| +----+-----+-----+ ##### Miscellaneous ##### +----+-----+-----+ |Name|Value|Notes| +----+-----+-----+ |Author template|<a title="Articles posted by: %title%…" href="%link%">%htitle%</a>|| |Author template (unlinked)|Articles posted by: %htitle%|| |Author display format|display_name|| |Date template|<a title="Articles posted in %title%…" href="%link%">%htitle%</a>|| |Date template (unlinked)|%htitle%|| |Search template|<a title="Search results: %title%…" href="%link%">%htitle%</a>|| |Search template (unlinked)|Search results: %htitle%|| |404 title|404|| |404 template|%htitle%|| +----+-----+-----+
The remainder of this section will be filled in at a later date…
This section outlines the policy for the use of WordPress plug-ins.
The following strategy should be used.
- Keep the number of plug-ins to an absolute minimum.
- Only use up-to-date and well-maintained plug-ins.
In addition, the following guidelines are provided:
- Never apply untested new plug-ins directly to the live site. Always test them first, using a development site or staging area.
- Never apply untested plug-in updates directly to the live site. Always test them first, using a development site or staging area.
Plug-ins can add functionality to the core software. However, they can also be a source of many different kinds of problems. Some examples are given below.
Lack of Support
It's quite common for plug-in authors to lose interest in their creations and move on to other things. This leaves the plug-in users without support and without the possibility of upgrades to fix bugs.
In order to upgrade many of the plug-ins, the core version of WordPress also needs to be upgraded. This has knock-on implications for development and testing.
In addition, many plug-ins are developed and tested against older versions of the WordPress core, but not re-tested when later core releases become available. This can lead to problems, sometimes serious ones, when a web site upgrades their WordPress core.
For example: plug-in version
a.b.c may work correctly
with WordPress version
but the same plug-in version may stop working when WordPress is upgraded to version
Upgraded plug-in version
d.e.f may resolve this,
but who's to say when or if version
d.e.f will become available.
Of course, the WordPress core could be kept at the earlier version, but failure to upgrade can lead to other serious problems, such as security vulnerabilities.
Some of the more complex plug-ins rely on other plug-ins being installed and activated. The relative versions of these plug-ins may be important in terms of which combinations work correctly and which ones don't.
Added to the core dependency issue, this can lead to a nightmare of maintenance, due to the "spaghetti" relationships between the components.
Plug-ins can end up being used when they are not strictly needed. This can happen in a number of scenarios:
- Their functionality becomes available in a later version of the WordPress core, making the plug-in redundant.
- An administrator may install a plug-in to resolve an issue, when a better solution might have been used.
- An administrator may install a plug-in without fully understanding the longer term implications.
Using unnecessary plug-ins can lead to knock-on problems, such as the following:
- Writing content in a way to suit a particular plug-in, rather than keeping it simple.
- Extra complexity of code in the web site's software, leading to maintenance overheads and increased development time.
This section contains descriptive (and probably subjective) reviews of some of the plug-ins.
The NAWG web site prior to release 2.4.1 used around twelve WordPress plug-ins. These were reviewed, in order to make decisions about what actions to take. In each case, it was decided to do one of the following:
- Keep the plug-in as it is.
- Upgrade the plug-in, if a newer version is available.
Replace the plug-in with a different one, which could be:
- Another third-party plug-in.
- A plug-in to be developed in-house.
- Remove the plug-in.
↑ Advanced Excerpt
|Purpose:||Fine control over articles' excerpts.|
The following features are listed in the plug-in directory:
- Keeps HTML mark-up in the excerpt (and you get to choose which tags are included).
- Trims the excerpt to a given length using either character count or word count.
- Only the "real" text is counted (HTML is ignored but kept).
- Customizes the excerpt length and the ellipsis character that are used.
- Completes the last word or sentence in an excerpt (no weird cuts).
- Adds a read-more link to the text.
- Ignores custom excerpts and use the generated one instead.
Theme developers can use
the_advanced_excerpt()for even more control (see the FAQ).
The first thing that stands out is that, despite the usefulness of the features, the plug-in has not been updated for over two years (at the time of writing). This is a strong indication that the plug-in has been abandoned by the author. The fact that the given plug-in web site is no longer present and its domain is for sale, supports this assertion.
|Purpose:||Comment spam filtering.|
The plug-in works by calling a web service to determine whether comments are spam. Spam are placed in the appropriate "spam" state, whereas good comments are processed as normal. Borderline cases go into the "moderate" state, so that they can be reviewed by a moderator.
Judging from the sheer volume of spam comments*, we cannot do without this plug-in, unless additional measures are taken.
* At the time of writing (09-Apr-2014), there are 152 comments marked as genuine and 3,301 marked as spam.
↑ All in One SEO Pack
|Purpose:||Search engine optimisation.|
Provides search engine optimisation (SEO) by adding keywords using
<meta> tags in the output mark-up.
This can improve the web site's ranking in search results,
when using a popular search engine such as Google.
This seems like a reasonable idea, though I'm personally not always convinced that SEO is worth the effort. Since the plug-in does it automatically, there is probably nothing to lose.
I once heard a "golden rule" of SEO, that simply said:
Write good content!
↑ Breadcrumb NavXT
|Purpose:||Breadcrumb trail navigation.|
The plug-in provides a "breadcrumb trail" style navigation menu.
This plug-in will only be useful if we decide to keep this method of navigation. Otherwise it will serve no purpose.
↑ Contact Form 7
|Purpose:||Providing visitor feedback contact forms.|
The plug-in allows you to place contact forms on a page, using shortcodes such as in the following example:
[contact-form-7 id="1234" title="Contact form"]
You design the actual form using the plug-in's settings page. The form is then rendered when the assigned page is displayed.
It seems to work as advertised with no problems.
↑ Google XML Sitemaps
|Purpose:||Generate sitemap files for robots, assisting search engines.|
This plug-in generates sitemap files, based on the page and post structure plus other content. Sitemaps help search engines to index the site more efficiently, but they have no immediate benefit to human visitors. These sitemap files should not be confused with a "sitemap" style for navigation menus (although the latter could be derived from the former, for practical purposes).
Although search engines benefit from sitemaps, they have no effect on search rankings, since they don't provide any kind of search engine optimisation (SEO).
Seems helpful and harmless enough, though testing will be required to ascertain its impact on performance and other things.
↑ Lightbox 2
|Purpose:||Visual effects for images.|
This plug-in has been discontinued and is no longer available.
Provided visual effects for images.
Such visual effects, should we want them, can easily be provided by the following alternatives:
- PHP code in the WordPress theme.
↑ MM Forms
|Purpose:||Unknown – possibly contact forms provider.|
No information could be found about this plug-in, which was disabled anyway.
↑ Really Simple CAPTCHA
|Purpose:||Provide CAPTCHA for contact forms.|
In the web site configuration at the time of review, this feature did not appear to be used. The contact form did not include a CAPTCHA.
In any case, CAPTCHAs are problematic for many reasons, including:
- They can be notoriously difficult to satisfy.
- They cause user frustration.
- For these reasons, they are a deterrent to genuine users. This surely outweighs any anti-spam benefits.
There are other, probably more effective ways to block spam, e.g.:
- "Honey pot" fields, hidden from humans using (separate) CSS.
- Very simple challenge-response questions, e.g. "what is 2 + 3 ?"
|Purpose:||Automatic URI redirection.|
The plug-in provides redirection, that is: converting an incoming request for a page to a different URI. It also keeps logs of these redirections and of requests for pages that are not found (404 errors).
My first thought was that this was implemented as a stop-gap solution to solve broken link problems. It would surely have been better to fix the broken links.
Having said that, I saw a number of other possible uses:
- Patching temporarily broken links when resources are moved internally.
Keeping site visitors' out-of-date links working.
URIs may change for a number of reasons, including:
- The URI mechanism may change (e.g. "permalinks" setting in WordPress).
- Article titles may change after an edit.
- Category and tag names may be altered.
- Article dates may be edited, leading to broken archive links.
- Monitoring requests to see what people are looking for but not finding.
I believe that 1 and 2 should only be temporary situations and do not warrant permanent use of the plug-in. In case 3, there are other, probably more reliable tools that can be used to determine visitor statistics.
An important thing to consider is that using a WordPress plug-in to provide redirection may be too expensive in terms of performance, though this has not been tested. This is for a number of reasons:
- The whole of the WordPress core must be loaded before redirection takes place, after which time, another page is loaded from scratch.
The web server can handle redirection much more efficiently.
In this case, via the Apache "redirect" module.
The rules can simply be placed in the override file (usually
An initial investigation revealed the following facts:
- The administrative user interface did not seem to work correctly. Details of the redirection rules were not presented in the way that the instructions suggest. Whether this is a bug or my own misunderstanding is not yet clear.
The redirection logs can take up a lot of space in the database.
- There were nearly 95,000 records at the time of writing.
- In terms of storage, this was, at the time of writing, 38% of the whole database.
- Judging from the time stamps, these records had been present since the plug-in was first installed. Their number would only increase over time, unless manually deleted.
↑ WordPress Backup
The plug-in allows you to back up the SQL database behind WordPress. It works by performing an SQL dump and then saving this to a directory on the server, or e-mailing the result to a specified address. You can schedule this action to take place at regular intervals (e-mail option only). Alternatively you can do an immediate backup from the dashboard and save the file to your computer.
Immediate backups were performed on a local test site
and on the live site.
These appeared to work successfully, though the browser (Opera Presto) hung at the end of the operation.
Upgrading to version 2.2.4 did not solve this issue.
The live data were then restored into the local test site and this appeared to work successfully too.
A subsequent full backup from the live site, including all database tables, resulted in the dump file being saved to a server directory, despite the request being for a client download. This may have been due to the size of the file (~70 MB), though no message to this effect was given.
The plug-in appears functional, though the browser hang issue may be cause for concern.
There is a question mark over how useful it actually is, though.
It does not do anything that cannot be achieved via
on the web host's control panels, other than the ability to e-mail the data.
↑ WP Polls
|Purpose:||Presenting polls to get user feedback.|
Allows the presentation of one or more voting polls, to get answers to questions from site users and visitors. The results are stored in the database, and can also be viewed using the voting widget(s).
The plug-in seems to work correctly.
|Author:||Kevin Machin||Date:||April 4, 2014 5:32 pm|
|Comments:||0 – permitted||Article:||2789 – published|