By Flexo

Several weeks ago, I installed a new design at Consumerism Commentary. Theoretically, this was going to be a good move, from a fluid table-based design to a static CSS-based, compliant design. The fixed center column for text required that I rethink the placement of my AdSense ads, however.

I moved the two large almost-square ads from within the article text to the sidebar, while keeping them relatively the same distance from the top of the page. I believe that this move is the cause of a 40% decrease in my AdSense income over the past few weeks.

It would have been nice to test this design without losing money, but there is no way that I know of to replicate my traffic and visitors’ ad-clicking behavior on a test site. This glorious experiment failed gloriously.

I won’t be moving back to my old design, but I will likely make some slight changes to make the center column with the main article content fluid and drop the almost-square ads back there.

By Flexo

I am a long-time DreamHost customer. I still recommend them to my friends who want to create simple websites that will never attract much traffic, but not to business clients who are interested in having a major web-hosted application that can support 100,000 pageviews or database queries an hour.

As my most popular website, Consumerism Commentary gained popularity, DreamHost was having trouble keeping up with the processing demand (for a reason that will become clear later on). I’ve been hesitant to move to dedicated hosting. Don’t get me wrong, I can afford it based on web income alone, but I was still skeptical about why a simple blog was putting so much strain on a server.

I decided I would sign up for Dreamhost’s “Private Server” program, which is a new product they are rolling out. Customers receive virtual dedicated service, which means no other sites can supposedly affect their performance, but smaller maximum processing power and memory. Virtual private servers are supposed to be better than shared hosting, so I signed up, awaiting for the call.

September call-ups finally came around, and they moved all of my sites — something like 20 separate websites — to DreamHost PS. From there, everything went downhill. Even at the maximum CPU settings at a guaranteed 2300 MHz, DreamHost could not handle the load. Performance was much, much worse than the day before on DreamHost’s shared hosting. Continue reading ‘The Simple WordPress Transition From DreamHost to MediaTemple’

By nickel

Are you interested in producing a mobile version of your WordPress website? I recently got a Treo smartphone and, after a bit of painful surfing to some of my favorite sites, I got motivated to create mobile versions of both FiveCentNickel and Raising4Boys.

As it turns out, there are several plugins available for serving mobile versions of your WordPress website. Unfortunately, at least one of them warns users that the plugin might inadvertently deliver mobile content to search engine spiders, thereby jeopardizing your search engine rankings. Not good.

So which one did I end up using? After a bit of reading, I decided to go with Andy Moore’s WordPress Mobile. Installation was easy - simply drop a single file in your plugins folder and activate it from within the WordPress dashboard. Then hop on over to the WordPress Mobile to configure it…

The biggest gotcha is that if you’re running wp-cache, you might end up serving the wrong version to your visitors. Fortuantely, there’s a workaround - just turn off the “One Web” setting in WordPress Mobile and then add ‘&mobi‘ and ‘?mobi‘ to the list of rejected URIs in the wp-cache control panel.

The end result is quite impressive. The plugin auto-detects smartphones and magically serves the appropriate version without making readers go to a special URL. What they get is a stripped down version of the site that’s easy to read and can still handle comments, both in terms of displaying existing comments and publishing new ones. Graphics are automatically resized to fit, and the css is totally customizable. Thus, I was able to make the mobile versions of both sites resemble their full-blown counterparts. And if you’re interested in monetizing the mobile version of your site (I didn’t bother), there’s even built-in support for AdMob.

Finally, WordPress Mobile includes support for publishing (and uploading) on the go. I haven’t actually tried out these features yet, but I’m looking forward to giving it a go at some point in the future.

Note that I have run into a couple of formatting glitches when I try to preview the mobile versions using a ‘regular’ web browser on my computer. The main problem seems to be that pages with certain special characters fail to render when viewed in Firefox or Safari (and possibly other browsers). Nonetheless, all pages have rendered perfectly on my Treo 755p. Hopefully the same is true of other smartphones.

As for the issue of serving the wrong content to search engine bots, I spoofed the Googlebot user-agent using User Agent Switcher in Firefox and it worked just as expected… The full-blown version was served up just as it should have been.

All in all, this was very easy to implement, and provides a huge service to your readers that might want to read your site on the go.

(By the way, we haven’t gotten around to making this site mobile-compatible.)

Update: Ugh. False start. After testing this out yesterday, I awoke today to find that it’s serving the full version to my Treo. I suspect that this has something to do with wp-cache. Apparently the above tweaks aren’t enough… While the plugin is definitely producing a mobile-compatible version of this site, it’s not consistently delivering it. Stay tuned.

By nickel

Check this out…

WordPress Plugin: No Self Pings

I’ve always like the auto-pingback functionality of WordPress because I’m often too lazy to do manual trackbacks.

That being said, I hate the internal ‘pingbacks’ that occur whenever I link to my own articles. Yes, they provide a way forward from older to newer articles, but they also clutter up the comments. So instead of deleting them, I eventually just shut off the auto-pingback feature. But since I’m lazy (see above) that meant that I’ve rarely ended up sending trackbacks/pingbacks when I link to other sites.

I’ve search for a plugin to fix this behavior in the past and have come up empty. But now that I’ve found No Self Pings, I’m thrilled (assuming that it works, of course).

Check it out if you like auto-pingbacks but hate self-pings.

By nickel

Quick update to my approach to controlling blog spam… I wrote previously about some of the steps I had taken to reduce spam, but those steps turned out to be too leaky. Thus, I ended up settling on a combination of Peter’s Custom Anti-Spam, which is a simple captcha that works really, really well and isn’t hard for legitimate commenters to defeat, and the Simple Trackback Validation Plugin, which verifies that the page from which the trackback originated actually links to the target article. All of this was backed up by SpamKarma 2 to clean up anything that might slip through.

Fast forward a couple of months and everything was working fine. That is, it was working fine until I realized that there hadn’t been any trackbacks or pingbacks at either FiveCentNickel or Raising4Boys in a long, long time despite tons of inbound links. Weird. Something was clearly wrong, but what? Was it the Anti-Spam plugin or the Trackback Validation plugin?

After a bit of investigation I discovered that Peter’s Custom Anti-Spam was at fault — and so was I… As it turns out, there’s a bit of code early on in the plugin that allows you to specify whether or not trackbacks and pingbacks should be allowed, and this was set to ‘false’ by default:

$cas_allowtrack = false;

and

$cas_allowping = false;

Peter has since change the default behavior to allow trackbacks and pingbacks, but I’m still running an older version, so I was intentionally (albeit unknowningly) blocking these. This morning I switched these settings to ‘true’ — hopefully this takes care of things. And hopefully the Simple Trackback Validation plugin does its job. I actually have no idea how well this plugin works since the Anti-Spam plugin was blocking everything before it got to this stage.

By nickel

Just a quick note to let y’all know that Alexa has finally released a Firefox-compatible version of their toolbar. I haven’t downloaded it yet, but let me let you in on a little secret… If you download and install the toolbar, your Alexa rank will improve over time.

The reason for this is that Alexa calculates it’s traffic stats based on the number of visitors using their toolbar that visit a given site. Since you presumably visit your own site quite often (writing content, reading/writing comments, etc.) this will give you a substantial boost (especially for lower traffic sites, where the additional visits will make a huge proportional difference).

Why should you care? Well, a number of advertising programs, including Text Link Ads, factor in your Alexa ranking when calculating prices (although you can set your own prices if you wish) and they also present Alexa data to possible advertisers.

In the past, you could play this same game with the Firefox SearchStatus extension. However, I recently started having problems with slowdowns in Firefox that I traced back to this extension and had to disable it. Hopefully the ‘official’ toolbar will fix this.

By Flexo

You may be interested in this information if you have any sites hosted by Dreamhost. This is from an official communication from the web host.

This email is regarding a potential security concern related to your ‘xxxxxxxxxxxx’ FTP account.

We have detected what appears to be the exploit of a number of accounts belonging to DreamHost customers, and it appears that your account was one of those affected.

We’re still working to determine how this occurred, but it appears that a 3rd party found a way to obtain the password information associated with approximately 3,500 separate FTP accounts and has used that information to append data to the index files of customer sites using automated scripts (primarily for search engine optimization purposes).

Our records indicate that only roughly 20% of the accounts accessed - less than 0.15% of the total accounts that we host - actually had any changes made to them. Most accounts were untouched.

We ask that you do the following as soon as possible:

1. Immediately change your FTP password, as well as that of any other accounts that may share the same password. We recommend the use of passwords containing 8 or more random letters and numbers. You may change your FTP password from the web panel (”Users” section, “Manage Users” sub-section).

2. Review your hosted accounts/sites and ensure that nothing has been uploaded or changed that you did not do yourself. Many of the unauthorized logins did not result in changes at all (the intruder logged in, obtained a directory listing and quickly logged back out)
but to be sure you should carefully review the full contents of your account.

Again, only about 20% of the exploited accounts showed any modifications, and of those the only known changes have been to site
index documents (ie. ‘index.php’, ‘index.html’, etc - though we recommend looking for other changes as well).

It appears that the same intruder also attempted to gain direct access to our internal customer information database, but this was
thwarted by protections we have in place to prevent such access. Similarly, we have seen no indication that the intruder accessed
other customer account services such as email or MySQL databases.

In the last 24 hours we have made numerous significant behind-the-scenes changes to improve internal security, including the discovery and patching to prevent a handful of possible exploits.

We will, of course, continue to investigate the source of this particular security breach and keep customers apprised of what we
find. Once we learn more, we will be sure to post updates as they become available to our status weblog:

http://www.dreamhoststatus.com/

Thank you for your patience. If you have any questions or concerns, please let us know.

- DreamHost Security Team

By Flexo

Shaun Crowly from A List Apart put together an interesting article about writing headlines that points to one of my biggest personal pet peeves: headlines that sound like advertising copy.

The same things that catch the readers’ eyes and encourage people to read an article are what I find annoying. If this article is correct, it’s just me. Here are some of the tips for catch headlines, A List Apart’s example, and why I hate them.

* Reveal facts. “85% of cigarette smoke is invisible.” Statistics out of context are meaningless and often lead to misinterpretation.

* Use “how to” phrases. “How to be the most respected person in your company.” This implies that the author knows what he or she is writing about, and/or the intended audience is searching for this information. Many “How tos” I’ve seen on blogs are not written by experts or even anyone with more than a common-sense knowledge of the topic.

* Use a quote. “‘The best material I have seen at this level’ Professor C. Banks, Milford University.” Quotes are fine, but not for headlines. What material? What level? Who’s Professor Banks? This headline gives me no reason to care about the article.

* Lead with popularity. “Over one million people rely on Realline Web Hosting.” Popularity, if junior high school or Britney Spears are indications, does not correlate with quality.

* Guarantee the product. “Guaranteed! Cut six to eight strokes off your game… or your money back!” Catchy, but I’m already skeptical and looking for the “catch.”

* Give a direct command. “Make $1000s working from home.” Well this example flashes the word, “scam” in my mind. I would never accept any command from an article headline.

* Create a need — then show a product that fulfills it. “Everyone knows showers are more efficient than baths. So why do dishwashers work like baths?” Do people actually fall for this? A headline doesn’t create a need for me. Either the need exists or it doesn’t. I’m not going to realize, “Hey, I need gourmet cat food!” after reading an article.

There are several more in the article, some with which I don’t have a specific problem. I’m just not a fan of hype… but it does attract readers. This is not a fun part of blogging for me, but I feel that if I want to “compete,” I have to create headlines like this once in a while.

By nickel

As you may or may not know, my personal finance weblog turned two years old on May 1st. In celebration of this momentous event (and in hopes of generating a bit of a buzz) I decided to host a giveaway. While it hasn’t yet run it’s course, things are shaping up quite nicely.

Thus far I’ve received over 400 comment entries, and nearly 40 sites have linked to me as a direct result of the giveaway. Needless to say, I’m pretty happy with how things are going. While it’s not quite over (there’s still time to enter, so hurry over and take part), I thought I’d go ahead and put together a list of tips for hosting a successful giveaway…

1. Offer great prizes. If you want your giveaway to have a major impact, you need to make it worth the trouble. Often times you’ll see a giveaway where people are handing out some low value trinket. While this might generate a bit of interest, you’re selling yourself short if you don’t dangle something really enticing. In my case, I decided to go for multiple prizes, including some pretty nice stuff. Here’s the list:

- iPod nano
- iPod shuffle
- 5GB USB Microdrive
- Encyclopedia of Financial Planning
- Time is Money (Here’s my review)

2. Make it easy to enter. In my case, I was primarily interested in generating excitement as opposed to making people jump through hoops. Thus, I made it dead easy to enter — just leave a comment (and promise to tell at least on friend about my site) and you’re in.

3. Reward others for helping with the hype. While I wanted to make it easy to enter in order to encourage broad participation, I also wanted help getting the word out. Thus, I promised people with a blog of their own an additional three entries if they wrote a review of my site. To keep things on the up and up, I included specific linking requirements, including my front page, my welcome page, and the contest announcement. I also gave them the option of digging through the archives and picking out a few articles that they’d like to highlight and/or rebut if they’d prefer that over a straight up review. I also link back to all such entries, such that people that choose to participate in this fashion get a bit of an added boost.

4. Don’t be afraid to promote yourself. It’s your contest, and you’re the one footing the bills for the prizes, so don’t be afraid to “sell” your site to contest participants. Encourage visitors to check out your archives, invite them to subscribe to your RSS feed, etc.

5. Do whatever you can to create a buzz. When you first go live, consider sending a friendly announcement to friendly bloggers that might be interested (see also Tip #3 as added encouragement). Post regular updates/reminders. I even went so far as to post a sitewide link at the top of all my pages in order to draw in the random surfers that happen upon individual post pages and would otherwise miss out on the fun. The goal here is to convert random visitors into regular readers, so play any angle that you can.

So there you have it. While the dust still hasn’t settled, my investment is already paying dividends. I’ve seen a nice bounce in traffic and subscribers (both RSS and e-mail) have likewise been on the rise. If you’re looking for a fun way to promote your site, I heartily endorse doing a giveaway. But if you’re going to do it, do it right.

By jdroth

Over the past month I’ve made a few miscellaneous screenshots with the intention of writing larger articles about what they demonstrate. I haven’t found the time. Instead, I’ll post them here, for a lark.

The first three are Digg-related. I’ve been fortunate to have four posts reach the front page of Digg in the past six weeks. One of these was intentional (as in: I wrote it with the idea of making the front page of Digg) — the others were surprises.

Here’s what a Digg spike looks like in the short term:

As you can see, traffic was already high for this day. (My normal daily traffic is ~350 visits/hour.) I can’t remember which day and entry this graph is from, but I suspect the first big bump is Lifehacker-related. Then comes a late-evening Digg spike.

Digg traffic is a blessing and a curse. It’s always great to have thousands of people visit your site. But most Digg users are not in the target audience for Get Rich Slowly. They get to the site and they think it’s lame. That’s fine. But meanwhile they’re hogging up the bandwidth and, especially, the clock cycles that could be spent serving the site to somebody who cares. In fact, some Digg waves are so strong that they mess up a site something awful!

Basically, when a Dreamhost-based site is swamped by the Digg effect, the server struggles to keep up. Dreamhost may “throttle” a site, effectively limiting the number of requests it can process each second. When that happens, you can get goofy things like the image above. That’s the Technorati profile for Get Rich Slowly, which I retrieved in the middle of a Digg flood. You’ll note that GRS is now the blog called “500 Internal Server Error”. I love that.

What does a Sitemeter graph look like after a site has been dugg three times in a month?

To me, that’s jaw-dropping. Maybe Trent and Ramit have sustained traffic levels at a third of a million visitors per month, but I don’t. It’ll probably be a long time before I see trafic like that again.

There’s a lot of talk about how Digg visitors aren’t “sticky” — they don’t click ads, they don’t browse beyong the dugg page, and they don’t subscribe. The first two are true, but I’ve actually been pleasantly surprised by my subscribership numbers. Readers by RSS feed jumped 50% from the beginning of March to mid-April. E-mail subscribers nearly doubled. I suspect the Digg appearances had a lot to with that.

Finally, after the MBN forums were abuzz with an upcoming Pagerank adjustment, I decided to check how my sites would fare by using a Pagerank prediction tool. Imagine my surprise when I discovered that Animal Intelligence was going to rank as high as Google itself!

Hilarious.

Now that I’ve written about these images, I can finally scrub them from my hard drive!