From the category archives:

Blogging

I just realized I haven’t done a new post in two months, so here’s a quick and easy one: the complete list of WordPress plugins I use on this blog. It’s a nicely structured definition list with links in alphabetical order, you see. I’ll do my best to forget to update it if I add or delete any.

AddToAny: Share/Bookmark/Email Button
Adds the “share/save/email/whatever this” button you see at the bottom of this post. Turns out nobody clicks it.
Akismet
Checks new comments for spam, and most of the time finds it.
Cookies for Comments
Used to be an effective anti-spam mechanism, but it looks like spammers have got their way around it after Matt Cutts publicized it. Nice move, Matt.
Core Control
Not really using it on this blog; just makes me feel like I have complete, low-level control. Also helped me solve auto-upgrade issues on some servers.
Dagon Design Sitemap Generator
The maker of this nice HTML site map.
FeedBurner FeedSmith
302 redirects your feed URL to FeedBurner, except when FeedBurner itself wants to grab the RSS (legit cloaking).
Follow My Links
Brings authority back to the author by removing the idiotic default nofollow from links in authorial comments. I shall also note this plugin was authored by the undersigned.
GZippy
Helps you save some bandwidth by re-enabling gzip compression, which is disabled in WordPress (dunno why).
Limit Login Attempts
A security plugin which will kick you in the butt after the Nth failed login attempt.
Subscribe To Comments
Lets your commenters opt-in to be notified by e-mail when someone else posts a comment. Don’t know why this isn’t built-in in WordPress, either.
TweetMeme Retweet Button
The little green button you’ll click after reading this post.
Ultimate Noindex Nofollow Tool
Since noindex is already taken care of by Thesis (albeit with a nasty default nofollow issue), I’m really just using this plugin for noindexing the WP login page.
Ultimate Plugins Smart Update Pinger
Lets you control which services your blog should ping, and when. Sweet.
WordPress.com Stats
Because we all like some charts and graphs with our morning coffee.
WP FancyZoom
Smooth and sexy AJAX JavaScript image zooming. Bonus point: it doesn’t require any additional styling on your <img> <a> tags.
WP Security Scan
A nice checklist that will help you automate 90% of WordPress security administration. ‘Cause you’re better safe than spammed to death.

That’s it. Hope you find this list helpful. If you have any questions about my use of the above plugins, don’t be shy.

Oh, and happy 2010 to you too.

  • Share/Bookmark

{ 5 comments }

This post is for those using the (otherwise great) Thesis WordPress theme. If you don’t run WordPress + Thesis, then this post may not apply to you personally, but it might make for an interesting read nonetheless, especially if you’re into WordPress and SEO (yes, this is going to get a bit technical along the way, but I did my best to keep things simple).

As you might have noticed, this WordPress blog uses the Thesis theme from DIY Themes (no, I’m not an affiliate). Thesis is really an awesome theme: robust, well-thought out, loaded with cool features and easy-to-use design options, and good built-in search engine optimization that makes it a first choice if you’re into SEO, or you just want to be able to customize your blog’s appearance without having to dive into someone else’s code. For example, when writing a new post, with Thesis it’s really easy to control what goes into the <h1> heading tag, what appears in the page <title> tag, and what on the post URL (this post is a nice example): very neat. Such features are in fact so sweet that the Thesis theme fame spread like wildfire throughout the SEO blogging community, especially since SEO superstars such as Graywolf endorsed it (no offense, Michael, but I’m nofollowing that link since you are an affiliate), and after Matt Cutts switched his WordPress blog to Thesis after years of using a boring greenish theme, thus becoming its number one testimonial.

Being an SEO consultant (and spare-time blogger), the choice was easy for me: around the end of May this year I purchased a Thesis Developer’s License and have since then deployed Thesis on three different sites, including this one, to my great satisfaction.

The issue

Soon after installing and configuring Thesis on this blog, I discovered what I would call a bug: if you check the checkboxes under “Thesis Options > Add Noindex to Archive Pages” (that’s one of the two cool admin panels that come built-in with Thesis), the following meta tag is added to archive pages (such as tag, category, or date-based archive pages):

<meta name="robots" content="noindex, nofollow" />

From an SEO point of view, a robots meta tag with “noindex, nofollow” equals three things:

  1. noindex = “I don’t want this page to appear in search results”;
  2. nofollow = “I don’t want search engines to follow (crawl) the links on this page”;
  3. nofollow = “I don’t want any link juice to flow from this page to the other pages it links to”.

Why is that bad?

It’s bad for two main reasons: first of all, by not letting any “link juice” (i.e., the PageRank and anchor text awesomeness that come with every crawlable link) flow through your archive pages, your posts will not benefit from the links on those pages: regular users will still be able to reach your posts through those links, but search engines won’t. The second reason is that the internal PageRank distribution of your blog as a whole will suffer from the fact that the nofollow attribute prevents archive pages from flowing back the link juice they get from the rest of your site –and that’s quite a lot of juice, since archive pages typically have site-wide links on WordPress blogs! That leads to a worst-case scenario in which large blogs (with a large number of posts) might see older posts lose their rankings over time, or even disappear from the search engines’ indexes (yes, you read that right: I don’t want to sound too alarmistic, but that is one of the possible long-term consequences of using “nofollow” in the wrong places).

The funny thing is that Graywolf, and even Matt Cutts himself, (maybe unknowingly?) have a “nofollow” on their blog archive pages! (Don’t believe my word? Go check for yourself.)

Why is that a bug?

It’s a bug because the Thesis Options panel doesn’t tell you that by selecting the “Add Noindex to Archive Pages” options you’ll also get a “nofollow”. Take a look:

Thesis Options panel: Add Noindex to Archive Pages

See? “Nofollow” isn’t even mentioned, but if you look into the Thesis source code, you’ll see that it’s actually hardcoded: very sneaky! If it’s not a bug, it’s bad design. (Oh, by the way. “Noindex” is not a “tag”; it’s one of the possible values for the “content” attribute of the robots meta tag –just to get some basic terminology straight.)

Shouldn’t DIY Themes fix it?

You bet they should! In fact, I think they should have fixed it already: I reported the issue to the folks at DIY back in mid-June, providing lots of detail on why it should be fixed ASAP (here’s a link to my original post). A DIY Themes staff member replied telling me that Chris Pearson (the author of Thesis) had said “not a bug”, and my report was filed as a “feature request” [sic]. That was at the time of Thesis 1.5.1. Today I upgraded my blog to Thesis 1.6 (released on October 27), and noticing the bug was still there feature was still missing, I decided to do this post.

Now, I really hope Chris reads this post and thinks twice. In the meantime, here’s what you can do to get your link juices flowing again.

How do I fix it?

I provided instructions on how to fix the issue in this comment on Matt Cutts’ blog on June 16. Here’s my “quick’n'dirty” fix again:

In file \lib\classes\head.php, find the following code (occurring twice, at lines 35 and 38):

$meta['robots'] = '<meta name="robots" content="noindex, nofollow" />';

and replace it with:

$meta['robots'] = '<meta name="robots" content="noindex, follow" />';

or simply with the shorter and 100%-equivalent:

$meta['robots'] = '<meta name="robots" content="noindex" />';

Pretty easy, wasn’t it? The bad part is that the aforementioned hack is not future-proof: the next time you upgrade your Thesis, that file will get overwritten by the new theme file, so you’ll have to (remember to) edit it again. And again. Forever. Or until Chris Pearson decides to fix it. :P

A final word to fellow Thesis developers/hackers: if you can think of a Better Way To Do It that does not require editing the theme files (e.g., via WP hooks, I dunno), please drop it in the comments. Thanks

Update! The World’s greatest SEO picked up my call and showed The Right Way to set custom robots meta tags on your Thesis blog with just a few lines of code in your custom_functions.php file: check out his badass purple van!

  • Share/Bookmark

{ 19 comments }

Follow My Links

June 24, 2009

in Blogging, SEO

Follow My Links is a very simple plugin that prevents WordPress from automatically adding a “rel=nofollow” attribute to the following two categories of authorial links:

  1. links in the post author’s comments;
  2. links to the post author’s URL (usually linked to from the comment author’s username).

New in version 1.2: Now also allows the post author to selectively remove nofollow from links in user comments by editing them.

The default behaviour of WordPress (as of version 2.8) is to add a “rel=nofollow” attribute to all links in the comments section, including links in comments made by the post author and links to the post author’s website. The nofollow attribute prevents search engines like Google from following (indexing) such links, and passing “link juice” (including PageRank™) to the linked pages. In fact, nofollow was originally introduced by the major search engines as a deterrent or counter-measure to link spam in blog comments. For that reason, it doesn’t make much sense to have nofollow on your own links, when you’re the post author or blog owner, since those links are supposed to be “editorially given” (and therefore spam-free): that’s where this plugin comes at hand.

Please note that Follow My Links will not remove nofollow from links in existing authorial comments: that’s because, since WordPress adds the nofollow attribute to all links in comments at database level, there’s no way to determine whether an existing nofollow was introduced by WordPress, or explicitly by the comment author him/herself. So, if you want to strip nofollow from links in existing authorial comments, you’ll have to do it manually.

The nice part is that you’re still free to add “rel=nofollow” to any link in your own comments for whatever reason on a case-by-case basis, and if you do choose to do so, Follow My Links will leave the nofollow intact. Finally, as the post author, you can also remove nofollow from any link in a user comment by editing or quick-editing that comment’s HTML via the WordPress admin interface. Pretty neat, huh? ;)

Download

You can download Follow My Links from the WordPress Plugin Directory.

Installation

  1. Unzip, upload the ‘follow-my-links’ folder to your WordPress plugin directory (usually ‘/wp-content/plugins/’);
  2. Activate the plugin through the ‘Plugins’ menu in WordPress;
  3. You’re done (no configuration needed)! :)

Changelog

1.2

  • FIXED: Now allows the post author to remove nofollow from links in user comments by editing (07/10/2009)

1.1

  • FIXED: Bug preventing the correct detection of authorial comments (06/25/2009)

1.0

  • First public release (06/24/2009)

Donations

If you like this plugin, feel free to donate a link to this post or buy me a slice of pizza.

Bug reports, feature requests, questions, and feedback

Follow My Links is my very first WordPress plugin. Please do send me your feedback in the comments below. Thanks!

  • Share/Bookmark

{ 22 comments }

Happily with the Squid

June 14, 2009

in Blogging

The DNS transfer seems complete (if you’re reading this, you’re looking at the site on the new host). I have re-enabled comments.

The transition went super-smooth, and I’m really happy with my new host so far. I decided to move to Laughing Squid Web Hosting, which provide affordable cloud hosting services on Rackspace clustered servers, more reliable and scalable than traditional hosting on stand-alone servers.

Laughing Squid is also (or, should I say, primarily) a long-standing online community: in the words of its founder, Scott Beale, an online resource for art, culture and technology from San Francisco and beyond that has been around since the pre-Google era. You’ve probably seen their über-famous logo about a million times. Their mission is:

[...] promoting art, culture and technology, with a focus on the San Francisco Bay Area. A secondary goal of ours is to help connect the art community with the tech community, by letting artists know what tools and resources are available to promote their work and in turn get the geeks out from behind their computer and experience more art.

The Laughing Squid have been actively supporting and promoting local events in the SF Bay Area through their Squid List for more than 10 years now.

I think The Laughing Squid is one of those things that make the Internet a nice place, and I’m so happy to host my blog with them that I decided to make this post and give them a site-wide “powered by Laughing Squid” link from my footer. :)

  • Share/Bookmark

{ 2 comments }

I’m currently in the process of moving this site to Laughing Squid Cloud Hosting.

Comments will remain closed until the migration is complete.

Have a nice weekend.

  • Share/Bookmark

{ 1 comment }

Yay! After a couple of days nights hacking/tweaking/custom-tailoring WordPress to my likes and needs, I’ve finally come up with something I like.

It’s been quite a long time since my last post, so I thought I’d start over with a new site, including a sparkling new look and fresh contents. I also moved to a new host, 1&1 Internet.

In case you were looking for my old posts, they’re all gone. Sorry about that. As soon as I’ve collected a decent list of 404’s from logfile/backlink analysis and GWT/YSE, I’ll put in place a user-friendly redirection page, and maybe write a post about it.

I plan to further customize the site in the next few days; I’ll also add a section to host my own SEO tools, so grab the RSS feed (or have FeedBurner deliver daily e-mail updates to your inbox) and stay tuned.

  • Share/Bookmark

{ 8 comments }