Archive for the 'SEO' Category

New Onomojo design services

Thursday, April 17th, 2008

Its been a long time coming but we’ve finally got our new site design finished for Onomojo. We’ve also expanded our services to include graphics design, logo design, web design, and a whole slew of other graphics related services. That’s in addition to the services we already provided which were primarily programming, seo, and marketing related. Here’s a screenshot of the new design.

Onomojo screenshot

A quantitative look at SEO vs. PPC

Tuesday, March 4th, 2008

I’ve been through the ropes when it comes to SEO and PPC advertising (particularly with Google’s Adwords). Clients come to me either looking for SEO or online marketing solutions. Their objective is obviously to increase their sales and they want it to happen yesterday. The first thing I look at is where a site is currently ranked in search results for their targeted keywords before beginning any SEO or PPC campaigns. I like to also take a look at their Google Analytics data to see what’s already working well for them and to get a perspective of the volume of traffic they’re dealing with. Some business have none of these things setup and are simply trying to make a push to increase online revenue. Whatever their motivation the objectives are all the same and the same techniques apply. Except, however, for my recommendation for PPC ads.

Small businesses which don’t get much online traffic are usually looking for a quick fix and instant gratification. I usually take the time to explain the benefit of SEO and link building to these companies but in the end they usually choose PPC advertising. I’m not against PPC ads but I do have a pretty quantitative reason for trying to dissuade some of my clients from pursuing that route. From my experience, PPC ads only work if you have a high return on a product that has a high conversion rate per click. In essence a high ROI. The problem for many small businesses is that they sell low dollar items which themselves produce a small profit margin.

Lets take a small handmade soap manufacturer as a perfect example of a small business looking to expand their sources of revenue by setting up a shopping cart. A company like this might make a dollar on each bar of specialty soap sold. They aren’t likely to have huge resources like a large technology corporation so their budget for the project is relatively small. Lets say less than 5k USD. Part of that covers development costs and the rest ends up in limbo while I exude the benefits of SEO over PPC advertising to the client. From the perspective of a business if someone tells me to spend a few thousand dollars and it’ll pay off in maybe 6 months but they can’t guarantee first page placement my natural business sense tells me to tell this person where to go. My alternative is to pay per click advertising which will result in instant traffic and likely increase my sales immediately. The choice is simple in that regard and its why many small businesses with little understanding of online commerce end up abandoning their get rich quick online schemes.

Lets dig a little deeper into PPC ads. Lets assume a bar of my handmade soap costs me $3 and my typical order contains 3 bars of soap. Lets also assume I make $1.50 off each bar of soap I sell. Those numbers are pretty realistic examples. I now want to start an online marketing campaign and put in 3k USD to PPC ads for a month. That means I need to sell 2000 bars of soap in a month and have about 666 orders with 3 bars each on average. If we stretch those orders out over the entire month then I need to get about 22 online orders a day to simply break even with my PPC advertising campaign. Now lets look at the budget I have allocated for the month, $3,000. That’s about $100 a day. Lets assume that with my amazing skills I’ve managed to optimized my Adwords campaign so well that I’m getting an average CPC at $0.40. That will give me about 250 visits a day just from my Google Adwords campaign. If 22 of those 250 visitors placed orders that would make my conversion rate 8.8%. Depending on the industry that’s a pretty high conversion rate for online sales. Now take a look at what we just went over. This looks at what we need to just break even and we had to make some incredible assumptions like our amazing CPC at $0.40. A average CPC of $0.60 to $1.20 is more realistic for the targeted keywords but we gave ourselves the benefit of the doubt for this example. We still needed a 8.8% conversion rate which isn’t too probable. Its an example where some simple upfront analysis of the numbers will tell you that my $3,000 is better spent doing some SEO and link building so that I can get natural free search traffic that will last longer than a single month.

Lets take an example of a high dollar product, travel. People spend about $1500 on a travel sale and per sale I may make on average 10% or $150. The example above needs to be modified to have an average CPC at $2.00. If I need to make $100 a day in sales it means I need to make just 1 sale a day or 2 every 3 days. If I’m spending $100 a day on ads with an average CPC at $2.00 I’ll get about 50 visitors a day. If I need just 1 sale from those 50 visitors that’s a conversion rate of 2% which is certainly much easier to get than the 8.8% I needed from selling soap. This campaign has a high likelihood of succeeding and will probably be well in the black at the end of the month.

Travel has a high profit margin and requires a low conversion rate which is why PPC campaigns work for it. Soap has low profit margins and requires a high conversion rate to simply break even so a PPC campaign isn’t likely to succeed. My soap business will end up negative at the end of the month and I’ll likely be bitter at the waste of the small investment I made towards PPC ads.

In summary, SEO is the way to go for small businesses selling products with small profit margins. Its a more calculated and well thought out method of generating sales online. The benefits may take time to show but the payoff is that your online business may actually succeed. PPC ads on the other hand will have you bleeding money with little chance of ever turning a profit.

Googlebot and redirect_to :back

Thursday, February 28th, 2008

The other day I noticed a pretty significant SEO related problem with using a built in Rails construct. I noticed a problem when I started getting application errors that were letting me know that the user agent was none other than our friendly Googlebot. A closer look at the app shed light on a problem you may not have even expected. When using

[source:ruby]
redirect_to :back
[/source]

it will take a look at the HTTP_REFERRER and redirect the user to that url. The problem, however, is that Googlebot doesn’t send a referrer and neither do a whole bunch of other search engine spiders. The result is that when they visit your site they get a nice 502 server error because Rails raises an exception. It doesn’t know what url to redirect to so it send a 502 error. Googlebot then sees your site as a bunch of 502 errors in the situations where you’re using redirect_to :back. Take a look at the Rails API and you’ll see the last line clearly mentions this.

The solution is to catch the RedirectBackError the redirect_to raises when there’s no referrer. Its a simple fix but one you need to be on the lookout for or else you might end up with a few 502 errors giving you bad mojo with the Google gods.

Google Base on Rails

Wednesday, December 19th, 2007

I was surprised to come up empty handed when searching for a Google Base Rails plugin. I wanted something that would allow me to easily create a feed into Google Base using their API. I didn’t find anything so I took the quick and short term solution and created my own Google Base xml feed. Its based on RSS 2.0 so its not incredibly difficult but I could have saved a few minutes if it was already written for me so here it is. My Google Base xml generator in Ruby on Rails. Its not complete and only has the fields that I specifically wanted for my products. Your feed will likely contain other fields so check the Google Base docs for more information on customizing it. You’ll notice that I thought Google Base was going to pull my xml feed when I initially wrote this but it turns out I have to use the API and this is just good for generating the xml file which you then have to manually upload to Google Base.

First, I added this to route.rb
[source language=":ruby"]
map.connect ‘google-base.xml’,
:controller => ‘google’,
:action => ‘base_feed’
[/source]

Then I created controllers/google_controller.rb
[source language=":ruby"]
class GoogleController < ApplicationController
def base_feed
@products = Product.find(:all)
end
end
[/source]

And finally, I create views/google/base_feed.rxml
[source language=":ruby"]
xml.instruct! :xml, :version=>"1.0"
xml.rss(:version=>"2.0", ‘xmlns:g’ => "http://base.google.com/ns/1.0"){
xml.channel{
xml.title("My Site products")
xml.link("http://brianmcquay.com/google-base.xml")
xml.description("My products are better than yours. You can touch them but I have to charge.")
xml.language(‘en-us’)
for product in @products
xml.item do
xml.title(product.name)
xml.link(product_url(product.id.to_s))
xml.description(product.description)
for photo in product.pictures
xml.tag! "g:image_link", photo_url(photo.id)
end
for category in product.categories
xml.tag! "g:product_type", category.name
end
xml.tag! "g:price", product.retail_price.to_s
xml.tag! "g:id", product.id.to_s
xml.tag! "g:payment_accepted", "Visa"
xml.tag! "g:payment_accepted", "MasterCard"
xml.tag! "g:tax_region", "Hawaii"
end
end
}
}
[/source]

There are obviously calls to helper methods in the base_feed.rxml file like product_url and photo_url. I use those so I can easily generate pretty seo urls anywhere I need them. You’ll need to replace those with however you create your urls.

This should suffice for at most 31 days when all the products I just added will expire in Google Base. I doubt I’ll bother creating a Google Base Rails plugin unless I see a noticeable increase in traffic and sales so don’t hold your breath.

SEO, online marketing, and web development

Thursday, November 15th, 2007

I’ve been meaning to write about this for quite a long time but somehow never seemed to get around to it. I started a SEO, online marketing, and web development company called Onomojo a while ago. I’ve just been so busy since its conception that I found it hard to find the time to blog about it. I’ve decided to take a break from the hustle and bustle of the routine and say a few words about us.

seo, online marketing, and web development company onomojo screenshot

We offer a complete marketing package for online businesses who are looking to increase their exposure and increase their revenue. A lot of businesses throw money at expensive marketing firms and end up with little to show for it. We found that in most cases the marketers weren’t developers and the developers weren’t marketers. Onomojo is different. We are all programmers, designers, and marketing professionals. This gives us an edge and the ability to offer complete marketing packages that complete the necessary learning loop to achieve success.

Any successful business must learn from what it does right and learn from what it does wrong. When your marketing agency has to communicate their wishes to developers the intentions are often lost. Programmers aren’t typically interested in the marketing aspect of development. Marketers usually have no clue how to program or design. We are different. Our developers have a passion for SEO, marketing, graphics design, and everything else it takes to make a company successful. Our feedback loop of what works and what doesn’t is extremely short with a complete package. We learn from the marketing and SEO and we directly apply that learning to your site design and content. We take learning from CPC ads and traffic analysis and we apply those lessons learned to make your site more effective. Onomojo offers complete online marketing packages for business looking for a competitive edge. Visit our site at http://onomojo.com and fill out the contact form for more information on what Onomojo can do for you and your company.

Google algorithm update

Saturday, November 3rd, 2007

For those of you paying attention to the latest changes Google has been making you may be wondering what’s been going on. Some have speculated that they’ve been cracking down on paid link exchanges for high page rank sites. That may be part of the change but it certainly isn’t all of it. Besides updating page ranks they’ve also modified the weight they give to external links. For a while they were giving huge weight to good internal linking structures so everyone starting having really good internal linking. Now they’ve shifted their focus again to increase the weight of external links to your site. This might not be a direct algorithm change but could be a side effect of a page rank update. I’m thinking that as the page ranks become stale the weights on external links diminishes because they are less certain of the reliability of those external links. When the do a page rank update those external links count more. A natural side effect of a page rank update. They count more because they just updated them so they’re much more valid than they will be four to five months from now prior to another pr update. So if your ranking dropped as a result of the latest changes (but PR stayed the same) then I suggest you focus on building some better external links into your site. If your ranking increased, don’t just sit pretty and smile at yourself because you’re getting more traffic. You need to start solidifying your position by creating more content and continue working on your internal linking strategy. If your ranking pretty much stayed the same then you need a magic 8 ball because I have no answers for you.

On a side note, from my analysis of current traffic and ranking on many different sites it appears as if Yahoo’s rankings have also been adjusted. This is less than a week after Google’s latest update. It seems odd to me that Yahoo rankings are adjusted along with Google’s. I’ve seen sites who’s page rank go up yet Google traffic go down while at the same time Yahoo traffic increases. Could this be some sort of link between Yahoo rankings and Google rankings? What purpose would Yahoo have in learning from Google ranks? Well, if they had a method to their madness then certainly they could combine learning from Google ranks with what they believe to be good and bad sites to improve their own algorithm. Search engines are always trying to improve and filter out spammy sites. Yahoo does a much better job than Google when it comes to this. Their index is slow but steady. Google freaks out over every minor change you make to your site. Put a page up and a day later you take it down? Google flips out and tosses you into the 404 trash bin of junk sites. Yahoo is much calmer and collective when it comes to their index. It takes longer to get into it but when you are in you don’t have to worry about Yahoo freaking out because your site has a 404 or two every now and then. Its one of the biggest things that upsets me about Google’s index. The web is dynamic not static. If I put a page up today and take it down tomorrow it doesn’t mean my site is junk or isn’t worthy of high rankings. It means I’m adaptable. Some things work. Some things don’t. That’s how you develop a good site. You find out what works. With Google index though, if you publish something you better be damn sure that you want it to be online forever or else.

Another note, the proper way to remove a page from the net without Google pissing on you is to first remove all links to the page. Wait a few weeks. Even though some people claim Google updates their index continuously it isn’t true. They cache pages and base their indexing off of those cached pages. You need to wait weeks before Google goes through and updates all the cached pages it has for your site. It may continuously update its index based on a tiny subset of its index (say your main page to get the latest blog) but if you remove a deeply linked page it will take a while for it to work its way out of the system. Next, you’ll want to submit a url removal request with Google using their webmaster tools. Finally, once you’ve waited long enough you can remove the page. This procedure is completely ridiculous by modern standards. Google has some serious catching up to do with other search engines in my opinion. Their indexing is inherently flawed and their results are littered with junk spammy sites. Oddly enough as far as search results go Yahoo has much more relevant results and has a much more reliable algorithm than Google could ever hope for. Google needs to take a lesson from Yahoo on search. They seem to have focused on everything but search since their IPO. Its time to get back to your roots Google and fix the problems with your search that we’ve known for some time. They’re lagging and leaving the door completely open for a rival to move in. Someone just needs a better algorithm and enough momentum.

Open Source Keyword Tracker

Tuesday, October 30th, 2007

I’ve reached my limit of frustration with current keyword trackers. The technology is simple enough that it baffles my mind why so many keyword rank trackers are for profit. There doesn’t seem to be a single decent instance of an open source keyword tracker out there that I could find. I want something open and that can run in Linux of course but my searches have left me empty handed.

I’ve started designing my own keyword tracker as a result. I will release it under the GPL because I like to keep it real like that. It will be a Rails application and I will host a version for people to use free of charge (with some limitations so it doesn’t kill my servers). Basically, you can extend the app by creating a Rails plugin for it for different search engines. I will just write one for Google for starters. Hopefully I can get some community support to get more search engines working for it. I’ve got the database mostly planned out and will be starting the project in the next week or two. I will make an instance of Trac to help the collaboration and issue tracking.

Basically, I’ll be creating something that will have multiple users. A user can login and enter a new site or track an existing site. Each site has a set of keywords which the app tracks over time. I want graphs of the keyword activity over time and I want the ability to import keywords and export the rank history. If anyone is interested in helping me out on this project just comment on this post to let me know and I’ll set you up with a Trac account so we can get started.

404 error checker and site crawler

Friday, October 12th, 2007

Google punishes sites heavily for 404 errors. By the time you realize your site has an error its usually too late and you’re already being punished for them. I suggest you stay proactive on your 404 errors and use a link checker. I found this extremely useful tool. Xenu’s Link Sleuth. It basically crawls your entire site for every single internal and external link. You can chose to ignore external links if you want as well and just focus on internal links. It even visits images and mailto and just about anything that has a ‘src’ or ‘href’ in the html of your site. I considered it a nice toy when I first used it but when it quickly found numerous serious 404 issues on a few of my sites I upgraded the importance of this tool in my toolbox. This will keep you ahead of the curve instead of constantly playing catchup. Try it out on your site and I guarantee you’ll find 404s you had no idea existed. It shows you all the sites that have the bad links on them as well so you know where to go to correct the problem. Best of all this software is free! Its a Windows application unfortunately but any self respecting web developer has virtual machines with different operating systems on them, Windows being one of them, so that shouldn’t be much of a problem if you’re a serious developer.

The future of search

Tuesday, October 2nd, 2007

I’ve been ranting and raving lately about how Google’s search sucks. There are numerous reasons but lets just focus on relevancy of the results for this rant. Anyone using Google lately has seen the spammy websites that come up on search results. By spammy I mean those sites which are nothing more than screen scrapers, web directories, google adwords pages that use search results to generate static pages with scraped content mixed with more adwords, and on and on. Most of these junk sites have tons of Google adwords all over them and so of course why would Google care if they are ranked #1? They don’t and that’s precisely the problem.

I’m rambling on about Google because anyone with a profitable website knows that Google is your primary traffic driver (most of the time of course). Google used to weight external links to your site very heavily. As a result, people started creating link farms and easily getting around that. External links still count of course but more for going from one tier to the next in their ranking scheme. Yes, there are multiple tiers. Relate that to primary and secondary indexes and you’ll know what I mean. Since everyone realized how easy it was to fool Google with external links to your site they altered their algorithm ever so slightly over the years to make internal linking much more important. That’s why you see all these junk sites now a days. They’re is a very straight forward way to create a site with a good internal linking structure. Think of tags, relevant tags, and similar concepts along with your traditional site hierarchy type linking structure as the way to create a well connected internal linking structure. Google will eat this up and the junk sites that employ this sort of design are proof that they rank internal linking much higher than external links to your site.

Now what’s one to do about all this mess? People and business are always going to find ways to get ranked high in search engines. Its the name of the game in online commerce. As a result, there will always be junk sites like the millions that Google is indirectly creating (because their algorithm favors them). The solution that I see is a combination of ideas that are already present in their own forms in one way or another. Search results need to learn who I am and what I mean when I use certain word. For instance, searching for the word ‘rails’ might mean I’m looking for trains or it might mean I’m learning about Ruby on Rails. A good search engine of the future would learn from my search behaviors and somehow be able to pick the context out of the words I’m using. It needs to learn what sort of sites I favor over others. I hate Google adwords junk sites yet I get them all the time. This sort of site structure along with its abundant links to Google’s Javascript for adwords could easily be understood as something I would rather not see. Learning will be key to the future of search.

I mentioned understanding the context of my words without me providing context (rails). That implies that search engines will need to figure out some type of semantic meaning from pages other than just words and what words are near them. That’s a problem that some are already attempting to solve. Its a huge scalability problem though since parsing semantic meaning takes much longer than a simple dumb indexing of words like Google does. The future of search will definitely include semantic meaning whether it just be a more sophisticated word indexing that effectively achieves semantic understanding or one that truly parses out sentences for parts of speech and such. Combine that with a little machine learning and you have yourself a pretty good search.

Finally, some suggest that social bookmarking and rating sites such as Reddit are the future of search. I disagree. Mob rule is never good. However, if it were to create a hidden set of like minded individuals for me (based on who means what with their search terms) it could get a better understanding of who I am and what I mean when I say lisp. Then again, what happens when I’m a geek all my life and I suddenly have a kid who has a lisp. Will it always be up to the user to figure out how to find their results? Will businesses and individuals always be able to ruin search engines with junk sites that have figured out the algorithm? So far that’s the case. A little learning and a little semantic understanding should do the trick though.

Problems with non-english characters in urls

Thursday, September 27th, 2007

I have a site that used non-english characters in the url. They were basically characters in Spanish for the names of things. Some had little accent marks on them and such. Anyway, everything worked fine in my browser using those characters in the url. My browser sees a link with the strange character and it escapes it to something like %3d. Great. The problem though, is that if I change my default character encoding to say Traditional Chinese that same character gets escaped into something completely different like %8f. That’s no good because when they try to visit that url it doesn’t always go to the same page. Why? I’m not entirely sure but I suspect its Apache or Rails translating that url using a certain character encoding.

Logic would tell you that I should just put the character encoding in the html headers right? Yes, that works in theory. Everything works in theory though. In practice, not every browser or spider actually listens to that. I mentioned spiders because some spiders will automatically assume a particular character encoding and do the same thing as a browser with the default character encoding set. What to do? What to do?

My solution was to just get rid of all non english characters. No one is accidentally escaping an ‘a’ to %ef. So far the solution is working out fine. I don’t entirely like the urls now but its better than having characters being escaped improperly by browsers and spiders.