November 6th, 2009 by Lincoln Baxter III

SEO for Business Marketers, Bloggers, and Everyone

I’m no SEO expert, but in growing my own brand, I’ve come to learn some crucial concepts, perhaps not entirely technical, but more social and practical in nature. I can’t and won’t try to tell you that google ranks your pages better if you use certain words and put them in a specific order. But by using common sense, there are a few things we can all do to make our lives easier, and more visible.

Three Fundamentals of Search Optimization:

  1. Content – Actually providing real, relevant information.

  2. Credibility – Having external validation that your content is real, relevant

  3. Context – Confirming to Search Engines that your content is credible in the context where it is used.


HTML links – Your ammunition, spend wisely:

When you promote your site, instead of linking this way:

Consider linking this way:

Notice the title of the URL when you hover your mouse. (You could also include those words in the link text itself to achieve the same goal.)

Let’s assume this second link is found in a comment on a blog related to any of “Scrum,” “Agile,” “Online,” “Project,” “Management,” or “Tool”:

  1. Content – Your link now uses keywords found in it’s own address or title. Those keywords also exist in the page to which it points (+ SEO Points)
  2. Credibility – You have another external link to your website (+ SEO Points)
  3. Context – Your link lives on a page with keywords similar to those used in the link itself, and you provided it in a way that added value to those who read it (+ SEO Points, + Reputation: You look like you know what you are talking about)

Assuming this second link is found in a comment on your local grocery store website:

  1. Content – Your link now uses keywords found in it’s own address. Those same keywords exist on the site to which it points (+ SEO Points)
  2. Credibility – You have another external link to your website (+ SEO Points)
  3. Context – Your link lives on a page that is completely unrelated to the business goals, or the link itself (- SEO Points, – Reputation: You look stupid)

The more, better trusted, well known sites you have linking to yours, the more powerful these factors become – even the negatives.

However, there is one more thing you can do that is possibly more powerful.

Put the keywords IN the URL HREF:

If the link URL (the content of the link href=”…” attribute) contains the keywords you are attempting to optimize, the reward from search engines may be even greater! How many times have you done a search, and the results highlighted keywords in the URL of the top results? Well… we can do that in JSF, and our custom web-applications, too.

Even better, that link can contain the keywords and be human readable, self-promoting. When people can read the text of a link they receive over Instant Messenger, or Email, they are much more likely to click it. I know I personally distrust links that I can’t understand. – for example:

“We hold these truths to be self evident”#

  1. Pretty URLs look nicer, relay your content to search engines better, and people are more likely to click/remember/send-to-a-friend something that they can understand and process – both internally and externally to your site.
  2. Pretty URLs will create better anchor/hover text if the link title is left blank. Just look at the browser “heads up” text when you hover over a link.
  3. If you later change technologies, and have “.tech/.jsf/.seam/.do” extensions in your URLs, you’ve just instantly lost all SEO progress. Your content is now at a different location; you start over unless you have the ability to do perform 301 redirect (Moved Permenantly) to the new page from the old address. Search engines generally punish sites who use redirects.

Methods to put keywords in URLs, with or without PrettyFaces

Assuming your content is relevant to the context you are linking from, and you know actually know what you are talking about…

Physical file per-URL:

http://example.com/ex/faces/store/how-to-improve-seo-with-prettyfaces-book.jsf
  • Readable – SEO friendly
  • No dynamic information provided – for each new url, a new file… why are you using JSF?
  • No extra configuration required – you don’t need PrettyFaces
  • Horrible to use in faces-config.xml navigation or <h:link>
  • URL suffers from the tech-conversion issue ( *.jsf ) (Truth #3)

Query parameters in URL:

http://example.com/ex/store.jsf?item=how-to-improve-seo-with-prettyfaces-book
  • A little less readable, still SEO friendly
  • Anchor/hover text may not be so nice
  • URL is still technology dependent unless you remove the ( *.jsf ) extension with PrettyFaces (Truth #3)
<url-mapping id="store">
	<pattern>/store</pattern>
	<query-param name="item">#{itemBean.item}</query-param>
	<view-id>/faces/store.jsf</view-id>
	<action> #{itemBean.load} </action>
</url-mapping>

Path parameters in URL:

http://example.com/ex/store/how-to-improve-seo-with-jsf-and-prettyfaces-book
  • Most readable, still very SEO friendly (Truth #1)
  • Best “heads up”/anchor text (Truth #2)
  • URL is technology independent (Truth #3)
  • Even easier to implement than query-parameters
<url-mapping id="store">
	<pattern>/store/#{itemBean.item}</pattern>
	<view-id>/faces/store.jsf</view-id>
	<action> #{itemBean.load} </action>
</url-mapping>

So here, if your technology can support pretty URLs, like PrettyFaces does for JSF, then you can SEO yourself to heaven. Remember, though, that SEO is only one of many marketing techniques to use in the new technological age. Maybe your target audience is on the radio, maybe they are actually in grocery stores; the point is, find your audience and market to them where they are most willing to see your information, and take action. SEO may not be the best answer for you – before investing too much time and hard earned money, consider your options.

No matter what technology you use…

Follow at least these three guidelines:

  1. Content – Actually provide real content, put keywords in <h1>header</h1> tags. (+ SEO Points, + Reputation)
  2. Consistency – Make sure your URLs use main keywords found on the page you are displaying. (+ SEO Points, + Reputation)
  3. Context – If it’s not adding value, or is not relevant, don’t post it. (- SEO Points, – Reputation: You look stupid)
And you might want to protect yourself from a technology change. That’s just the worst way to go out of a well optimized site, into the pits of search listings nobody will see – of course, it means your next technology also needs to support pretty URLs ;)
Lincoln Baxter, III

About the author:

Lincoln Baxter, III is a Principal Software Engineer at Red Hat, working on JBoss open-source projects; most notably as creator & project lead of JBoss Forge, and author of Errai UI. This blog represents his personal thoughts and perspectives, not necessarily those of his employer.

He is a founder of OCPsoft, the author of PrettyFaces and Rewrite, the leading URL-rewriting extensions for Servlet, Java EE, and Java web frameworks; he is also the author of PrettyTime, social-style date and timestamp formatting for Java. When he is not swimming, running, or playing Ultimate Frisbee, Lincoln is focused on promoting open-source software and making web-applications more accessible for small businesses, individuals.

Posted in PrettyFaces

3 Comments

  1. Rifki says:

    I like, I like it, I like it a lot. Original and refreshing design and a well written article. Being seen to be real and paying attention to keyword placement is so important.

    Look forward to reading more of these Lincoln, and now following your tweets.

    Regards

    Rifki

  2. [...] You should still check out his treatise on SEO for Everyone. [...]

  3. [...] My friend Lincoln Baxter has created a great tactical resource titled SEO for Everyone. Lincoln is a developer’s developer with the rare additional skill to clearly communicate [...]

Leave a Comment




Please note: In order to submit code or special characters, wrap it in

[code lang="xml"][/code]
(for your language) - or your tags will be eaten.

Please note: Comment moderation is enabled and may delay your comment from appearing. There is no need to resubmit your comment.