Buying a Website

I’m advising a client who is buying a developed web site — content, domain name, all of it. It gets around 6k pageviews/month, so it’s not big, but he wants to make a partial living off its ad revenue. Super, let’s do this.

Ad Revenue GOOD (Hulk)

Yea, we all want ad revenue. So should we run Google AdSense ads and press the Easy Button, or make private ad deals by calling real people on the phone… doing it the old fashion way? The latter is going to be more lucrative. BUT you need to maintain relationships, invoice them, and take a paper check to the bank every month. So let’s do private ad deals. More work but more money.

Read the rest of this entry » »»»»» »

Tags: , , , , , ,

When Flash Strikes: Another SEO Disaster

The following is what I just emailed someone who contacted me about why their site isn’t showing up in the top 500 Google results for “interior decorator denver”:

I looked at your site, and it falls into a common trap: Flash. Because most of the content of your site is a Flash movie, there’s really nothing for robots to consume. They can’t look inside Flash (or photos, or images, or movies, etc.). So they return to the Google mother ship and pretty much shrug their shoulders when the mother ship asks “What is the site about? What terms should it rank for? How high?”

Sure, your designer put in meta tags, but a) too many and b) Google’s not going to rely blindly on them when nothing else says what the site is about.

Flash isn’t inherently evil when used sparingly, but when it’s the “everything” of the site, search rankings suffer.

That’s it in a nutshell. Common problem.

I know that Adobe is making effort to have Flash be more transparent to bots, but I kept it out of this email conversation because it may or may not be what the client ends up choosing to do. I’ll provide an array of choices.

We plan to meet next week and get him out of this SEO mess.

I’m not anti-Flash (I use it on this site), I’m anti-dumb-use-of-Flash.

Tags: , ,

Check your server that handles PayPal Instant Payment Notifications

From a client:

“We’re getting emails from PayPal that say Please check your server that handles PayPal Instant Payment Notifications (IPN). IPNs sent to the following URL(s) are failing. Matt, what does this mean?”

I’ve gotten the same warnings. I traced it to work I did long ago on my site that was just exploratory development work — i.e.: it doesn’t do anything on my server, not critical to my sites.

Read the rest of this entry » »»»»» »

Tags: ,

AdWords bids getting too costly?

I had two clients ask me what to do about this in two days. Here’s what I told them:

“Ramp up your bid per click every couple days until you’re comfortable, keeping in mind you might run out of comfort before you get good clicks. In that case, the market has bid those terms to a level above what you’re willing or able to pay.”

The market in AdWords for your term might be so small that a) some newbie idiot is bidding up the term for everyone, or b) the term might not be small, but people are willing to spend more than you per click and make a profit with their services. Probably their site converts better than yours, so for instance they make more money out of 100 clicks than you do.

My AdWords Bidding Advice is to

  1. Use misspellings and see if you can poach terms for cheap… for instance I bid on “vovlo” for my Volvo site.
  2. Try another text ad marketplace (sorry, no recommendations).
  3. Increase your site’s conversion rate so you CAN spend a couple dollars per click and still eat… put another way, make your site a better salesperson.
  4. Or lastly, forget AdWords and simply improve your site’s visibility and relevance to search engines.

Read the rest of this entry » »»»»» »

Tags: , , ,

Free Outstanding Pro-Level SEO Tool

For the next 22 hours, that is.

SEOMoz’s Open Site Explorer is free for the next 22 hours. It gives insanely good insight on why Google and the other search engines send (or don’t send) traffic your way.


Fix for Broken Permalinks after WordPress Server Move

The Permalink Problem

I recently moved a few WordPress 2.8.x sites from one server to another. Oddly, when clicking on individual blog entries, every one of them threw a 404 after restoring onto the new server. Index page was fine. Admin pages were fine. But any specific blog page was 404′ing. Hmm.

The Permalink Fix

Admin -> Settings -> Permalinks and clicked Default, then back to Month and name. That’s it.


My Suspicions

I really have no idea, and I don’t have time to investigate. Was it specifically the act of restoring the database (server environment agnostic)? Or was it the other way ’round? Or some other cause?

Tags: , , , ,

I Hate GoDaddy

Have I mentioned this before? Have I written about how the GoDaddy control panels are a Kafka-esque, spaghetti-like, flaming wheels-came-off-it mess?

Have I written before about how GoDaddy’s website and control panels are one gigantic, heaving, shrill, continuous upsell rivaled only by Cairo marketplace stall owners?

When I work on accounts hosted at GD, I sometimes spend more time fighting with and hunting through the various popup pages, menus, click-thru agreements and other insane GD crap than actually on making the website changes. True story.

Have I told you how much I hate GoDaddy?

Have I?

Have I?

Tags: ,

The Best Thing You Can Do for Your Site…

is this. That is to say, the Best Thing You Can Do For Your Site™ is get a nice writeup in a major daily. (Well, barring a nice writeup in a national outlet.)

The only thing Mona Lucero could have done better is cajole the Denver Post into adding her web site URL to the article, but those requests are difficult. If the reporter okays it, the editor may not.

I’d also like to qualify my point by adding getting in print like this is the best single thing you can do. I’d take six solid months of regular on-topic, useful blog posts over one newspaper writeup. In other words, if you’re going to go out and do one thing like get some press, don’t go to the church newsletter lady, get in your major daily paper like Mona did, or speak at your city’s annual business leadership forum or something.

(I’ve consulted with Mona on how to make photographs of her designs “in house”, so she can save money.)


Why I Don’t Want Your Password

(And Why You Shouldn’t Give it Out)

You want me to see your traffic, and you have Google Analytics (or some other reporting tool) tracking traffic on your site. Great! To save time and effort, you want to give me your login and password to go in and look. Totally understandable.

However, for professional reasons I’d rather have a legitimate sub-account login to see your Google Analytics traffic rather than have your master login and pw. Why? Two reasons: I don’t want to be responsible for changes/catastrophe to your GA account if something goes wrong down the road, and it’s just never a good idea to give out your password.

Read the rest of this entry » »»»»» »

Tags: , ,

Fast Server = Happy Users = Better Statistics

Visits +9.88%
Pageviews +46.19%
Pages/Visit +33.05%
Bounce Rate -9.29% (less is more with this metric)
Avg. Time on Site +3.14%
% New Visits -1.33%

Digest those numbers for a second. Did I start posting about John & Kate suddenly? No! I moved my Volvo site to a very fast server.

Those numbers represent yesterday (Friday, August 14th 2009) vs. the Friday before. That’s all. No magic or tricks, just a faster server. This may fall into the “No Duh” Department of Internet Research, but people are more likely to click around your site if pages get served quickly.

Search engines may send more traffic (Visits +9.88%), I’ll report on that soon when I have more data to make that call.

Tags: ,

Improve a Stock WordPress Install

A client asked me — now that his new site is working well and he’s comfortable running it — what improvements (tweaks, plugins, whatever) would I suggest to make it better? Here’s what I said:

  1. His site is not served from the “root“, so I recommended he serve it from the root. Example: don’t do instead do! If it’s not possible to serve from the root, it’s not a showstopper. SEO will actually not suffer if you don’t act. Your content is generally judged on how relevant it is + how many link to it + how often it’s freshened. The depth of the URL — at only 1 directory — shouldn’t matter. Do it for human readability reasons.
  2. A nice touch/eyecandy is a Javascript called Lightbox (link to WordPress plugin). You can see it here by clicking on the images. It can also act as a dumb gallery for sets of images. Works automatically — nothing for you to do.
  3. Your traffic may already be tracked by a server-side app like AWstats. Whether it is or not I suggest the free Google Analytics. Warning: Google will know your site’s traffic from the inside. I feel that using Analytics isn’t giving up my sites to the Dark Side, and that getting the (very, very powerful) traffic analysis is worth the trade. I use GA on all my sites.
  4. Many Twitter plugins like this one are available to display (presumably your) Tweets if you’re interested.
  5. Sitemap plugin improves SEO by writing to an industry-standard xml file at site root that search engines bots read and digest. I use sitemaps on all my sites. Highly recommended and nothing for you to do.
  6. Social bookmark plugins like this one add a “Share This” link on each blog post. I’m not crazy about these but there is no downside that I can think of. Helps SEO if the links are used.

MAMP Won’t Start Apache Fix

If you’re like me and changed MAMP’s default port to 80 from the default 8888 and found Apache not starting, go to System Preferences -> Sharing and uncheck Web Sharing.

With Web Sharing on, OS X was already running Apache, thus the inability of MAMP to start another Apache instance on port 80.mamp-apache-start

Tags: , ,

WordPress 2.8 Released Today

WordPress 2.8 “Baker” was released this morning. I tested it on a few mule sites first, including this one, and all updates went perfectly. I’ll have more regarding a 2.8 w/plugins Plugin Auto-Update Stress Test in the next day.

Best practices for upgrading WordPress

Download latest WordPress build, immediately delete wp-content folder(!). Then go about upgrading normally, which is to say backup web files and db, then simply overwrite all files and directories in your WordPress directory. Then go to the Dashboard and click the large, obvious Upgrade Database button. Upgrades take 5 minutes typically, start-to-finish.

Jealously guard /wp-content. It’s where your theme, plugins and image/media uploads live — the unique bits — and will not be touched if you nuke that directory when you unpack the latest builds.

Solution for query_posts() Breaking Things & Causing Havoc

According to my experience and WordPress support forum entries like , the very powerful and useful WordPress function query_posts() breaks several other features like search, next post/previous post, and maybe more. Ugh.

A client wanted their blog post page to show entries only from the current calendar week starting on Monday. So if it was Thursday, the index page would show posts from the last four days, Monday-Thursday. If there ever was a mission for query_posts(), this was it.

$weekstart = date("W");

(Put that above The Loop. It uses PHP’s date() function to get the current calendar week’s first day, which by definition and luck happens to be Monday.)

Fine, but hold on: search broke. A search would return nothing. Who was the culprit? Why it’s query_posts(). I was shocked, shocked (sarcasm).

Here’s how I got around it: I figured if I could make search use another template, one without the offending function, I’d be fine. I looked into that but didn’t find much (didn’t spend too much time looking though). Then I had a better idea: don’t move search, move the index page.

  1. create a new template with your troublemaking query_posts() on it, name it Home
  2. create a new page, give it the Home template
  3. in Admin -> Settings -> Reading set Front Page Displays Static Page -> Home
  4. return the template file index.php to its original state, or at least take off query_posts()

That’s it. Search works because it’s not using the offending template. Home works becuase I get to keep query_posts() on it to display the week’s posts like the client wants. Everybody’s happy.

Tags: , ,