Monday, 21 October 2013

ESSENTIAL WORDPRESS PLUGINS (REVISITED AGAIN)

Wordpress is immensely powerful straight out of the box, but it's possible to add pretty much ANY functionality you want, and it's usually for free.

This is a list of the TOP Plugins we use at q292u.com.
They are in no particular order.

(This is an UPDATED version of an updated version of an earlier post. There are SIGNIFICANT changes, as Wordpress is such a moving target)

AKISMET.
ESSENTIAL anti-spam system. Free to non-commercial users.
Filters out unwanted (spam) comments automatically, and provides stats on what it's doing. ESSENTIAL.

WORDPRESS SEO. (YOAST)
We now use this in preference to All-In-One-SEO-PACK. Allows us to tailor in-post SEO far better. Also handles Sitemaps. ESSENTIAL

BETTER-WP-SECURITY.
Plugs all the holes we could find. Also handles backups. Excellent! ESSENTIAL

ADROTATE.
Handles advertising on your site. Very comprehensive. Individual ads are created and then made into groups. You can then position the groups as widgets, in posts and on pages. Ads have start and end dates, and tracking can be switched on or off. Better than maxbannerads.  ** The latest version has had features removed due to a "premium" version. Avoid this version. STRONGLY RECOMMENDED

WP AUTO TAGGER.
Automatically adds relevant tags to your posts as you create them, based on post content. It'll find tags you hadn't thought of. STRONGLY RECOMMENDED.

AUTO POST THUMBNAIL.
Automatically sets the "Featured Image" attribute of the post, based on the content. STRONGLY RECOMMENDED

HYPERCACHE.
Excellent caching plugin, creates static version of all your posts and pages as they are created. Far better than SUPERCACHE. ESSENTIAL if you use a lot of plugins, or have a lot of visitors.
Get the "Clear Cache" Button plugin as well.

EXCLUDE FROM NAVIGATION.
Some themes automatically add all pages to navigation menus. This is how to stop it. Adds a checkbox in the editor. ESSENTIAL.

SMART 404.
Attempts to redirect 404 errors to relevant pages based on search query, and URL requested. Reduces bounce-rates. ESSENTIAL

Google Analytics. (YOAST)
This adds Google Analytics tracking code to all your pages and posts, so you can keep tabs on everything. You need an analytics account. ESSENTIAL.

CONTEXTUAL RELATED POSTS.
Adds links to other relevant posts on your site. Engages visitors, and keeps them on your site longer. STRONGLY RECOMMENDED.

STOP SPAMMERS
Blocks spammers from ever registering. So they can't post. Nice. STRONGLY RECOMMENDED

COVERT SOCIAL CONTENT
We use this instead of FEEDWORDPRESS, due to performance issues. NOT FREE!
Strongly Recommended

COVERT SOCIAL BUZZ 
Generates Likes/Tweets/etc. Not Free. Strongly Recommended.
WP SOCIAL POPUP.
Generates Likes/Tweets/etc. Strongly Recommended.

SOCIAL LOCKER (FREE Version)
Excellent! - Locks up content until the user tweets, likes, g+1 or whatever. STRONGLY RECOMMENDED.


Friday, 19 October 2012

ESSENTIAL WORDPRESS PLUGINS (REVISITED)

Wordpress is immensely powerful straight out of the box, but it's possible to add pretty much ANY functionality you want, and it's usually for free.

This is a list of the TOP Plugins we use at q292u.com.
They are in no particular order.

(This is an UPDATED version of an earlier post. There are SIGNIFICANT changes, as Wordpress is such a moving target)

AKISMET.
ESSENTIAL anti-spam system. Free to non-commercial users.
Filters out unwanted (spam) comments automatically, and provides stats on what it's doing. ESSENTIAL.

JETPACK
This one is essentially a multi-plugin. It gives you a lot of the functionality of Wordpress.Com. You can do away with all the social bookmarking button plugins, contact form plugins, "Follow Me" plugins, and much more. ESSENTIAL. You need a (free) wordpress.com account.

FEEDBURNER FEEDSMITH.Redirects all RSS feeds to your Feedburner feeds. So you can control all RSS activity. From there you can do e-mail Subscriptions and much more.
Including automatic TWITTER integration! Get a feedburner account. ESSENTIAL.

ALL-IN-ONE-SEO.
Handles ALL aspects of SEO (Search Engine Optimisation). Options to rewrite article titles, handles Keywords, meta tags, everything. There's also a "PRO version. You won't need it. ESSENTIAL.

ADROTATE.
Handles advertising on your site. Very comprehensive. Individual ads are created and then made into groups. You can then position the groups as widgets, in posts and on pages. Ads have start and end dates, and tracking can be switched on or off. Better than maxbannerads. STRONGLY RECOMMENDED

WP AUTO TAGGER.
Automatically adds relevant tags to your posts as you create them, based on post content. It'll find tags you hadn't thought of. STRONGLY RECOMMENDED.

WORDBAY.
Add relevant eBay listings to your posts and pages. This plugin is NOT free, but it's worth the money. Simply set it up, and use shortcodes to position ads. Now includes a widget as well. RECOMMENDED.

FEEDWORDPRESS.
Automatically creates posts on your blog, based on predefined RSS feeds. Excellent. RECOMMENDED.

HYPERCACHE.
Excellent caching plugin, creates static version of all your posts and pages as they are created. Far better than SUPERCACHE. ESSENTIAL if you use a lot of plugins, or have a lot of visitors.
Get the "Clear Cache" Button plugin as well.

EXCLUDE FROM NAVIGATION.
Some themes automatically add all pages to navigation menus. This is how to stop it. Adds a checkbox in the editor. ESSENTIAL.

GOOGLE XML SITEMAPS.
Automatically generates and submits sitemaps to Google. You can also submit these to Yahoo and Bing, yourself. Helps with SEO. ESSENTIAL.

WORDPRESS-DB-BACKUP.
Automatically create scheduled database backups and e-mail to yourself.
Simple and effective. ESSENTIAL.

SMART 404.
Attempts to redirect 404 errors to relevant pages based on search query, and URL requested. Reduces bounce-rates. ESSENTIAL

Mail From.
Simply changes the return e-mail address for automatically-generated e-mail messages to something like "NOREPLY@domain.com". ESSENTIAL.

Google Analytics.
This adds Google Analytics tracking code to all your pages and posts, so you can keep tabs on everything. You need an analytics account. ESSENTIAL.

CONTEXTUAL RELATED POSTS.
Adds links to other relevant posts on your site. Engages visitors, and keeps them on your site longer. STRONGLY RECOMMENDED.

Wordpress | Blank First Line in RSS feed | Broken RSS feed

We've just had this happen to TWO sites: The first line of the RSS feed comes out blank, meaning that the RSS feed is broken. Feedburner can't cope, so the RSS subscriptions, Twitter feed, and e-mail subscriptions all disappeared down a black hole. This happened after a couple of major site revisions, involving new plugins. First up, we tried the "fix-rss-feed" plugin. Nope. Then the "whitespace" fix. Nope. Removing blank lines from wp-config. Nope. Hmm.. The solution is the obvious, boring one: disable ALL plugins, and re-enable one-by-one until the RSS feed breaks. Turns out it was nothing to do with the new plugins, it was "Advanced Tag List", which I think has just been updated.. It just goes to show - you can never be too careful. With muktiple plugins by multiple authors, this IS going to happen. Anyway - everything is again rosy in the garden.

Wednesday, 10 October 2012

Wordpress Database Optimization | Database Bloat

The Problem: Wordpress is notorious for "database bloat", in particular the "wp-options" table. This is where Wordpress (WP) stores all info for plugins and themes, etc. There are built-in functions for storing data in this table, so a lot of developers use it to store data that really should be in a separate table. Also, most plugins don't clean up after themselves when you delete them. To make things worse, Wordpress stores a draft copy of EVERY post revision you make. This results in bloating of the "wp-posts" table. Some Culprits: I've come across TWO plugins that massively contribute to bloated wp-options tables: FeedWordpress (FWP) and Artiss Social Bookmarks. Don't get me wrong, FWP is a fantastic plugin, BUT it stores "transient" records in wp-options, and then never cleans them up. Artiss does something similar. PHASE 1: Database Cleanup. A Solution: There's a plugin called "Clean Options", which scans for wp-options records which are never referenced by your WP installation. It calls these "orphans", and you can tell it to remove them for you. Be careful, though: take a database backup before you delete ANYTHING. Select any options belonging to plugins you don't have installed any more. Be careful! You should also be able to delete anything which starts with "_transient_". A fly in the ointment: If you have a wp-options table with 30000 records in it, then "Clean Options" isn't going to be able to cope. It will freeze-up. You won't be able to select records to delete. Drastic Measures: So where does that leave us? Manually deleting records from the wp-options table. Yes. That's scary. But it's the only way. MAKE A BACKUP OF YOUR WP-OPTIONS TABLE Use phpmyadmin to directly access your database, select the wp-options table, and use the "export" option to make a backup to your local machine. Now execute the following sql statements: select * from wp-options where wp-name like '_transient_%' This will return all the transient records with names starting with "_transient_", and give you a tally of how many there are. Check these records to make sure there's nothing else in there before you do anything drastic. Like this: delete from wp-options where wp-name like '_transient_%' This deletes ALL records starting with "_transient_". You did check the results of the select statement, above, didn't you? No? That's OK, you DID make a backup copy. Didn't you? You have just deleted (possibly) thousands of wp-options records (my record is 28000). Now, at this point, one of three things will happen: 1. Nothing. That's great. 2. Your website will go offline for a while as the database server deals with the changes. No worries - it will come back on it's own.. 3. Your website will go offline and stay offline. :( If this happens, try adding "/license.txt" to the end of your site URL. If it displays the WP license agreement, your hosting is Ok, but WP is having a breakdown. Fix this by accessing the "active plugins" record in wp-options, (usually on page 2) and copying the contents somewhere safe. Now delete the contents (NOT the record itself!) Now try accessing your site again. You should find that you can get into the admin panel and re-activate the plugins one-by-one until everything's back up. (or paste the copy you made earlier back in) Phase 2: Database Optimization. You should now have a nice slimline wp-options table. Now we need to "optimize" the database. By this, we mean delete all post revisions (you don't need them. You didn't know you HAD them, right?), spam comments, etc. We also need to run standard database optimization routines on the core WP tables, remoce table overheads etc.. Make a COMPLETE database backup before you start messing with this. (Same routine as before, but for ALL tables together). We use the "wp-optimize" plugin, but there are others. WP-Optimize has checkboxes for deleting post revisions, spam, and optimization. We always run the optimization option ON IT'S OWN.. You DO NOT want a timeout at this point! That's it. Hopefully nothing went horribly wrong. If it did, it's YOUR problem. We told you to make backups several times.

Tuesday, 9 October 2012

Wordpress - Caching Plugins Revisited

We've been using "quickcache" for ages, after a nasty experience with wp-supercache. (it ate a website!) Anyway, we've been doing some back-to-back testing on two similar websites running different caching plugins. The results were: Fastest: Hypercache, with browser caching and compression turned on. DB Cache didn't seem to make any difference when combined with hypercache. Had some issues getting rid of quickcache, as well. Had to switch off cacheing, then disable, then delete, then edit wp-config to restore the cache setting.. Google Page Speed scores have risen from around 70 to around 89..

Tuesday, 3 July 2012

Feedwordpress / Gzip plugin problems - can't access admin panel

Yesterday, after all the hoo-haa with Feedwordpress refusing to activate, I ran into another problem: I couldn't access the feedwordpress admin panel! on FOUR sites.. All I get is "page unavailable", or the dreaded error 324 in Chrome (don't start me on that one). So I backtracked - what ELSE had I changed recently? The answer was I had used plugin to switch on GZIP compression on the affected sites. Deactivating the plugins "Force Gzip", or "Wordpress Gzip" allowed me back in to the feedwordpress admin panel. I have no idea why switching on Gzip kills the feedwordpress admin panel, but it does. You heard it here.

Monday, 2 July 2012

Wordpress - Feedwordpress - Will not activate!

This was a bit of a problem. My site, which relies on FeedWordPress (fwp) for updates, had crashed. The only way to get the site back up was to disable all active plugins via the database (see my other posts), and then re-activate the plugins one-by-one to find the culprit. Turns out that the culprit was FeedWordPress. FeedWordPress does this when there are a LOT of links to check. Like my site. The only way to fix this quickly is to edit the database directly using the hosting control panel. DO NOT edit the RSS links using the inbuilt links editor - it will chop the end off the links, destroying them. It will chop the affiliate bits off the end.. 1. Get the ID of the link category that fwp is looking at. To find out, you need to know it's name. I called mine "FWP". Yours may be "Blogroll". Use the wordpress links editor, but DO NOT edit any links. Now look in the WP-Terms table, and find the record with that name. Make a note of the link_category_id. 2. You are also going to need an empty link category. Use the wordpress link category editor to create one, (I called mine "FWP-DUMMY") or just select an existing link category with no links in it. Note down the link_category_id. 3. Open the wp-options table and look for the feedwordpress_category record. It probably will not be on the first page.. Edit it. The number in there should be the link_category_id for your existing category. Change it to the number for the empty link category. Save it. 4. In Wordpress, activate FeedWordPress. It should work OK now. That's because it's looking at an empty category and has nothing to check. 5. Go back to the wp-options table, and change the feedwordpress category back to the original value. Save it. Feedwordpress is now up and running. Finally, make a note of the link-category_ids for the FWP category and the Empty category, so you won't have to mess about next time.