Never Ending Thoughts…

blog site of ellipsis solutions

Things To Consider While Naming Your Website | The Dance of TLD and SEO

When people start a new business, one of the first common questions that come to their mind is “Should I create a website?”. The next common question that comes is “What should I name my website?”. And that’s where things start becoming fancy. People start worrying about how it will impact their SEO efforts, and all other things around it.

In this article, I will go over some of the common myths that are still lingering on the Internet (thanks to old and stale blogs) and help you come up with some great names for your new website!

Step 1: Name Your Website Close To The Name Of Your Business Name

Let’s forget about the Internet for a second. Let’s think about what came to your mind when you incorporated your business at your local county office. What name did you choose and why? It could be “Wendy’s Lemonade” or “Joe’s Rock Pub” or perhaps “Catchy Clips”. Whatever it be, I’m sure you had something in mind while coming up with that name. Of course, the name has to be unique and not registered before. In addition it has to be attractive and must be related to what you do so that people don’t get confused. For example “Joe’s Barber Shop” is probably not a right name for an automotive repair shop. This is just simple common sense.

And the same concepts apply in deciding the website name. Ideally your website name should be very close to your real/physical business name. However there are limitations for example as far as special characters go, websites only allow a hyphen. In addition, you can’t have a website with all numbers and so forth. Also you can’t have spaces. So come up with something close enough. For example “Catchy Clips” can have a website named www.catchyclips.com and so forth.

If the name becomes too long and hard to type, then perhaps you can shorten it. For example “Kelly and Jones Antenna Shop” can perhaps have a website named “kjantennashop.com”.

Look at the paypal example. The business name is PayPal. The logs clearly shows on the PayPal building. The same shows on the website and even on the favico.ico. the website name is the same too.

PayPal Business & Website

Step 2: Watch out for names that would easily get misspelled

The fact that you can't have spaces in website names creates one very big problem - that is the problem of people easily misspelling the website name. For example if your business is "Lee Eve's Evening Dresses" then naming the website as "leeeveseveningdresses.com" is probably not a good idea. One of the most common reasons of SEO not working for some people is just simply the fact that their website is hard to type or remember!

When coming up with a website name, pick at least three variations of the same name. Show the options to your close friends. Or better, talk with a SEO Expert and he/she will be able to help you out.

Step 3: Think of names that people would easily remember

Look around and you'll notice the best and ever lasting businesses around the World have one thing in common. Their names are short, simple and easy to remember. Be it Ford, Disney, or even Google and Facebook. They all are easy to remember and write. And it's not that because they have been there for quite some time.

Step 4: Don't stick with only the ".com"

Many people think that if the website name they had in mind is already taken, then it's the end of the World and the only alternative is to find some other domain name. That is not entirely true. For example, you might be able to find your website on the .ws or .net domain. However, it might not always make sense to go with an alternate TLD. For example, if you have a business in United States, having a domain of .in or .co.uk might confuse visitors. Moreover, some smart spywares might even label you as a hacker! So in reality you might really have less choice; but do look around. Spend plenty of time because this is going to be the domain name you are going to use on your next big effort - Search Engine Optimization (aka SEO). So better take the time and come up with a good website domain and stick with it.

Step 5: Try to keep the name close to the content you are going to put on the site

A website with domain name "freebeer.com" that talks about ladies purses will probably get low ranking and hence SEO efforts are going to cost much more time and effort. No one can stop "freebeer.com" to still pop up at high rank in the SERPs when it eventually gets indexed and starts showing up when people look for ladies purses. For example searching for "imac deals" might pop up "apple.com" because the content on apple's website is related to imac deals, however the word "apple" itself is misleading. But then you are talking about a company that has been there for over 20 years now and is pretty much known by everyone. Until you reach to that level, or until you think you have an idea that is so revolutionary that the name doesn't matter, go with what makes sense; that is, picking up a name that would match with the content. This philosophy will work for over 80% of the people out there.

Step 6: Website names still change. Then what?

No matter how hard you think, names still do change. Even if you have a great idea, chances are that you will need to change the name after few years (at least that's what the normal trend has been). So in that case, what do you do? The answer is "301 redirect". A "301 redirect" is a method that tells the Web Server to redirect a particular URL to another URL in addition to telling the client (in most cases your web browser) that the resource you are trying access has been permanently moved to another location. This is lot of benefits as compared to normal redirects. First off, this is much faster than putting a HTTP meta tag based redirect. Secondly, it is safer because the redirect logic lies on the server side, not in the browser. And most importantly, since it lies on the server side, it's a more "respected way"; in other words, search engines won't ding you for changing the name to something that doesn't match your content. You will still have all your back-links and SEO efforts intact.

This is how a typical 301 redirect look like on your Web Server's .htaccess file:

Redirect 301 /oldpage.html http://www.example.com/newpage.html

And Last but not the least: Stop worrying too much about it!

Think of your website as the "virtual representation" of your "real business". You perhaps clean your store, make sure that the latest products are out on the Window. Make sure your staff comes on time and greats every one. The same philosophy holds true on websites. So stop worrying too much and stop trying to find and hire people who will claim that they know the secret recipe behind SEO; because that's not what you should be looking out for. Instead focus on your core business and try to reflect that as much as you can on your website and in your domain name. And Wonders WILL HAPPEN.

,
September 12, 2011 at 10:19 am Comments (0)

Login With PayPal Using PayPal Authentication Service

PayPal is trusted by over 90 million users world wide. All of us know having “Pay with PayPal” helps building trust in the consumer’s mind. They are rest assured that you are a legitimate and a PayPal verified merchant. Now how about earning more trust from your visitors by providing them a “Login With PayPal” functionality? It might sound a difficult and involving task but fortunately PayPal has made it very simple by providing access to their Authentication Service.

Both our products, ellipsis dive! and ellipsis AdNet use this functionality. Check them out by simply clicking here:

ellipsis dive! - http://apps.ellipsissolutions.com/dive

ellipsis AdNet – http://apps.ellipsissolutions.com/adnet

Here are the steps to implement this in your website. I have provided the sample code in Java Servlet. But you should be able to do this in pretty much any programming language.

Step 1: Create your App on x.com

http://x.com is PayPal’s Developer Network Site. Simply log in using your current PayPal account and click on “My Apps” link and create an App. Select Identity Services and provide your Realm URL. It would be something like http://<your website>/*. It will take a few days before PayPal verifies everything and approves your App.

Step 2: Write the Servlet

The Servlet below should be invoked when the visitor clicks on the “Login With PayPal” link/button on your website. Unlike the standard PayPal buttons that PayPal provides, there’s nothing available for the Login Functionality. So feel free to come up with your own!

The Servlet does the following things:

A. Gets an Authentication Token

B. Redirect the user to PayPal’s login page using that Authentication Token

C. Provides PayPal a Return URL. This is the URL that PayPal hits on successful login

D. If the response in the Return URL is a success, then use the Authentication API to pull basic information about the logged in user (such as name, email, etc.)

—–

Keep in mind that PayPal Authentication Service based Login is not a way to implement “Single Sign On”. It merely “authenticates” the user and let’s you know that the person is a legitimate PayPal user. “True Single Sign On” functionality can be built using technologies such as “Open Id” or “OAuth”.

—–

Step 3: Deploy the Servlet

I am skipping this part and assuming that you are a seasoned web developer and know what you are doing. However if you have any questions, please do not hesitate to ask! There’s always a “first time” and no question is dumb!

package <your package>;

import <all the relevant imports -
         your IDE will tell you so am stripping them
         from here to save space>;
// I am using Apache HTTP Client to make HTTP GET/POST calls

public class LoginWithPayPal extends HttpServlet {

    protected void doGet(HttpServletRequest req,
            HttpServletResponse resp)
            throws ServletException, IOException {
        doPost(req, resp);
    }

    protected void doPost(HttpServletRequest req,
            HttpServletResponse resp)
            throws ServletException, IOException {
        if (req.getParameter("auth-resp") == null) {
            HttpClient client = new HttpClient();
            GetMethod method = new GetMethod(
                    "https://api-3t.paypal.com/nvp?" +
                    "USER=<your API user name>" +
                    "&PWD=<your API password>" +
                    "&SIGNATURE=<your API signature>" +
                    "&VERSION=65%2e1" +
                    "&RETURNURL=http://<your website>/" +
                       "loginwithpaypal.servlet?" +
                       "auth-resp=success" +
                    "&CANCELURL=http://<your website>/" +
                       "loginwithpaypal.servlet?" +
                       "auth-resp=cancel" +
                    "&LOGOUTURL=http://<your website>/" +
                       "loginwithpaypal.servlet?" +
                       "auth-resp=logout" +
                    "&SERVICENAME1=Name" +
                    "&SERVICEDEFREQ1=Required" +
                    "&SERVICENAME2=Email" +
                    "&SERVICEDEFREQ2=Required" +
                    "&INITFLOWTYPE=Signup" +
                    "&HDRIMG=<path to your logo (optional)>"
                    + "&METHOD=SetAuthFlowParam");

            client.executeMethod(method);

            Hashtable<String, String> respBodyParams =
                   getParamsFromBody(
                         method.getResponseBodyAsString());
            String token = respBodyParams.get("TOKEN");
            String ack = respBodyParams.get("ACK");
            if (token != null && ack != null &&
                ack.equals("Success")) {
                req.getSession().setAttribute(
                      "paypal-token", token);
                resp.sendRedirect(
                     "https://www.paypal.com/" +
                     "cgi-bin/webscr?cmd=" +
                     "_account-authenticate-login&token=" +
                     URLDecoder.decode(token));
                return;
            } else {
                req.getSession().setAttribute(
                     "paypal-token", null);
                // Redirect the user back to your home page
                // and display a login failure message.
                return;
            }
        } else if (req.getParameter("auth-resp").
            equals("success")) {
            if (req.getSession().
                getAttribute("paypal-token") != null) {
                HttpClient client = new HttpClient();
                GetMethod method = new GetMethod(
                        "https://api-3t.paypal.com/nvp?" +
                        "USER=<your API user name>" +
                        "&PWD=<your API password>" +
                        "&SIGNATURE=<your API signature>" +
                        "&VERSION=65%2e1" +
                        "&TOKEN="+req.getSession().
                             getAttribute("paypal-token") +
                        "&METHOD=GetAuthDetails");

                client.executeMethod(method);

                Hashtable<String, String> respBodyParams =
                    getParamsFromBody(
                        method.getResponseBodyAsString());

                String ack = respBodyParams.get("ACK");
                if (ack != null && ack.equals("Success")) {
                    String email = respBodyParams.
                                       get("EMAIL");
                   Ā String firstName = respBodyParams.
                                       get("FIRSTNAME");
                    String lastName = respBodyParams.
                                       get("LASTNAME");

                    // Use this information (perhaps save it
                    // in session or in a database, etc. and
                    // then redirect the user to your
                    // successful login page
                    return;
                } else {
                    req.getSession().setAttribute(
                         "paypal-token", null);
                    // Redirect the user back to your
                    // home page and display a login failure
                    // message.
                   Ā return;
                }
            } else {
                req.getSession().setAttribute(
                     "paypal-token", null);
                // Redirect the user back to your
                // home page and display a login
                // failure message.
               Ā return;
            }
        } else {
            req.getSession().setAttribute(
                 "paypal-token", null);
            // Redirect the user back to your home page and
            // display a login failure message.
           Ā return;
        }
    }

    private Hashtable<String, String>
        getParamsFromBody(String body) {
        StringTokenizer stTok =
             new StringTokenizer(body, "&");
        Hashtable<String, String> hash = 
             new Hashtable<String, String>();
        while (stTok.hasMoreElements()) {
            StringTokenizer stk = 
                new StringTokenizer(stTok.nextToken(), "=");
            hash.put(stk.nextToken(),
                URLDecoder.decode(stk.nextToken()));
        }
        return hash;
    }
}

This is how this Servlet Works:

When the visitor clicks on a link on your website, you invoke this servlet without any parameters. The servlet looks for “auth-resp” parameter in the request. Since it doesn’t find that, it assumes that this is a new login request. It then makes a HTTP call to PayPal to get authentication token. While calling that the servlet provides the return URL as itself (So PayPal will call this servlet in case of success or failure). Once a valid token is received, the servlet stores that token in the session variable called “paypal-token” and redirects the visitor to PayPal’s login page. PayPal then handles the user login and authentication and in case of successful authentication, PayPal calls the servlet with an “auth-resp“. This time when the servlet is called, it does find “auth-resp” in the request parameters and it looks out for the “Success” acknowledgement in the auth-resp. If it is successful, it then calls the Authentication Service to get first name, last name and email of the visitor.

Hope this helps! Enjoy! And feel free to shoot questions if any!

package com.ellipsis.dive.servlet;

import java.net.URLDecoder;
import java.net.URLEncoder;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import java.util.Hashtable;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.mail.EmailException;

import com.Ostermiller.util.StringTokenizer;
import com.ellipsis.dive.domain.UserDao;
import com.ellipsis.dive.model.User;
import com.ellipsis.dive.utils.EmailSender;

@SuppressWarnings(“serial”)
public class LoginWithPayPal extends HttpServlet {

private static Log log = LogFactory.getLog(LoginWithPayPal.class);

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}

@SuppressWarnings(“deprecation”)
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (req.getParameter(“auth-resp”) == null) {
HttpClient client = new HttpClient();
GetMethod method = new GetMethod(“https://api-3t.paypal.com/nvp?” +
“USER=sales_api1.ellipsissolutions.com” +
“&PWD=SYABFV7DEQZUGNCA” +
“&SIGNATURE=AKxshOAvZdwPThAccajffzxpJ2P-AX9dlPIJmTKtsIUW2DnFgLYMOiB8″ +
“&VERSION=65%2e1″ +
“&RETURNURL=http://apps.ellipsissolutions.com/dive/loginwithpaypal.servlet?auth-resp=success” +
“&CANCELURL=http://apps.ellipsissolutions.com/dive/loginwithpaypal.servlet?auth-resp=cancel” +
“&LOGOUTURL=http://apps.ellipsissolutions.com/dive/loginwithpaypal.servlet?auth-resp=logout” +
“&SERVICENAME1=Name” +
“&SERVICEDEFREQ1=Required” +
“&SERVICENAME2=Email” +
“&SERVICEDEFREQ2=Required” +
“&INITFLOWTYPE=Signup” +
“&HDRIMG=http://www.ellipsissolutions.com/logo.jpg” +
“&METHOD=SetAuthFlowParam”);

client.executeMethod(method);

Hashtable<String, String> respBodyParams = getParamsFromBody(method.getResponseBodyAsString());
String token = respBodyParams.get(“TOKEN”);
String ack = respBodyParams.get(“ACK”);
if (token != null && ack != null && ack.equals(“Success”)) {
req.getSession().setAttribute(“paypal-token”, token);
resp.sendRedirect(“https://www.paypal.com/cgi-bin/webscr?cmd=_account-authenticate-login&token=”+URLDecoder.decode(token));
return;
} else {
req.getSession().setAttribute(“paypal-token”, null);
resp.sendRedirect(“/dive/default.jsp?login_msg=” + URLEncoder.encode(“Login Failure! Please Try Again Later.”));
return;
}
} else if (req.getParameter(“auth-resp”).equals(“success”)) {
if (req.getSession().getAttribute(“paypal-token”) != null) {
HttpClient client = new HttpClient();
GetMethod method = new GetMethod(“https://api-3t.paypal.com/nvp?” +
“USER=sales_api1.ellipsissolutions.com” +
“&PWD=SYABFV7DEQZUGNCA” +
“&SIGNATURE=AKxshOAvZdwPThAccajffzxpJ2P-AX9dlPIJmTKtsIUW2DnFgLYMOiB8″ +
“&VERSION=65%2e1″ +
“&TOKEN=”+req.getSession().getAttribute(“paypal-token”) +
“&METHOD=GetAuthDetails”);

client.executeMethod(method);

Hashtable<String, String> respBodyParams = getParamsFromBody(method.getResponseBodyAsString());

String ack = respBodyParams.get(“ACK”);
if (ack != null && ack.equals(“Success”)) {
try {
String email = respBodyParams.get(“EMAIL”);
User u = UserDao.get(email);
if (u != null) {
u.setLastLoginTime(new Date());
UserDao.update(u);
req.getSession().setAttribute(“loginUser”, u);

if (req.getSession().getAttribute(“redirectUrl”) == null) {
req.getSession().setAttribute(“paypal-token”, null);
resp.sendRedirect(“/dive/login/manage.jsp”);
} else {
req.getSession().setAttribute(“paypal-token”, null);
resp.sendRedirect((String)req.getSession().getAttribute(“redirectUrl”));
req.getSession().removeAttribute(“redirectUrl”);
}
return;
} else {
String firstName = respBodyParams.get(“FIRSTNAME”);
String lastName = respBodyParams.get(“LASTNAME”);

u = new User();
u.setEmail(email);
u.setFirstName(firstName);
u.setLastName(lastName);
Date today = new Date();
u.setRegistrationDate(today);
u.setLastLoginTime(today);
u.setPerLeadDiveFee(0);
u.setPerDupLeadDiveFee(0);
u.setAccountBalance(0);
u.setSendWeeklyDigest(true);

try {
UserDao.save(u);

try {
EmailSender.sendMail(false, EmailSender.SENDER_TECHSUPPORT, EmailSender.SENDER_SALES,
“[ellipsis dive!] New User Registration”,
“<html><body>” +
“Name: ” + u.getFirstName() + ” ” + u.getLastName() + “<br/>” +
“Email: ” + u.getEmail() + “<br/>” +
“</body></html>”);
} catch (EmailException e) {
e.printStackTrace();
}

u = UserDao.get(u.getEmail());
req.getSession().setAttribute(“loginUser”, u);
resp.sendRedirect(“/dive/login/manage.jsp”);
} catch (SQLException e) {
req.getSession().setAttribute(“paypal-token”, null);
log.error(e.getMessage());
req.getSession().setAttribute(“exception”, e);
resp.sendRedirect(“/dive/error.jsp”);
}
return;
}
} catch (SQLException e) {
req.getSession().setAttribute(“paypal-token”, null);
log.error(e.getMessage());
req.getSession().setAttribute(“exception”, e);
resp.sendRedirect(“/dive/error.jsp”);
return;
}
} else {
req.getSession().setAttribute(“paypal-token”, null);
resp.sendRedirect(“/dive/default.jsp?login_msg=” + URLEncoder.encode(“Login Failure! Please Try Again Later.”));
return;
}
} else {
req.getSession().setAttribute(“paypal-token”, null);
resp.sendRedirect(“/dive/default.jsp?login_msg=” + URLEncoder.encode(“Login Failure! Please Try Again Later.”));
return;
}
} else {
req.getSession().setAttribute(“paypal-token”, null);
resp.sendRedirect(“/dive/default.jsp”);
return;
}
}

@SuppressWarnings(“deprecation”)
private Hashtable<String, String> getParamsFromBody(String body) {
StringTokenizer stTok = new StringTokenizer(body, “&”);
Hashtable<String, String> hash = new Hashtable<String, String>();
while (stTok.hasMoreElements()) {
StringTokenizer stk = new StringTokenizer(stTok.nextToken(), “=”);
hash.put(stk.nextToken(), URLDecoder.decode(stk.nextToken()));
}
return hash;
}
}


info@ellipsissolutions.com
ellipsis solultions LLC
http://www.ellipsissolutions.com
PO Box 2462, Union City, CA 94587

Toll Free:

+1 (855) ELLIPSIS
+1 (855) 355-4774

FAX:

+1 (855) 355-4774

**************************************************************************
ellipsis solutions is committed to protecting your privacy and asks you not to send sensitive
account information through e-mail. If you are not an ellipsis solutions customer and believe
you received this message in error, please notify us by responding to this email.
**************************************************************************


August 5, 2011 at 9:00 am Comments (0)

piwik v/s google for Website Analytics

Let’s talk about some thing different today – Website Analytics. This is something that is not directly related to sales, marketing and lead generation, but has a lot of influence on it. And so there is a reason why companies spend so much time and energy on this topic.

Why is website analytics important?

There are lot of good reasons to have some kind of website analytics on your website. First off, no matter how good your content is, it’s really hard how people would perceive it. Analytics systems can help you find out which pages visitors are spending most time on, what is the demography, you can find out common trails and paths of how people browse through various pages on your site, from where they enter and from where they choose to exit. This gives lot of clarity into what are the places you need to improve upon to be able to give more clarity to your visitors about what you do. The better use-ability you can provide to the visitors, they’d be easily able to understand what you have to offer, which in turn get you more focused and targeted leads and also decrease your sales cycle.

The Pros and Cons of Google Analytics

Google analytics gives you a quick jump start into the world of analytics. It’s easy to set up and it’s Free! The biggest barrier for most of the companies before Google opened the doors for analytics was the cost associated with setting up a good analytics system. Google pretty much killed the market by providing an extremely powerful analytics system that provides more than what many small merchants would ever need. However the cons are that Google stores all the transaction data at their end and their updates are done once every midnight. That means that you don’t get realtime analytics, which is fine; but the bigger issue for many merchants is that Google now has all the transaction history and they don’t share it with the merchants. There’s no harm in that, but many merchants are not comfortable with this approach.

Piwik – a better alternative to Google Analytics

Piwik is a free and open source analytics tool that is slowly becoming more popular in the market. It is quite commonly used in Australia and Europe (at least that’s what I am hearing in various blogs) and is slowly catching up in the US. To check this out, I installed piwik on one of our systems, and I’d have to agree, the UI is super slick. It’s as clean (and some would argue better than) as Google. All the data resides in your local database. The installation is fairly simple but if you really want a real plug and play solution, google analytics might still be a good choice for you because piwik does require a very little admin help. It took me less than 15 minutes to install piwik and configuring was pretty simple too.

Should everyone switch from Google Analytics to Piwik?

Well, I’m not 100% sure about that. One big reason is that many small merchants run very simple websites that are hosted on a shared server. These low budget websites don’t even have a database! If you have a bare bones 5 static page website, piwik is probably not for you. But if you are a decent size company and are definitely worried about having Google keep track of your transaction history and never share it with you, piwik is definitely a good tool to look at.

What are your thoughts on open source and free analytics tools?



May 12, 2011 at 9:00 am Comments (0)

Do You Really Need A “How It Works” Page?

If you are a savvy Internet Surfer, you’d realize how often we all bump into that cool new site or a cool new idea over the Internet. Some start-up comes up with a cool new idea and you have no clue how they are doing what they are doing or at least claiming to do! What do you look out for in that situation? The good old “How It Works” page or section. Does that mean that when a technology or a solution becomes known to almost everyone, the “How It Works” page should be removed? Did Facebook ever had a “How It Works” page?

It really depends on your final goal. In my understanding, most B-to-B solutions will probably have a “How It Works” page. Most complex sales and engagements requiring multiple steps will have a “How It Works” page. But simple and straight forward solutions might not need one.

I know this is an incomplete discussion. I wanted to throw it out to the World and get some valuable inputs. What are your thoughts? Should there always be a “How It Works” page?


May 9, 2011 at 9:00 am Comments (0)

When to Write A “How To” page?

When it comes to attracting traffic, one very popular thing that people do is write a “how to” page. Today you can find a “How To” page on almost anything! And not just one, but many, many versions of it! People wake up every day and insanely pick up any topic from how to brush your teeth to how to attract traffic to how to write a how to page! The reality is that not all “how to” pages get all the traffic. Only the pages from legitimate background and an established history gain most popularity. For example people are most willing to go to a “How To” page on Wikipedia or eHow.com rather than on some averagejoe.com. In fact writing too many “How To” pages might actually end up hurting your image on the Internet.

So when is it right to write a “How To” page?

There are still many instances when it does make sense to write a “How To” page. Some of the most common are:

1. You are selling a proprietary product or a service and want to let people know how to effectively use it.

2. You have searched on the Internet for hours or even days without being able to find any relevant information about “How To” do something; And you have done enough research and have applied all the concepts yourself and are ready to write your own “How To” page about that thing. However, keep in mind when you are at stage, try to contact the already established repositories like eHow or Wikipedia and get your “How To” article published there. You can still post it on your own blog, but having it posted on those forums will dramatically increase your reach to the masses.

More often than not, it would be the former reason (of writing something about your proprietary product or service) for you to write a “How To” page. However, if you are innovative and passionate about your field of work, you will definitely stumble upon some great idea or way to do something that no one else would have written before. So keep loving what you are doing and keep doing what you love and you will for sure come up with your own great “How To” page that thousands of people would refer… One Day…


March 21, 2011 at 9:00 am Comments (0)

Three Must Haves in a Pitch Page

It’s not true that only home based businesses should have pitch pages. A pitch page can be made, and is indeed made, for any product or service by companies both big and small in size. Pitch pages are an essential building block of the marketing campaign for any company. And so a pitch page is the most important estate on the Internet that you will ever own. After helping over 300 customers realize their dream of generating a steady stream of leads, I came up with three must haves in any pitch page. In this article, we will discuss these three must haves.

1. An attractive Domain Name

The domain name can make a lot of difference on how much traffic your website will be able to attract. This becomes even more important if your website is really nothing more than a single pitch page. The easier it is for people to remember and type your domain name with minimum spelling errors, the better traffic will you be able to achieve. To find out what domain name to use, check out your competitors, check out the keywords matching your product or service, and see what kind of traffic different keywords generate. If possible, try to buy several domain names all pointing to the same pitch page.

2. Compliance with SEO standards

Another important thing to remember is that your pitch page must comply with as many known SEO best practices as possible. There’s a ton of information available on the Internet and in libraries so I will not write all that stuff again. Most of the books on SEO can help you create a good SEO friendly page. Just pick up any. If you still have doubt, feel free to contact me. Some of the simple techniques are a) having correct meta tags, b) having H1 and H2 tags, c) having a title that matches with the content, d) Having incoming links, etc.

3. Clear Call Out Actions

This is the most important part of a good pitch page. The reason is simple. This is the only part that will help convert a visitor into a lead or a customer! Unless people can easily find out a call to action button, they will most probably read your content and move on. Most single page pitch pages tend to run too long. The reason is that there’s a lot of information that needs to be thrown onto the visitor to be able to entice him/her. However if the call to action button is all the way in the end, chances are that many people might just find the whole page too informative and might not even reach to the call out action button. Just because people might not have enough time doesn’t mean that you shouldn’t put all the information on your pitch page. Many times it’s guided by the parent company who’s products you are selling from home. Many times it’s driven by the fact that you do need to provide all that information to make people fully understand about your product or service. So the best approach is to have a call out action button after every 30 lines or so.

Hope this quick blog will help you get great results out of your pitch page. If you have any questions, feel free to contact me!


March 2, 2011 at 9:00 am Comments (0)

Directory Submissions – The Mistakes That You will Amost Certainly Make!

When it comes to Internet Marketing, Directory Submission is one of the most important tasks that you cannot afford to avoid. It is one of the best ways to get back links and get more visibility on the Internet. There are thousands of services currently that can help you submit your business to various web directories for pennies.

What is Directory Submission Really?

A Web Directory is pretty much like a yellow pages directories. It has various categories with names and addresses (and many times some description) of businesses. The concept of web directories came to the World pretty much when Internet came itself! The concept had lot of value back then. The idea was to come up with a sort of digital version of yellow pages where in people could go and look for a business. Just like in the pre-Internet era, you’d pick up your local yellow pages and look for a plumbing service, you’d do the same on the Internet.

Why is Web Directory Submission Important?

Since Web Directories were the first entities that started cataloging various businesses on the Internet and started providing them in more easily search-able method, they were the first to be indexed by any Search Engine. Search Engines still use web directories as their main source of indexing because they are still used to submit information about new businesses. And so apart from submitting to search engines, you should most certainly submit your business information to web directories that closely match with what you do.

The Inevitable Mistakes

Now comes the interesting part. And even though I writing this blog, the pitty is that there are more than 50% chanceĀ  that you’d have made all the mistakes mentioned below already! And the reason is because the amount of wrong information available on the Internet is so much that it’s going to be almost impossible for you to be able to not only read this blog but be able to have trust in it and so you will almost certainly learn by burning your own hands.

So if that’s the case, why am I even writing this? Well, for one that “may be” some one will get benefited, and second of all, once you will have have these points in mind, even if you choose not to follow what I say, may be you’ll be more cautious and take the right decisions quickly and there by waste less time and money than I (and many others) did!

Here we go:

1. Submitting to thousands of directories just because directory submission is cheap

You will see lot of enticing services on the Internet telling that they can submit your business to thousands of directories for pennies. Beware of them. There is nothing illegal or wrong with what they do. The problem is that they submit your business to really pathetic directories that most of the times have nothing to do with your business and have really low visibility anyways. You will for sure get back links but not visibility. The reason is that you will get back links from web directories that themselves aren’t that visible on the Internet. Even if it costs me 5 bucks to add my business to 500 such directories, I’d rather get a coffee and think about spending my rest of the money at places where I’d really get some good traction and visibility.

2. Forgetting SEO

Before you even start spending money on directory submissions, make sure you have followed good SEO practices. If your website is not SEO friendly, you will end up spending a lot of money on just getting back links with really poor results.

3. Submitting to directories that have nothing to do with what you do!

Most of the time people just look at the number of directories they are going to submit (in an effort to increase their back link count). What they forget is that it’s not the count that matters. What matters is that if you are adding your business to directories that are more focused and have readers/visitors that would be looking for the kind of products and services that your provide.

4. Realizing too late that good web directories charge good money

Sooner or later you will realize that the web directories that match with your service and have good readership do charge good money for any listing. But think of it this way. If a directory charges 300 bucks a year for a posting, that is 25 bucks a month. You will most certainly spend more than 500 bucks a month on Adwords but might not still get good results.

5. Getting Too Anxious Too Early

Many web masters think that once they have paid for the service and have got their business added to the web directories their website visitor count will shoot up within weeks. The reality is that it does take a few months before you’d see any good results. So DO NOT GIVE UP! You will see results if you take thoughtful decisions.

Hope I was able to help! Feel free to drop in your thoughts or contact me if you need to discuss further!


February 22, 2011 at 9:00 am Comments (0)

Do You Score 100% in SEO?

SEO is so commonly known word on the Internet that I’m not even going to write what it means. However the funny part is that even after being known to be the single most important thing, many people still don’t spend the time and effort to understand how to score 100% in SEO. There are very good books available out there and Google’s own SEO documentation talks about lot of good stuff; however after going through tons of blogs and forums on linkedIn and facebook I seem to be able to find it amusing that people spend hours discussing about this topic as if it’s some sort of black magic.

To all those people who think that SEO is some sort of black magic :: People!! Go Read any SEO book!!!

Here’s what has worked for me very well… If you are doing the same, I bet you’d score 100% in SEO too!

1. Is your Page Rank Flow more than 50%?

Simply defined, page rank flow is = number of links on the page pointing to your domain / total number of links. If there are a total of 10 links on your web page and more than 5 of them are pointing to websites that are outside your domain, you are going to be on the “loosing end” of the PageRank… In a nut shell, you need to have more links coming in than there are going out.

2. Do you have any Inbound Links?

This is something that will happen with time. The more inbound links you have tells the search engine how “popular” you really are. Unfortunately there’s no quick and easy way to do this. All you have to do is keep on posting new and unique content on your website.

3. Do you have any web analytics?

This is another important thing. Although it doesn’t directly affect your SEO score, this is something that will give you lot more insight into what kind of users are coming to your website, what kind of browsers they are using, from what page are they exiting your site, and so on. So do make sure you have a good web analytics installed.

4. De you have meta description tag in your HTML?

Believe it or not, meta keywords and descriptions still hold a lot of value for a search bot. Do make sure have them. Also what goes in there should match with what you have on the web page. Don’t try to dump in just about anything in it. A good meta description should be under 70 words and 350 characters.

5. How quickly is your page loading?

The faster your page loads the better user experience you’ll be able to provide. This is a no brainer. Keep it Simple!

6. How many links do you have on your web page?

Many people think that if they’ll have lot of links on their page, that will improve their ranking. NO! That is not true. In fact many search engine bots don’t even read more than 1000 links on a page. So your effort is going to be worthless. You might even get dinged due to this!

7. Do you have a H1 tag?

There must be one and only one H1 tag on your website and it must match with what your page title says and what the content is about.

8. Do you have H2 tags?

A page with no H2 tags means a page with plain texts or images with no categorization of content on it. Try to categorize your content to make it easier for the reader and for the bots. Use H2 tags to define sub headings.

9. Do you have Alt in your image?

Note that bots don’t understand binary data like images. They rely on the alternate text of the image. You should always have alt text defined for all your images.

10. Are your URLs SEO friendly?

Your URLs must be composed of simple words and the URL should point to a clean directory. http://blah.com?x=7&r=adfad@#!AFDF is a bad bad URL! … Yes you can’t avoid having some of them like that.. but if most of your URLs are like that, then you are in trouble. Try to keep them simple like http://bah.com/books/animation?id=232

11. Do you have a SEO friendly title tag?

First off, if you don’t, then you must, must have a title tag. And it should not be more than 11 words long. Furthermore if possible, try to keep separate titles for every page and make them as close to the content.

So here you go folks. If your answer is “yes” to all the above questions, then congratulations! You have just scored 100% in SEO!

Questions? Ask me!

,
February 21, 2011 at 9:00 am Comments (0)

Writing Your Own Email Marketing Tool in One Day!

There are lot of commercial grade email marketing tools available out there, but of course you have to pay to be able to use them. There are literally 1000s of Email Marketing Tools available in the market today so why write your own? The reasons are obvious:

1. Your own email marketing tool will give you as much flexibility as you need

2. All good email marketing tools solutions would require you to integrate with your CRM. And when you reach into that zone, you will most certainly have to spend significant amount of money in licenses and support

3. And lastly, it’s Free! Especially if it’s going to take only a day or so!

So what all do you need to start? You can pick any language of your choice. In this blog, we will take Java as an example. You can go as fancy as possible and create a whole Web2.0 style front end; but for the sake of keeping it simple, we will write a stand alone Java code. SMTP Emailing in general has gotten so much standardized that it’s easy to get pre-packaged frameworks that you can readily download and plug into any solution. For example, the Apache Commons Email API.

Once you have the Apache Commons Email API, all you have to do to be able to send a simple email from a stand alone program is:

SimpleEmail email = new SimpleEmail();

email.setHostName(“your.mailserver.hostname”);

email.setAuthentication(“your-email”, “your-password”);

email.addTo(“receivers-email”);

email.setSubject(“here goes the subject line”);

email.setMsg(“hello, this is my first email using Apache Commons API!”);

email.send();

And here you go! Compile and run this and you’ll see an email to the receiver! Now you can go one step further and convert this into a cron job that loads the list of receivers from a file and composes an email and shoots it out! You can go as complex and flexible as possible! After all it’s your own customized marketing tool!

It’s hard to put all the details in one single blog. The idea here was to share a method of Email Marketing and point you into one direction. I’ll be happy to assist and set this thing up in your environment. Just shoot me a comment!

Happy Coding!


February 2, 2011 at 9:00 am Comments (0)

Custom Web Design – Good Or Bad

Some people say “web design is an evolutionary process”; and if you don’t agree with that, then well, let’s just say you will realize it some day… Ask any web designer and he/she will tell you how many times they started with an idea which finally ended up into something that was totally not in their mind to start with.

Web Design – more formally known as “website design” – is basically nothing but a process of designing web site. Why do you need to “design” as website? The reason is that believe it or not, people still find it hard to relate to a computer screen. For example, when you walk in to a mall, it’s very natural. Even the “getting lost” of it is natural! You know what I mean; how many times have you come out of the mall trying to remember where did you park your car! We know we all have gone through that situation. But even with all the nuances of walking thousands of steps from shop to shop, and looking around and sliding through your way, everything feels normal and at the end of the day, most of the times, enjoyable.

Now imagine providing the same experience on a website. How many times do you think a visitor would get exhausted looking at your website, scrolling through hundreds of pages, spend almost 4 hours over the weekend on your site, browse almost all the material you have, and come back again next week! Sounds unreal? Yes, you are right. It is unreal! Some of the most used websites for shopping – amazon.com constantly keeps re-engineering their website in order to provide a more smooth and simple layout. Not just simple, but something that their customers can relate to easily. Even if they sometimes don’t find what they are looking for, the way the material is updated on amazon each day, chances are you’d go again and look for the same thing or something similar again!

How’s that possible? The answer is “custom web designing”. That is, customizing your website to focus on not just what your market niche is but having a true customer centric approach. It means designing the layout of your website that not only closely matches with the products you sell, but also provides a soothing and un-interrupted experience to your visitors. The layout must be simple and at the same time scalable so that you can incorporate new changes and update your website content on timely manner without much hassle. Using an off the shelf template will not only lock in your thought process but at the same time will make it extremely difficult to incorporate simple changes later.

So here you have it. Custom Web Design is something that you must not under-estimate. It does come with a cost, but the returns are far more than you can imagine. If you are short of money, try to do it yourself and later involve a good web designer. Remember even if the images on your website might be crappy and even if the material won’t be enough, if your overall website layout is clean and makes the user come back again, that’s all you need. You can make the website look “cool” later. Website design is not about making the website look cool, but instead focusing on how the website can be made simple and to the point. Since every business is unique, the definition of “simple and to the point” changes and so custom web designing is something that you cannot avoid.

Hope this was a helpful start. The topic of web design is vast and is still growing day by day. If you have any questions regarding custom web designing, feel free to post a question and we’ll try our best to help you out in a prompt manner.

Happy designing!


January 12, 2011 at 9:00 am Comments (0)

« Older Posts