Welcome to WordPress Wednesday, a summary of what you might have missed in the world of WordPress this week.

WordPress Plugins

This week Google launched their very first WordPress plugin, the Google App Engine for WordPress, I think this goes to show how series a platform WordPress is, and it’s great to see a large organization take the time to write a native app for WP to help developers integrate more.

Automattic has released a new version of JetPack with a host of updates including a new OmniSearch option that’ll search across your entire blog. Searching has always been a weak point for WordPress, not because they haven’t tried to make searching amazing but because including a quality search engine is really, really hard (companies such as Google spend a fortune trying to do it right).

I recently installed the Business Directory Plugin for a client, which (basically) creates a Chamber of Commerce style business listing for a WordPress website instantly. It’s a free plugin, with paid upgrades for integration to PayPal which is still a low price to pay for something that saved me 100 or more hours of programming. Chris Lema has an article on how ridiculous the pricing structure is for WordPress plugins (and I would extend that to themes as well).

WordCamp News

WordCamp Hamilton is happening this weekend in Hamilton Ontario, I’ll be there to help celebrate the first WordCamp in the city and I hope that if you’re in Southern Ontario you’ll take the time to come out and learn something new, contribute to the platform, or just have some fun.  On the subject of WordCamps, and WordCamp Grand Rapids is looking for speakers and their deadline is coming up, WordCamp Montreal is in a week.

WordPress Jobs

I read an interesting piece by Brian Krogsgard this week about WordPress job titles,which reminded me of a post I’ve been meaning to write for months about the ludicrous titles we give WordPress developers. Speaking of WordPress jobs, Postmedia News is looking for a WordPress developer for their office just outside the city. If you’ve got WordPress VIP level skills and want to join a great team, you should send them a note.

If you’re not already a WordPress developer, take a look at this post on becoming one.

If you have questions about WordPress, or blogging in general I’d love to hear from you! I’ll be writing a lot in the coming weeks and look forward to making WordPress Wednesdays a much bigger part of my blog.

There are a lot of great WordPress plugins out there, no doubt about it but after running websites for more than a decade, I’ve narrowed down a list of plugins that I think should come standard with every WordPress website. Here they are:

JetPack – I’ve talked about this one before on my blog, it’s a must have for any blogger. It comes with everything from a grammar and spell checker to intense upgrades to the built in gallery, slideshows etc. It’s written by the team at Automattic, and even includes a great contact form utility. If you’d prefer to use it without being connected to WordPress.com, try Slim JetPack instead.

EditFlow – another one I’ve mentioned before but I think it deserves another mention. This plugin (at its basic level) adds editorial control to WordPress. It turns a simple blogging platform into a powerful publishing tool, allowing blog owners of any size to manage who can contribute, who can edit, and how can publish to their blog.

SEO Slugs, SEO Images, and SEO Smart Links – To me, these should all me lumped under a single entry for this post. They all help improve your SEO in different ways but they’re all great and deserve a mention.

  • SEO slugs gets rid of short words in your slugs (url addresses for posts), helping to focus the article’s permalink.
  • SEO images ensures your images make use of the ALT tag, even if you forget.
  • SEO Smart Links tries to deep link your articles to content deeper on your website.

WP Super Cache – There are several great caching plugins for WordPress out there, but this is my favourite. It’s not complex, and does a great job on Bluehost with a minimum of configuration.

Better WordPress Security – This plugin adds extra security to your WordPress website by checking for and modifying the most common security errors on a site. While nothing can ever make you 100% secure, it does a great job of ensuring your site is well protected.

Disclosure
In accordance with the FTC Endorsements and Testimonials in Advertising, please note that this post includes reviews or links to affiliate programs. The reviews provided in this post are unbiased and presented a fair manner. This post does not include misleading or paid reviews.

These ten plugins are designed to improve how users can share your content with their friends and promote your website through social marketing and online networks.

  1. JetPack includes ShareDaddy to easily add share links on the bottom of your posts. This encourages users to Tweet, Like or Share your content, includes Reddit, StumbleUpon and Digg as well as Twitter and Facebook. Also includes a Twitter widget and shortlink generator for your posts.
  2. Sexy Bookmarks is very similar to JetPack’s ShareDaddy, but allows linking to dozens of social bookmark services and is, well, sexy.
  3. Sociable is another alternative method for adding share and email options to your posts.
  4. Bookmarkify is an alternative method for adding share and email options to your posts.
  5. ShareThis is the granddaddy of social booking. ShareThis is the most extensive of the social sharing services with a huge library to choose from.
  6. Share on Facebook  will add a Facebook share button to your post.
  7. Digg This adds a Digg button to your post.
  8. TweetMeme easily adds a Tweet button to your posts.
  9. I love Social Bookmarketing is another option , similar to JetPack’s ShareDaddy and Sexy Bookmarks.
  10. Social Bookmarks – one last alternative, similar to JetPack ShareDaddy and Sexy Bookmarks.

While limited to a few key services, my favourite in the list above is JetPack because of its simplicity of operation and easy means of adding new services.

Comment Plugins for WordPress

Improving the comments on your website will not only increase return visits, but also help search engines to know your pages are active and full of fresh content.

  1. Disqus offers a great, clean commenting tool for WordPress and integrates with Askimet for spam fighting.
  2. OpenID works with the built-in WordPress comments to offer users the option of signing in via their OpenID profile.
  3. Twitter Avatars In Comments allows users’ comments to include their Twitter profile picture. You can also do it without a plugin, if you enjoy coding.
  4. TinyMCE Comments adds the TinyMCE html editor to comments.
  5. CommentLuv shares the title of the comment author’s latest post with CommentLuv.
  6. @reply adds the ability to use Twitterish @reply-to links in comments.
  7. JetPack adds Gravatar hovercards with profile details for comment authors. While we’re on the subject of Gravatar, Gravatar Signup adds a checkbox for quick sign up for non Gravatar members.
  8. IntenseDebate Comments is a powerful commenting tool similar to Disqus, from the makers of WordPress.
  9. Facebook Comments – there are several plugins available to take care of integrating Facebook to WordPress, I’ll just link to the list and you can try them out.
  10. Paged Comments stops your comments from getting out of control by displaying only a set number per page.

Search Engine Optimization Plugins for WordPress

These plugins are designed to improve your SEO performance and bring traffic to your website through search engines.

  1. Google XML Sitemaps works with Google Webmaster Tools to tell Google what changes to your website should be indexed.
  2. Redirection is perfect for migrating URLs to a new site structure. If you’ve updated your blog, moved a page or changed the location of a file you can use this plugin to tell search engines where it is.
  3. Simple Tags  helps you pick tags for your posts by integrating with Yahoo and other search engines for advice.
  4. Robots Meta add metadata to your posts and pages to help search engines process your pages.
  5. SEO Friendly Images automatically adds alt and title tags to your images based on your post name.
  6. SEO No Duplicate removes duplicate content from your website listings.
  7. Google Images Sitemap adds your website images to Google Images with Webmaster Tools.
  8. SEO Slugs removes excess words (e.g. the, an,a) from your permalinks to increase slug performance.

Deep Linking Plugins for WordPress

The term deep linking describes a simple SEO strategy of linking to relevant posts deep within your website. This helps readers and search engines find content no longer on your homepage.

  1. Easy Popular Posts  links to the most popular posts on your website.
  2. Easy Recent Posts links to the most recent posts on your site.
  3. Easy Random Posts links to 5,10,20 or more random posts on your site.
  4. Easy Related Posts automatically finds related posts on your site.
  5. SEO Smart Links links popular words in your posts to related content on your website.

When I first went to work for Postmedia, I was introduced to the WordPress VIP program and the very first time I submitted a piece of theme code, it came back to me because I hadn’t put the right number of tabs before a line of code. I was pissed.

The second time I submitted the code, they sent it back to me because my comment wasn’t formatted correctly.

The third time, because I’d dared to name one of the variables $i instead of something readable.

Maybe the above examples never really happened (or maybe they did, I’ll never say) but the truth is, I’m a slow learner and it took them months to teach me to stop making a mess of my code.

Tom McFarlin (who happens to use the Standard theme on his blog as well) wrote a WP Tuts+ article on coding standards that covers some of the basics of how to code for WordPress, they’re based on the WordPress Coding Standards found on the Codex which is a comprehensive document outlining the rules for developing WordPress websites, themes, and plugins.

Tom goes into each of these in greater depth, but the basics of the WordPress coding standards can be summed up in these few points:

  • Let your code breath. Give it space and format the code so that it’s easier to read.
  • Know your quotes. Single vs. double quotes matter on output, learn why.
  • Show your work. Break complex tasks into multiple steps, so you can see your work.
  • Names and labels. You’ve got to know when to CamelCase and when to use_a_slash.

Why do coding standards matter?

I recently had to update a project that I built 13 years ago, and it was a mess. In fact, the code base was so horrible that it was easier for me to migrate over 100,000 records to a new data structure and rebuild the application from scratch, rather than try to understand what I’d written in my 20′s. Consider for a moment that I wrote the code, and I couldn’t understand what it was trying to do. Now imagine editing code that somebody else wrote.

What I wish I could tell myself 20+ years ago was the structuring a document might take a little more time upfront but in the long run, it’ll save you hours of time and plenty of frustration … not that I would have listened.

Last week I wrote a small article about how to set your price as a website designer, which discussed the basic model of determining your worth and establishing an hourly rate based on that worth.

EbookBlog 300x200 A great book about how to price your web design talentsIn a wonderful twist of fate, a few days later Freshbooks published a fantastic (and free) ebook on the same subject, but with an excellent overview of how to price your services based on deliverables rather than hourly billing.

What Mike McDerment and his co-writer Donald Cowper address in this book is an age old question for developers, how do you set pricing for a service as a product, rather than as a unique service.

For example, if you build a website for Client A you would likely use the method I documented early, because it took X number of hours and you bill $Y per hour. But building the same website a month later for Client B, you have most of the code already complete and now it takes a tenth of the time, is it fail to bill the second client 1/10th of the price for the same end result?

Download Breaking the Time Barrier by Mike McDerment.

If you’re not familiar with Freshbooks, it’s a hosted invoicing service with excellent built in time tracking, API functionality, an easy to use interface, and wonderful technical support. The company is Canadian, based in Toronto.

Special thanks to Brian Hogg, one of the brilliant programmers at Weever Apps and a great software developer just outside Hamilton, Ontario for reminding me to post an update to my earlier post. On a related note, if you’re going to be in Hamilton on June 23rd come out and meet some of the great local talent at WordCamp Hamilton!

If you use the average pay scale as an indicator, you should be able to set your own rate based on how confident you are in your skills, and how much the market is willing to pay for your expertise.

Continue Reading...

Coming to a restaurant website without a menu is like trying to visit a local car lot that won’t let you see their cars. It doesn’t make sense.

Continue Reading...

Every week I try to sit down and update some of my old WordPress functions, to ensure they meet the latest WordPress coding standards and are in keeping with the best practices. If you ever find a piece of code on thisismyurl (or in any of my plugins) that you feel can be improved, please feel free to fork the code or send me suggestions! In the mean time, here’s what I fixed this week:

Getting WordPress Content Outside the Loop

This function allows you to fetch the_content() without being in a loop.

Generate Tags for Posts without Tags

Tags are useful for a lot more than just SEO, and this little function loops through your posts (25 at a time) to ensure all your posts have tags associated with them. I use it on newspaper websites but it can be used on all WordPress sites well.

Get a quote from a directory

This is an old snippet, and after learning as much as I have I’d likely never code a site like this again but it’s still an interesting concept that can be easily adapted to load images or text for a specific day.

Remember, if you’re not comfortable adding this code to your WordPress theme function.php file, you can also create a site specific plugin for your site.

This week I’ve added two new plugins to the WordPress repository.

Category Contributors which adds a new Widget to your WordPress website. The Widget lists contributors to the current category while viewing a category page, or contributors to the first category of a post while viewing the post. It’s perfect for newspaper and magazine websites.

Move Posts from the Uncategorized Category is a utility plugin, designed to scan your website for Posts in the Uncategorized category, and move them. It’s based on a post I wrote last week covering how to move posts from your Uncategorized category.

The plugins are now both on the WordPress repository, or you can download them from my list of WordPress plugins.

Sometimes when I’m going through my earlier code samples I want to hit myself, or at the very least go back in time and teach myself how to code WordPress properly. Luckily my blog lets me correct my silly code snippets and turn them into updated, awesome code.

Redirect a post using custom fields

Let’s say you need to redirect a post but don’t know how, this useful tip will let you use a Custom Field to redirect that specific post to any post, without much effort.

How to removed the generator tag in WordPress

By default WordPress inserts a generator meta tag on your page, since some people consider it a security risk I built a small plugin to remove the generator tag as well as a small tutorial on how to remove it manually.

Add an authors picture to your WordPress post

This is one of my older posts, I rewrote most of the code and turned it into a proper WordPress function to all users to display the author image from anywhere in theme file.

If you find a bit of code on thisismyurl.com that needs updating, let me know!