Archive for seo

Google officially indexing flash sites - good news?

According to the official Google blog, they’re now officially indexing flash content. According to my SEO expert, they’ve been doing this for some time. However, I wonder if making this official is a good news.

image

One of the big arguments against heavily using flash on your site was that it certainly wouldn’t help you in Google. Now, many will see that argument as being gone. We can now look forward to more annoying flash content, and maybe even some flash that is used correctly.

With great power comes great responsibility

-Stan Lee

If you think you can now cheat and use flash content instead of HTML, you’re probably wrong. There are many questions that have now been raised (some have been answered):

  • Does each flash file count as a page?
  • Do links to and from flash content count for PageRank?
  • Do you really want ALL of the text in your flash files indexed?
  • Does the SWF get executed in any way, so that the generated text can be indexed?

It’s going to take a while before Google gets good at indexing flash files. It’s also going to take some time for people to really understand how the process is working. I wouldn’t be too quick to convert something to flash just because Google can see it now.

Only use flash when it makes sense to your users. For example, Choice Shirts has an HTML website, but their shirt designer is flash (Flex actually). If their designer doesn’t get indexed, it’s not a big deal. The designer is there for usability, not for the search engines.

An intro to Search Engine Optimization (SEO)

I’m going to assume that a fair number of my readers have a website, blog, or other web presence. Many of you have probably built a website or two. I’m going to give you some quick SEO tips that I have found to be most important.

Success-Chart

Our resident SEO expert spends nearly every day researching the current trends in SEO. If you try to do the same, and you’re the only one running your site, you won’t have any time to improve your site and come up with new content. You need to determine the right balance of time to make your site a success.

  • Define your goals - The first thing you need to do is ask yourself what the purpose of your site is:
    • Are you trying to sell something online?
    • Are you trying to get leads?
    • Is your site simply a place you direct people to for more information?
  • Focus on Google - Google is the by far, the most popular search engine. Most likely, you’ll want to focus your attention on them.
  • Make life easy for Google - If you expect Google to make decisions, you might not like the results.
    • Avoid duplicate content - If you have the same content on more than one page, you may be penalized. At the very least, Google won’t know which content to give you credit for.
    • Make your HTML as simple as possible. A well formed XHTML design will go a long way.
  • Optimize the way your pages look in the search listings - Google will only show the first 60 or so characters in your title, so keep that in mind. Make sure you DO use meta description tags in your pages, because Google WILL use those in it’s listings. Remember, you’re not just optimizing for the Google index, you also want your titles and descriptions to entice users to click on your result.
  • Write original content - Google is looking for original content, and it has often been said that content is king. Even if Google isn’t giving you points for original content, Google is looking for information that is relative to the times. If you’re consistently writing good, original, and up-to-date content, Google will eat it up.
  • Create a sitemap - Sitemaps allow you to give the search engines a "map" to all of your pages, which ensures that they’ll be found as quickly as possible. It also gives you an opportunity to specify how often pages change. If you’re using Wordpress, you can use an automated sitemap generator.
  • Get relevant links - Google is built on a reputation system. When reputable, related sites link to you, Google will realize the popularity of your pages. The best way to get good links is to write good content. Another way is to make friends in the community, that have similar interests. They might be willing to add your site to their blogroll, or mention you in their content.
  • Tell Google what to NOT index - You can create a "robots.txt" file that tells the search engines what they can, and cannot index. You want to filter out all of the pages that are not original content. For example, on this blog, I filter out everything except the front page, about page, and the posts themselves. You can see my robots file here. I have talked about using a robots.txt file to avoid duplicate content in the past.
  • Use the Google webmaster tools - If Google is having problems indexing your site, you’ll certainly want to know why. I check the webmaster tools daily to make sure that there are not any problems.
  • Do what Google asks - Google publishes their recommended webmaster guidelines. You definitely don’t want to do something that Google explicitly forbids. Your playing their game, you need to play by their rules.
  • Have simple URL’s - Your URL’s should be human readable, and more importantly, should be simple enough that search engines won’t get confused. Avoid URL parameters, and instead opt for path or page based names. For example, http://www.yoursite.com/posts/seo-tips.html.

If you have the time to take your SEO skills to the next level, there are immense resources available. The best way to find them is to simply do a Google search. The sites that do the best job with SEO should appear at the top!

Optimizing new Blogger title tags for SEO

By default, the title tags that Blogger uses are less than ideal. Search engines put a lot of value on your title tags, so it’s worth taking some time to make sure that they’re set up correctly.

When I initially set up my blog, I set the title to "Young Technologies Tech Blog". Look what happened in the search results:

image

YUCK! There are two major problems here. The first is that the titles are not at all useful to a human. How would you expect anyone to click on titles like this?

The second problem is that my title tags don’t tell Google anything interesting about my site. You want the search engines to figure out the keywords in each of your pages, and having those keywords in the title reinforces that.

In "classic" blogger, you would simply use

<title><br /><mainorarchivepage><$BlogTitle$></mainorarchivepage><br /><itempage><blogger><$BlogItemTitle$></blogger> - <$BlogTitle$></itempage><br /></title>

instead of:

<title><$BlogPageTitle$></title>

This would use the title of the post item as the title of the page. The problem is the "new" blogger has a completely different template system. Be sure to back up your template before editing it! Here is what I did, step-by-step:

  • Shorten your actual blog title. I was unable to figure out how to remove the blog title from each post page, without losing the post title. Unfortunately Blogger doesn’t have a token for the item post title. For my blog, I changed the title to "YTechie.com", which I think is a reasonable prefix for my post page titles.
  • Customize the title tag in your template. Do this by editing the HTML, expand the widget templates, and put the following code in place of the existing title tag. This will allow you to have a custom title just for the front page.
<b:if cond='data:blog.pageType == &quot;index&quot;'>
 <title>Front Page Title (change this)</title>
<b:else/>
 <title><data:blog.pageTitle/></title>
</b:if>
  • In the code above, put in the title you want for the front page. Try to keep it around or under 66 characters. For additional guidelines, consult this guide.
  • Since you changed the title of your blog to something shorter, that will show up in the header as well. To customize the header text, replace this:
<b:if cond='data:blog.url == data:blog.homepageUrl'>
   <data:title/>
 <b:else/>
   <a expr:href='data:blog.homepageUrl'><data:title/></a>
 </b:if>

With this:

<b:if cond='data:blog.url == data:blog.homepageUrl'>
   This is my header title (change this)
<b:else/>
   <a expr:href='data:blog.homepageUrl'>This is my header title (change this)</a>
</b:if>

Avoiding duplicate content with your site or blog

One of the most important rules in SEO (Search engine optimization) is avoiding duplicate content. Google has some information on their page about how they handle duplicate content. Unfortunately, the Googlebot is rarely smart enough to know which content is original. Google wants to avoid users that copy and/or republish someone else’s work simply to get content for their site.

You also want Google find pages on your site that have substance, and that are not just a copy of content from one of your other pages.

image

So how do you avoid it on your site? The first step is to identify potential pages that have duplicate content. It’s probably happening without you even being aware of it.

Type this into Google: site:http://www.yoursite.com

I’m using blogger, and by default here are some pages that are indexed that should not be:

  • http://www.ytechie.com/2008/04/aspnet-linkbutton-and-seo.html?widgetType=BlogArchive&widgetId=BlogArchive1&action=toggle&dir=close&toggle=YEARLY-1199167200000&toggleopen=MONTHLY-1207026000000
  • http://www.ytechie.com/2008_03_01_archive.html

Now that we’ve identified the offending pages, we can create or modify our robots.txt file, at the root of our site.

Here is what I could add to my robots.txt to block those pages:

Disallow: /*?
Disallow: /*_archive.html$

Once you’ve updated your robots.txt file, you can use the Google webmaster tools to test it. For more information on how to edit your robots file, including syntax, consult Google.

There is one big problem. If you’re using a service like Blogger (like this blog), you can’t edit your robots file. There has been talk of adding support, but we have to deal with what is available.

The best I’ve been able to come up with, is adding this into the head (look for <head>) of my template code:

<b:if cond=’data:blog.pageType == “archive”>
 <meta name=”robots” content=”noindex, nofollow” />
</b:if>

This adds a noindex and nofollow meta tag to the generated archive pages. I have not yet figured out how to remove pages that contain parameters (?param=value). If anyone has a way to do it, please let me know! I’ve actually been considering removing the archive widget to solve it.

ASP.NET LinkButton and SEO

A common question that comes up, is what do LinkButton’s do for SEO (Search Engine Optimization)? Well, let’s take a look what a LinkButton actually renders for HTML:

<a href="javascript:__doPostBack('ctl01','')">Click me!</a>

Notice that it’s simply a standard hyperlink with a JavaScript call. Typically, the search engines are only going to look at your HTML. They’re not going to evaluate the JavaScript. Doing so would be a big can of worms.

image

So basically, the LinkButton is going to be invisible to the search engines. At most, they might look at the words in the link text, and consider them as part of the rest of the content.

Remember, the purpose of the LinkButton to be a replacement for the ASP.NET Button control, but with the look of a hyperlink.