Jan 192009

Welcome to the second edition of Weekly WordPress Roundup!

Sorry for the late posting!  I was busy making lemonade from life’s lemons…

What Is It?

Weekly WordPress Roundup is a hybrid between a blog carnival and a weblog.  Every Monday morning the editor of that week’s roundup makes a single post linking to the “best” WordPress articles they’ve come across that week.  The choices are made from their own web surfing and from articles submitted via the Roundup’s blogcarnival.com page.  If you’re interested in hosting the Weekly WordPress Roundup, just drop an email to: philaahzophy@gmail.com

On To The Entries…

General WordPress News-

Our first entry comes from Jackie at Internet Marketing Strategy For Moms and even though it was posted last October, it’s still very relevant today.  The title pretty much tells the story: WordPress.com Deleted All Of My Blogs.  Apparetnly the folks at WordPress.com decided she was a splogger simply because she linked out to her other blogs.  Not good news.  And it’s not a problem that’s going away.  It was a full year ago that I posted Isn’t Freedom Of Expression Worth $5 Per Month? right here at Philaahzophy.

Looking for work?  Well, according to the WordPress Publisher Blog, oDesk Reports “WordPress” Fastest Growing In-Demand Skill in 2008!  So it seems like your blogging skills can pay off in the “real world” as well.

WordPress Plugins-

Madeline Begun Kane submitted her brief article on the wonders of the WP-SpamFree plugin titled Life-Saving, Spam-Fighting WordPress Plugin.  I didn’t investigate WP-SpamFree during my own recent search for a comment spam solution, because it’s listed as only being compatible up to WordPress 2.6.2.  If you know that it’s been upgraded for (or is compatible with) 2.7 then I’d love to hear about it in the comments section below!

WordPress Tips-

As I’ve started exploring the limits of what can be done with WordPress I’ve found myself coming closer and closer to altering the core WordPress files.  Since any changes to the core will have to be redone manually whenever a new update comes out, this is a very bad thing.  Luckily, the folx over at Cats Who Code have an elegant solution in their How To: Overwrite Core WordPress Functions.

Mike Mueller recently posted a great overview on Setting Up Your WP Blog at his Mike’s Minute Real Estate Blog.

WordPress Themes-

Ever wish you could use more widgets without your blog looking overcrowded?  Well check out last week’s Thursday Themeday review of the Quadruple Blue four column WordPress theme!  Considering many people (myself included much of the time) feel that three column themes are, by their very nature, cluttered, the concept of a four column theme may seem preposterous.  But, somehow, this one pulls it off.

Anthony Delgado’s Free WordPress Themes may not be what you expect.  Instead of listing more free themes he actually discusses how to make a theme “your own” with only minor modifications.

Want to use WordPress as a CMS?  Then you absolutely have to check out the WordPress ReMix Theme I reviewed last week!


That’s wraps up this week’s WordPress Roundup!  Look for next week’s edition over at Gilroy Review on Monday, January 26th!  Submit your WordPress-related article (or someone else’s that you find worthwhile!) to the next edition of Weekly WordPress Roundup using our carnival submission form or by emailing it to philaahzophy@gmail.com.  Future hosts can be found on the Weekly WordPress Roundup homepage.  If you’d like to be added to the list, just drop an email!

As always, comments, links and social bookmarks are very much appreciated!

Reblog this post [with Zemanta]
Jan 142009

I’ve been meaning to discuss the WP Remix WordPress Theme in either my Wonderful WordPress Wednesday series here on Philaahzophy or my Thursday Themesday series over at Gilroy Review for about six weeks now but just wasn’t exactly sure where it fit.  You see, both of those series are dedicated to using WordPress as a blog, while WP Remix is all about using WordPress as a CMS (Content Management System).  Of course, you can still use WPRemix for a more traditional blog, but that’s a little like using a sledgehammer to crack open a peanut.

WPRemix is one of the few “premium” (read: you must purchase a license) WordPress themes that I’ve actually considered purchasing.  When I first discovered WordPress I actually purchased two premium themes and was sorely disappointed both with the coding itself (with a little searching I could have found all of the features I liked for free) and with the level of support (essentially none).  WPRemix solves both of these problems, offering a huge amount of features (smart drop menu, over 50 pre-structured page templates, seven color schemes, theme admin options, it’s pre-configured for such famous plugins as Contact-Form, Page Navi, Gravatar, Flickrss, Post Rating, and Author Highlight, and so mouch more) and having an excellent support forum available 24 hours a day to assist with whatever your WPRemix needs are.

There are literally far too many features and possibilities with WP Remix for me to go into them all here.  But if you’re looking to use WordPress as a CMS and are more interested in operating your business ro storefront than in tweaking your website, you absolutely need to spend a little time exploring the website dedicated to this premium wordpress theme.

For those of you astute enough to realize that this post is filed not only under “Blogging”, but also under “Affiliates”, here’s the kicker.  Just this week the affiliate program payout for sales of WP Remix has increased from an already generous 20% to an amazing 50%.  That means that if someone purchases a single site license for this incredible WordPress theme through yuor link you’ll receive $37.50 and if they purchase a multi-site license you’ll earn a sweet $137.50!

Now, before you think I’m only recommending WP Remix in order to earn those commissions, double check the links in this post.  Both go directly to their website without any sort of tracking.  They aren’t affiliate links! I just think this is an awesome product with a great affiliate program.

Jan 142009
Part of the Wonderful WordPress Wednesdays Series - Previous in series         

Welcome to the twelfth installment of my Wonderful WordPress Wednesday series.

With more than 20 blogs to watch over, comment spam has become quite the annoying time killer of late.  With more than 200 Akismet entries to sort through each day it became clear that something else had to be done, so I had a quick consult with friends who do managed IT services in Calgary and headed into the ether to find a solution.

My first stop was, of course, the WordPress plugin directory.  Unfortunately, searching on “spam” returns 117 of the 3,870 plugins currently listed there.  Not exactly a bullseye solution to the problem.  So I headed into the WordPress Codex ehere I found their Combating Comment Spam page with the following suggestions-

  • Akismet – Akismet was already keeping the majority o fthe spam off my blog, but I was still forced to sort through it in search of false positive.
  • Settings > Discussion –
    • Here there are multiple options to automatically detect spam: number of links, spam keywords, blacklist.  Alas, when detected, it was just dumped into the Akismet area for me to sort through later.
    • Moderate All Comments – This would create even more work for me, essentially labeling everything as spam.  Not exactly a timesaver and not really user friendly, either, IMO.
    • Pre-approve only “old” commenters- Since I don’t have many ‘regular’ commenters this would still require far too much moderation time.
    • Restrict Comments To Registered Users – not only user-unfriendly, but I really have no desire to have dozens or even hundreds of people with user accounts on my blog(s).
  • Delete wp-comments-post.php and/or wp-trackback.php -Again, not exactly user friendly.  I’m trying to encourage more comments, not remove them all.  Besides isn’t this just giving in to the spammers?  I’d rather let them run rampant than shut out my actual readers.
  • Use rel=”nofollow” – this has never actually been effective in stopping comment spam.  The bots simply don’t care.
  • Deny access with .htaccess – Now that seems interesting!
    • Deny Access to Spammer IPs/Referrer Spammers – Again, too labor intensive what with the need to collate and enter individual IP addresses and referrers.
    • Deny Access to No Referrer Requests – I think we have a winner!

Here’s the relevant section of The Codex-

When your readers comment, the wp-comments-post.php file is accessed, does its thing, and creates the post. The user’s browser will send a “referral” line about this.

When a spam-bot comes in, it hits the file directly and usually does not leave a referrer. This allows for some nifty detection and action direct from the server. If you are not familiar with Apache directives, then write the following in your root directory .htaccess file::

RewriteEngine On
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

This will:
1. Detect when a POST is being made
2. Check to see if the post is on wp-comments-post.php
3. Check if the referrer is in your domain or if no referrer
4. Send the spam-bot BACK to its originating server’s IP address.

After reading that over it seemed to make perfect sense to me.  A simple but elegant solution t ospambots.  Five minutes later I had added the relevant code to my .htaccess file and expected to never hear from comment spammers again.

However, the next morning, my Akismet spam queue was full of over 100 messages again.  The only thing different was that not a single one of them was a false positive or even questionable.  Every single one of them had been left by a spambot.  Clearly this simple but elegant solution wasn’t working.  So I headed off to find another solution.  The worst part, however, was something I didn’t realize until a full two days later: the .htaccess changes were blocking regular comments!  I think this was because I don’t use the normal comments.php, instead using a custom one from a comment plugin, but regardless, it wasn’t helping block the spambots anyway, so I just wiped it clean out and immediately was able to receive comments again.

My next “great find” was Yet Another WordPress Anti Spam Plugin (YAWASP).  Unlike the vast majority of anti-spam plugins out there, YAWASP did not require Javascript or cookies (which many of my visitors have disabled) or a CAPTCHA (which I and many of my visitors hate), but instead, was entirely transparent to the regular user.  Its primary means of spam detecting is to add a “hidden” field that the bots will see (and complete) but is invisible to the human eye on the rendered page.  I use this same type of anti-apam system to keep spammers from registering on the various forums I’ve over the years and it works great.  So I was exited to see it available for WordPress as well. Unfortunately, i couldn’t get it to work.  No matter what I did it kept insisting that every comment was spam because it’s author had somehow entered data into the “hidden” field.  Exceedingly frustrated at this point I removed it and took a nice long break.

Finally I decided to see what other long term bloggers were doing and with a little poking aruond in Google Blog Search I finally came across several positive article about the Bad Behavior WordPress Plugin.  Like Akismet and YAWASP, Bad Behavior is transparent to my actual readers.  However, unlike them it was as simple as install and activate.  I haven’t received a spambot comment since!  Regular comments still seem to be getting through and spam that is manually left still shows up (though it tends to get caught by Akismet).  Best of all, in the last 24 hours I’ve only had to clear less than a dozen comments from my various Akismet queues.  Now that is protection.

Yeah, I know that was a long way to go for what could have been a simple single paragraph post.  But I wanted y’all to understand that I share your frustrations.  Now, hopefully, you can avoid all of my pitfalls and wasted time and simply install Bad behavior to begin with.  The only question remaining is why is Akismet distributed with WordPress when Bad Behavior is not?

Reblog this post [with Zemanta]
Part of the Wonderful WordPress Wednesdays Series - Previous in series        
Jan 072009
Part of the Wonderful WordPress Wednesdays Series - Previous in series         Next in series

Welcome to the eleventh installment of my Wonderful WordPress Wednesday series. Today’s lesson is a quick little hack for one of my favorite plugins: WP-PostRatings (by the irrepressible Lester ‘GaMerZ’ Chan) which adds an AJAX rating system for your WordPress blog’s posts.  I don’t use it here on Philaahzophy, but it’s a vital part of several other blogs that I manage.

My problem occurred on my amusement park and roller coaster video blog where I also use a plugin (that I previously wrote about) to schedule posts for future dates.  You see, I’ve noticed that people are far more likely to actually rate a post if others have already done so.  Therefore I was visiting each post after it was published and rating it myself.  This can become bothersome since I schedule posts on that blog days or even weeks in advance.  What I needed was for the WP-PostRatings plugin to add a default rating score to every post as it was published.  Luckily, with a little poking around and some help from more PHP-knowledgeable friends I was able to come up with a solution.

Simply navigate to Plugins > Editor > WP-PostRatings in your WordPress admin area and scroll down to lines 763-766 which read as follows:

add_post_meta($post_ID, 'ratings_users', 0, true);
add_post_meta($post_ID, 'ratings_score', 0, true);
add_post_meta($post_ID, 'ratings_average', 0, true);

Now, change the values in each variable to reflect your default ratings. For example, to have each post be published with a single rating and a score of 4 you would change the code to appear as follows-

add_post_meta($post_ID, 'ratings_users', 1, true);
add_post_meta($post_ID, 'ratings_score', 4, true);
add_post_meta($post_ID, 'ratings_average', 4, true);

You can set whatever default ratings you like, but make sure that your math works out or you’re likely to get some type of error.

  • ratings_users refers to the number of different people that have entered their rating
  • ratings_score is the total value of all the ratings thus far added together
  • ratings_average is the current score of the post

So you’ll want to make sure that ratings_score divided by ratings_users is equal to ratings_average.  If you’re worried about the math, just use the values in the example above and all of your posts will publish with a rating of 4 granted by a single user (you do think all of your posts are worthy of at least 4 out of 5 stars, don’t you?).

As always, if you have any difficulty with this tip, questions about using WordPress more effectively, suggestions for future articles in this series, or just want to say ‘Hi’ or ‘Thanks’, comments are always very much appreciated!  And if you found this post useful or informative, please consider adding it to your choice  social bookmarking sites (StumbleUpon, Digg, Reddit, etc).

Part of the Wonderful WordPress Wednesdays Series - Previous in series        Next in series
Dec 242008
Part of the Wonderful WordPress Wednesdays Series - Previous in series         Next in series

Welcome to the tenth installment of my Wonderful WordPress Wednesday series. Oh, and Merry Christmas Eve to all those celebrating today!

Over the weekend I was moving several websites around (see my Moving Your WordPress Blog To A New Server In 10 Easy Steps for a walkthru on this process) and discovered that one of my (seldom used) blogs had a database file that was too large to import using phpMyAdmin at my web host. It was just under four megabytes, so easily within their 51MB limit, but still, it kept timing out. Now, WiredTree (my webhost) is very accommodating and I’m sure if I had contacted support they would have gladly (and easily) imported the file for me. However, I knew there had to be a solution and I wanted to figure this one out on my own. Well, on my own with Google’s help, of course 😉

The first “solution” I came across was to use a program called MySQLDumper which I dutifully downloaded, unzipped, uploaded and accessed only to discover that in order for it to work I would need to actually create the backup in MySQLDumper.  Well, I wasn’t interested in a solution that would require me to install a program multiple times on multiple servers run by multiple webhosts, so I deleted that bad boy and kept looking.

Next I found the simple and elegant solution: BigDump by Alexey Ozerov.  BigDump is a single php file that you download from Alexey’s site.  You then change a few paramaters within the file, upload it and your backup, and voila!  You’re all set.  Here’s what I did, step by step…

  1. Visit the BigDump: Staggered MySQL Dump Importer page and download the file.  I used ver. 0.29b (beta)
  2. Unzip BigDump.zip and open the file (BigDump.php) in a text editor.
  3. Modify the following lines to match your database and backup-
    • Line 40 – $db_server   = ‘localhost’;
    • Line 41 – $db_name     = ”;
    • Line 42 – $db_username = ”;
    • Line 43 – $db_password = ”;
    • Line 47 – $filename         = ”;     // Specify the dump filename to suppress the file selection dialog
    • Line 67 – $db_connection_charset = ”;
  4. Upload the modified BigDump.php and your SQL backup file to the webhost where the new database is located
  5. Visit http://www.YOUR-DOMAIN.com/BigDump.php
  6. Click “Start Import”
  7. IMPORTANT: When the script has successfully run, delete bigdump.php and your dump files from your server.

A couple of notes…

  • BigDump has the charset defaulted to ‘latin1’ while most phpMyAdmin’s I’ve encountered have it set to utf8, so make sure you set this correctly.
  • When creating your backup file make sure to uncheck ‘Extended Inserts’ as BigDump isn’t able to split such SQL queries.  This will make your backup (or dump) file much larger (mine almost doubled from just under four megs to just over 7 megs), but will allow BigDump to install it smoothly.

There ya go!  No more worries about moving large databases.  Not only did it handle my 4MB to 7MB blog backup easily, but it imported my 120MB+ forum database dump just as smoothly.  To give you some idea of the size of the forum database I have the fastest DSL connection available to homes and it took more than 25 minutes just to upload the sql backup file.  But it only took BigDump around 7 minutes to successfully install it – something that phpMyAdmin was simply not created to handle.  Man, I just loves me some freeware 🙂

Until next time, if you have any questions, thoughts, or concerns, please comment below and remember that giving this article a Thumbs Up with StumbleUpon will up your karma quotient for the day 😉

Part of the Wonderful WordPress Wednesdays Series - Previous in series        Next in series