Wednesday, July 11, 2012

SEO and SEM Interview Questions - Part 1

Almost a year ago, I switched jobs. I went from an in house SEO/SEM and everything guy to a SEO/SEM guy for an agency that provides those types of services for a lot of different companies.

Before I left the old position, I was tasked with finding my replacement. So I typed up some questions that I would ask the people who applied to the job. Some of the questions are general and some are specific

Here they are, along with the type of answer I was looking for.

General SEO and Website Questions

Q: What is eCommerce? What is your eCommerce experience?

I was looking for a simple definition. The answers I were told ranged from something like, "a shopping cart where you checkout" to "entering a credit card online".
A: Making a purchase on a website.

Q: Can you write HTML code by hand?

I didnt need someone who could build a dynamic site by hand but I think that being able to do a simple paragraph with some bold text and hyperinks can really tell you a lot about the type of optimizer you are working with.
A: Yes, but not anything super extravagent.

Q: What is your favorite web browser?

This is a question that doesnt have a right or wrong answer but it can still tell you a lot about people. Some answers were "Firefox" or "Mainly FireFox but I am trying to use Chrome more".
A: I personally use Chrome most of the time but I actually use FireFox and Internet Explorer too in order to check combatability and for different plugins and tools.

Q: What is on page SEO? What is off page SEO?

This is a somewhat tricky question that may not have a wrong answer. Well, I guess a wrong answer would be something that has nothing to do with search engines or something like that.
A: On page SEO are the things you can do within the website you own in order to help it rank for the keywords and phrases that you would like it to. Off page SEO are the things that you can do on other web sites towards those same goals.

Q: What is the difference between white hat and black hat?

This was an important question for me. I think that this will tell you a lot about how serious the person is about SEO. I believe that SEO's should stay within ethical guidelines and "follow the rules".
A: White hat is what the search engines have stated as being within their guidelines for search engine optimization. Black hat is generally unethical tactics to have a page rank. It usually doesn't work for long and can get you penalized.

Q: Who is Matt Cutts?

This is a pretty important question. Some of the answers I got were, "I dont know" and maybe "the Google Guy".
A: He is in charge of the webspam for Google and he often does videos for webmasters on YouTube.

Q: What is your favorite SEO website/blog, and why?

This is an open ended question. There were some that I were looking for but I was also hoping soemone would tell me a few that I didn't know about.
A: SeoMoz,,, and Search Engine Roundtable are a few good ones. There are actually a lot more.

The Wrap Up.. For Now

I have a lot more questions that I asked but I will save that for part 2. Tell me what your answers are in the comments below!

Saturday, March 31, 2012

Why Kajabi Didn't Work For Me

Okay well maybe not for me personally but Kajabi didn't work for a client (that I was setting up). I'll go over how we decided on Kajabi, what we needed and why it didn't work.

I have been following all the internet marketing "gurus" for a while now. People like Frank Kern, Andy Jenkins and a few others. Not just following either, but buying and/or subscribing to their products. So while I am in the middle of a big project which involved converting a site to Infusionsoft (a story I will save for another blog post), I needed a replacement for the Viral List Machine sequence we were using. Viral List Machine is a free php based script that is basically a clone of Frank Kern's Good Karma List Machine.

While I was a member of Frank Kern's List Control, I noticed that his system (pre launch, launch, etc.) was run off of a platform that did a lot of cool things. The system turned out to be Kajabi but it was in a closed  beta. So I opted in to the standard "notify me when available" form for the beta and went about my way.

It just so happened that while I was looking for my Viral List Machine replacement (that integrated with Infusionsoft), I received an email along with the standard launch emails from all the guru's about how Kajabi was going to launch.

Here is what we needed from Kajabi:
Opt-in integration with Infusionsoft
Membership site
Time released content

Now, Kajabi does actually have all those features, but with the way that we needed them to all work together, that system didn't work for us.

The main problem was that I couldn't use Kajabi to allow free signups and integrate with Infusionsoft. It seems so simple but alas, it wasn't doable. For full disclosure, this problem was probably about a year ago and Kajabi may have updated their system to allow for this type of interaction. All the other features of Kajabi were pretty awesome and they built out a very robust system. I went with InfusionWP (now iMember 360) to do what I wanted to.

Do you use Kajabi? Does it work for you?

Tuesday, September 6, 2011

Why Infusionsoft Doesn't Care About It's eCommerce Customers

It's really strange that a company so close to providing an all inclusive solution to small businesses would seemingly not put any effort into finishing the eCommerce portion of their product.

If you aren't familiar with Infusionsoft, they are a SaaS (Software as a Service) company. They provide a lot of really good tools for businesses. They have an amazing CRM (Customer Relationship Management) system and in the right hands, a company with a medium to large customer base could really boost profits using Infusionsoft. The list building, or data capturing tools they provide are great. Way better than Aweber but Aweber is also cheaper and is pretty much just for list building and sending emails to those lists. By the way, Aweber does those things really good. But this isnt about Aweber, I will save that for a different post.

So, let me state my case for why I think that Infusionsoft doesn't really care about their eCommerce customers.

Problem - The only integrated shipping API they use for real time rates is UPS.
If you have run an ecommerce store or sold a physical product online then you know that shipping options are a very important role in conversions.
Solution - Infusionsoft must integrate USPS and FedEx real time rates into its ecommerce system in addition to UPS..

Problem - They have a 10MB file limit for digital products.
So if you have a product in digital form, it better be less than 10MB.What if you sell a cd but want to offer it as a download too? Well you have to use a workaround, split the data into 10MB pieces. That is going to be a lot of files for your customers to download from you. The workaround I came up with works but it still sucks when a customer has to download 30 files to get the product they ordered.
Solution - Add more space. I am sure they could integrate with the Amazon cloud f they don't want to host all the data themselves.

Problem - No Google Analytics for the shopping cart.
Tracking what the visitors are doing on your site is big, like really big. If you run an eCommerce site, it's a requirement. Now Infusionsoft has a few different ways that you can implement their eCommerce system. If you use webforms for your customer to purchase, there is a way to enable Google Analytics in the "cart". I wont go into detail about their hosted store, if you use that then you are in trouble. You can also build your own site and then just use their cart, but that still sucks by the way, that's how I use their eCommerce system. So while the customer is on my site, I have Analytics data to see whats going on but as soon as the customer ads something to the cart and is taken off my domain then there is no data. So the workaround is to use funnels and different thank you pages.
Solution - Infusionsoft needs to pass the order information to the thank you page. Cmon guys, Google gives you everything that they need to have the info. Whats the problem here?

Problem - You cant offer free shipping based on order amount AND geographic location.
For example, I cannot offer free shipping to orders over $50.00 to customers in the U.S, that sucks. Since shipping overseas is so expensive, I cant just eat the cost. So all my cusomters in the U.S. miss out on a good deal.
Solution - Allow us to setup zones for criteria in which the free shipping based on order amount works off of.

Problem - Managing orders as a merchant sucks.
In any ecommerce system, there should be an order status.  Merchants need simple ways to see whats on backorder or how many canceled orders they had last month.
Solution - Usually an order status is something like Pending, Completed, Canceled, etc. and really, the merchant should be able to define and add the order status' that their eCommerce store uses. This was its easy to instantly see the status of an order or orders.

But.... but......but.....
Of course you could go API mode with Infusionsoft. Completely write your own shopping cart, including tying into UPS, USPS and FedEx. But if you have enough time and money to do that, you might not want to be using Infusionsoft. Or to take it a step further, sell the cart you created as an awesome eCommerce platform.

The problem is that Infusionsoft is still good, but it can be great!
I am not trying saying that Infusionsoft is a bad company. They have great support and again, their CRM is awesome. I just want to let them know that they have a big hole in their product. We all know that they have the means to provide a better eCommerce system. So why don't they? And dont give me the standard, "We are workign on it". I have seen those replies to customer questions in the Infusionsoft help area. Well, I used to be able to see them until Infusinsoft decided to change they way the community help section is organized. Now all the old questions and answers (and unaswers) are gone.

Leave me a comment and let me know if you have anything to add or argue over. Or you could just point out my grammatical errors and make fun of me, its all good.

Sunday, October 24, 2010

Getting Data from Zen Cart via mySQL Queries

I have a project where I need to move data from a few Zen Cart installations to Infusionsoft setup. It's pretty easy to import data into Infusionsoft, you just have to decide what you want to import.

Zen Cart is a shopping cart that has a goal of being easy to use. While it is still on its way to that goal, many non-technical people use it and run an e-commerce site without too many problems. There is no built in way to export data out of Zen Cart and the modules available still require some customizing to get exactly what you want. An easier way would be to log in to your database via phpAdmin or some other external program that accesses your database and query the database for exactly what you need.

Here is an example query:

SELECT zen_customers.customers_firstname,
zen_customers, zen_orders, zen_orders_products
WHERE zen_customers.customers_id = zen_orders.customers_id
zen_orders.orders_id = zen_orders_products.orders_id;

I will try to explain this for you.
SELECT is a kind of self explanatory. It means what you want to select, kind of like, "I want".
Then there are some words before a period. That is the table you want data from.
The words after the period is the field that contains the data. If this was excel, think of the table like the "sheet" and the field as the "column".
FROM is also pretty self explanatory. It means "where from".
WHERE might be a little tough for me to explain. Since the query is asking for data from three different tables, I have to add some conditions to the query so I don't get a large output of data that doesn't match up.
The AND is another condition included in the WHERE.

Here is another query example:

SELECT zen_customers.customers_firstname,
zen_customers, zen_orders, zen_orders_products
WHERE zen_customers.customers_id = zen_orders.customers_id
zen_orders.orders_id = zen_orders_products.orders_id;

That query will give the Customers first and last name, the date they purchased, the product they purchased and the products price.
Since the data is coming from 3 different tables, there has to be something in common that is setup by the WHERE & AND lines.

I wanted to write about this so I could remember how to do it and help anyone else that was looking to do something similar.

Tuesday, January 26, 2010

Wildcard Subdomains on Godaddy and Parallelizable Requests

So I wanted to speed up the pages on one of the websites I run. This page has a lot of images on it. So I decided to parallelize the image downloads for the browser.

Lets say you have 50 images on a page all with <img src="" alt="SEO ALT TAG" width="320" height="240" title="SEO TITLE" />. Well a browser can only make a few requests to the domain at a time so the browser will download the fist few images at the same time and then create a queue for the rest of the images on the page to be downloaded.

So the solution is to create subdomains that resolve to your website. What we want to do is give 2 (or more) ways to get to the same place. An exa,ple would be would be the same as, get it?

Now some hosts let you add a wildcard for the CNAME on your domain. Something like:
Alias name = *
points to host name = @
TTL= 1 hour

Unfortunately GoDaddy doesn't allow this. Or do they?

You can create a wildcard for the A (Host) record. So you would have something like
 Host Name = *
TTL = 1 hour

See.... I have a dedicated IP address so I am able to do it. Now will pull up my website.

So now I can code the page with a bunch of images on it a little differently. Maybe something like:
<img src="" alt="SEO ALT TAG" width="320" height="240" title="SEO TITLE" />
<img src="" alt="SEO ALT TAG" width="320" height="240" title="SEO TITLE" />
<img src="" alt="SEO ALT TAG" width="320" height="240" title="SEO TITLE" />

Its just a little shortcut to help your page load quicker. Since you (and Google) want the users of your website to have a good experience, making your pages load quickly should be important to you.

Of course, if you have dynamic IP address for your domain you could always just add a specific CNAME (subdomain) and use that for your "<img src=".

Thursday, October 30, 2008

Use .htaccess to block an IP address

So the other day, one of the websites that I oversee was getting card slammed. Card slamming is when a "hacker" repeatedly tries credit cards on an e-commerce site until they find one that works. This particular person was trying about 80 different credit card. Some of the transactions were going through but I canceled the orders and voided the transactions with the merchant processor. Luckily, Zen Cart can tell you who's on your store and their IP address. So I was able to block the IP addresses of the person or persons card slamming my store.

Add this to your .htacces

order allow,deny
deny from XXX.XXX.XXX.XXX
deny from
deny from XXX.XXX.XXX.XXX
allow from all

That's it! You can do 1 IP address or 2 or 3 or more. Just to test it, I put my IP address in there and sure enough I wasn't able to access the site. Now of course the "hacker" was using a proxy server to access my website but if you notice the attack and react quickly the "hacker" will probably get discouraged and move on to some other website.

Wednesday, October 15, 2008

Simple 301 redirect in .htaccess for apache

As a webmaster looking at my "Not Found" links under Web Crawls section of Google's Webmaster Tools I noticed there were dead links. I had already gone through my entire site to make sure there weren't any dead links but for some reason Google was finding dead links. Then it struck me, this was a domain that we purchased from someone else. The dead links were incoming links to pages that no longer existed. I want those incoming links but don't want to have to contact the webmasters of the websites with the incoming links and tell them to change their links. Even if I did, they may not change the links anyway (and what if its an old blog post from some long gone user)?

A "301" redirect is telling search engines that a page or file has permanently moved. This is good for SEO (Search Engine Optimization).

In comes your .htaccess file. A simple 301 redirect telling the browser, robot, spider or whatever that page A is now page B. Here is how:

Add a line in your .htaccess file like this:
Redirect 301 /oldpage.htm

Thats: "Redirect" [space] "301" [space] "/" (directory)"File"(old page thet you want to redirect) [space] "New File" (the new destination page)

This makes it so that when some goes to they are redirected

You get to keep that incoming link without having to ask someone else to update their code or having to create a page with that exact page name then do a meta refresh (I don't like those anyway).