Poor Marketing Defeats SEO

Many web companies focus on SEO to generate traffic for sites. One may argue that SEO is used to define the contents of the content with an objective of enhancing the position of the page or site within the result sets of search engines.

Using a list of keywords expected to deliver valid site visitors, then building the content around them, is reversing the priorities.

If site visitors arrive at the site, the content is what they will see. The strategy that brought them there is transparent. Poor content won’t compensate for high traffic.

A site’s content should be carefully chosen to reflect the company’s mission, the site’s mission, the products and services, information available. Although the technical aspects of page construction should be in compliance with the recommendations of the search engines (for example, the use of title tags on links and images), link based navigation in addition to javascript controls, proper use of title and header tags), the focus should be on welcoming the visitor with a professional, informative page - regardless of entry point.

The layout of the page should support the content by offering an attractive page. It must consider the types of devices it will be displayed on.

Recommendations

Have the entire marketing team learn about SEO. It is vital that they understand SEO so that they can avoid any pitfalls, before developing content.

Answer the following questions, provide the indicated information:

  • What is the mission of the company?
  • Are there special characteristics or qualities of the company that make it different from others?
  • What does the company do?
  • What are the products and services? Include alternatives, to help site visitors understand what the company offers, what the other options are, and the advantages and disadvantages of each.
  • Approximate pricing data. Site visitors should have a ‘ballpark’ figure of what things cost.
  • What is the objective of the site? A web site can’t be everything to everyone. A good start is a clear collection of information to help a site visitor decide if they would like to contact the company. Chasing complex applications like social networks may not have any advantage.
  • What is the target market?
  • Are there situations the company would like to avoid? For example, a company with very talented engineers may want to avoid small projects because the overhead makes profit difficult. Although this information probably won’t be on the site, understanding it will help tailor the content.
  • What do the competitors’ sites look like? Understand what people will see as they search for businesses like yours. Learn from them, features that look valuable, issues that should be avoided, etc.
  • Examine the current site statistics and SEO metrics to see what pages people are viewing. Save this data and use it as a benchmark. This allows the effect of content updates to be quantitatively analyzed.

Most people will not watch complex Flash videos, it may be better to rotate a series of simple images or use a simple Flash video to bring the page to life.

When people arrive at a site, they are interested in what you can do for them. They are less interested in what you have done for others.

Be honest in the list of skills, products, and services in your arsenal. A huge list of skills and experience implies either that the company has many employees, very high turnover, an inflated opinion of itself, or considers exposure the same as experience. The web is fairly specialized, it is better to be able to do a few things well, than many things poorly. Be specific, ensure the site visitor understands what you are good at and why it makes your company a good choice. Clients do not want to fund training, education, or learning curves unnecessarily. Don’t imply that your company loves a challenge. Every project should be a challenge to excel, but it should be to advance existing skills, not start from scratch.

List active and direct clients only. If you were a subcontractor on a project, it is unfair to claim the end-client as a client, unless the end-client is fully aware of your company’s involvement and contribution. Inflating your credentials with the prestige of others is wrong and unethical. State only the work your company performed, it is also immoral to claim performance of work your company didn’t do.

Provide an integrated search so people can quickly find information.

Make it easy to contact the company. The contact link should be easy to find, and if there is a form, it should be easy to use. If the volume of contact traffic is significant, offer FAQs and integrate knowledgebases to allow site visitors to get answers immediately. Consider online help or chat features.

Tell about all the people in the company, not just the CEO. It can generalized, listing the technical teams and skills, or personalized with names, images, and brief biographies. This helps site visitors see who you are, and transforms the impersonal text on the screen into a visual impression of your people.

Testimonials and references have limited value. No one is going to post a negative reaction to their work.

Be sure the page loads quickly enough for the majority of the target audience. People abandon slow pages very quickly.

Make it easy for potential candidates to find employment opportunties, but don’t place career opportunities on the home page. It may be interpreted as an indication of growth, but it can also represent staffing shortages or high turnover.

The tone of the site content must be established. If it is a professional organization, the tone should remain professional through all content. Attendance at conferences should be presented in terms of what the company contributed and gained. It shouldn’t look like a vacation post or an adventure. Informal content in blogs or other posts should be avoided entirely. It is too difficult to predict how people will interpret or perceive the authors based on simple text posts.

If the site is extremely large, use subdomains to break content and features into logical areas.

Support resources should be easy to find and navigate through.

Viral marketing, the use of interesting, interactive content which can be shared with others through links may soon be relegated to the same status as forwarded joke emails - where many people disregard them entirely. Although many people consider the web a place to have fun, a business site striving to attract clients should avoid attempting to entertain people, and focus on informing those that are likely to become customers.

Demonstrations and sample services are extremely valuable, especially for software. Site visitors should be able to login, push some buttons, edit some settings or material, change colors, see the features, to understand the products better. Even if you must purchase additional licenses for software to support this, or develop a small amount of supporting code, the investment will probably be extremely cost-effective.

If you choose to avoid technologies, post them on the site with a discussion of why your company is not using them. This will serve to educate the site visitor, and may reduce calls from people who would be better suited for other companies.

Make it clear that the company is selective about its clients. This creates an elitist attitude, people may perceive the company as more valuable because it is not willing to work with anybody, only those which meet certain criteria. If they don’t meet the criteria, they may not be well suited as clients anyway.

Instead of distributing content in informal formats or places such as Facebook, MySpace, it may be better to focus on the site itself. If Facebook and MySpace are used, the content should be synchronized, both in quality and chronology, with the site.

Open Source - Cycle Back

Open Source software is often maturing.

Cycling back to the distribution site has many advantages:

  • Upgrading open source components usually delivers many bug fixes and new features. Although upgrading after ever update is probably unnecessary, it is worth considering an upgrade if something isn’t working exactly as expected.
  • Upgrading increases the lifespan of your code, as well as often improving the quality.
  • Documentation often improves, both directly from the author and with contributions from other users. Repeat visits usually increases understanding.
  • As new features are added, they can be integrated into your code.
  • As you learn more, you can contribute to the site.

Cycling back through your application also has many advantages:

  • As your skills improve, your code will, too. Revisiting code allows you to improve it.
  • Look for ways to consolidate and reuse code. The less code you have to maintain, the better. Overly complex or large applications are often more difficult to work with than sleek, elegant systems.
  • Validate XHTML and CSS periodically.
  • Use jsLint, and other tools.
  • Run the pages through different browsers after major changes.
  • Keep an eye on the architecture, understand what goes where and why.
  • Add comments for things that are difficult to understand.
  • Look for opportunities to improve performance.

dojo Fisheye Example

dojo’s Fisheye widget is fun. The link above is to a demo of the Fisheye widget.

Notes:



<div dojoType="dojox.widget.FisheyeList"
itemWidth="50" itemHeight="50"
itemMaxWidth="200" itemMaxHeight="200"
orientation="horizontal"
effectUnits="2"
itemPadding="10"
attachEdge="top"
labelEdge="bottom"
conservativeTrigger="false"
>


itemWidth and Height refer to the images when they are displayed initially, before the mouse hovers over them. You can use them to size the images as they are displayed.
itemMaxWidth and MaxHeight refer to the images when they are active or the mouse is hovering over them.

For best results, the images should be MaxWidth and MaxHeight dimensions, or larger. Images usually look better after they have been reduced, rather than expanding a small image. It is also easier to use square images, and make all the images the same size.

Check the CSS carefully if you find your list wrapping down to the next line. I found using min-width was helpful.

Credit/Thanks to:

http://dojotoolkit.org/demos/fisheye-demo
http://www.ajaxdaddy.com/demo-dojo-fisheye.html

Further Application Notes

robots.design works very well through upgrades, in this case, with dojo. Using the tundra theme, I can reskin an application - including dojo/dijit very quickly.

Some colors should not be changed - specifically error and warning displays which are traditionally red and yellow respectively. A backup of the CSS files was invaluable, since a dojo upgrade only required CSS upgrades for the dojo files (dojo.css, dijit.css, tundra.css).

milliseconds Add up in the Browser

dojo’s dynamic inclusion of the logic required to render pages is great. The line dojo.require("widget"), ensures that the code required to run “widget” will be ready to run.

There is a hidden cost to this - the underlying logic and requests to get the code from the server.

On a complex page that has a lot of widgets (more than 50% of the dijit widgets offered), it is worth considering the following tags:


<script type="text/javascript" src="dojo/dijit/dijit.js"></script>
<script type="text/javascript" src="dojo/dijit/dijit-all.js"></script>

Although dijit-all is large, it is compressed, and it has all the widgets. A single request can replace 50 or more requests. Each request has an overhead of about 15ms, even if the javascript is cached in the browser. It is definitely worth running a test with Firebug to see if you can realize any performance gains with this strategy.

The ideal solution is a custom build, but you can’t always solve problems the “best” way. Sourcing dijit.js and dijit-all.js, using a loading .gif, and configuring caching carefully reduced page load time to 1/3 of the initial value, and provided a more graceful load process.