Archive for May, 2008

SEO Keyword Generator and Tool Update v2.0

Speaking of SEO, I’ve been using my SEO Keyword Tool a lot lately for my own personal work and decided to give it an under-the-hood update.

Many people are jumping on the buzzword “SEO” and “Search Engine Optimization” lately and some are fraudulently trying to sell you these services, as if they are some “expert”. Frankly (like everyone overusing XML a few years ago), I find it somewhat funny.

“Optimizing” a website should be part of the process of website creation, before you launch it and make it public. If you want to target your audience, you do ALL that is required to do just that. This means:

  1. Include all of the proper meta tags for your HTML. This doesn’t just mean ‘description’ and ‘keywords’ meta tags, it means ALL of the meta tags which can be used to help describe your document. These should include ‘copyright’, ‘revisit-after’, ‘robots’, ‘Cache-Control’, ‘author’, ‘googlebot’ and others. If you need a full list of these tags, you can find one at HTML Reference.
  2. Validating your HTML and your CSS
  3. Indenting and/or compressing your HTML and CSS (or remove non-visible whitespace). Try using the CSS Compressor at CSS Drive if you want to see how it works.
  4. Optimize your graphics for web (color palette, size, dimensions, proper width/height img tags; pngcrush -brute for png files, jpegs at no higher than 85% quality, etc.)
  5. Organize your content correctly, so it flows in a non-confusing way and is not overly wide. Studies have been done that validate that content that is “too wide” or too narrow, will cause people to stop reading. One called “The Effects of Line Length on Children and Adults – Online Reading Performance” is particularly detailed.
  6. Make sure your colors, fonts and styles are all appropriate for a broad audience. You don’t want to exclude the elderly who might not be able to see 6-point fonts in your graphics, or whites on greys that exclude the colorblind, or missing alt tags and tabbing order that might exclude the blind altogether).
  7. Last but not least, NO HTML TABLES!! If your content would look appropriate when pasted into a spreadsheet, then tables are the right approach. If not, tables are FLAT OUT WRONG.

If you’re not doing this already, you should be. If you ARE already doing these things, pat yourself on the back. You’re now doing SEO without even realizing it.

If you don’t know what the SEO tool I’ve written is for, I’ve talked about it before. What my tool does is take any pasted, uploaded or content at a remote URL, analyzes the words found in that content and reports back the highest-frequency keywords used in the content… excluding all of the obvious words like ‘and’ and ‘the’ and so on.

Those keywords can then be used in your target page’s meta tags to help drive traffic to your page. You can even do a test by submitting the “Before” version of your page through Submit Express and then adding the keywords my tool suggests, and then running your “After” page through Submit Express again, to see how you’re ranking. You should be getting higher than 95% on all scores to be sure you’re setting the right values for your keywords.

Now, what this tool does NOT do (yet) is suggest “better” words to use in your content, to get higher rankings. It doesn’t do what a human should be doing with your content.. and that is making it relevant to your target niche, and converting visitors into customers.

That’s YOUR job, not mine (unless you want to hire me to do so, of course).

The tool is faster and now links to another site in the final results page that can suggest alternate keywords in your range, based on the words analyzed from your existing content.

For example, if I point the tool to today’s Slashdot page, I see that the word ‘networks’ comes up in the results. If I click on that word, I now see the following 13 related words:

networks (13 related words found)

If I were writing content that I wanted to use to target the keyword ‘networks’, I would be sure to include some of those 13 words within my content or articles.

See how this works? It’s all a very-specific science, but it’s not impossible to learn. All in under 200 lines of PHP code.

Go have fun and play with it, and if you find it useful, consider donating or visiting my Amazon Wish List to see what sort of shiny things you think I might like (I promise the rubber ducky isn’t for me, it’s for my daughter)

Amateur spammer trying to sell me SEO services


This one almost looked legitimate, and I actually replied to his email. What made me sure this was spam was that my reply back to him was met with an exact duplicate of his original email, sent back to me.

The original email started out like this:

I was looking at websites under the keyword Groton hosting and came across your site . I see that you’re ranked 71 on page 8 in google.

I’m not sure if you’re aware of why you’re ranked this low but more importantly how easy it is to start getting higher listings in search engine results.

All you need to do is some simple “link publicity” for your website and you could quickly hit the front page and work your way up to #1-#3.

… over the last 5 years we took the website [REMOVED] from only 50-100 clicks per day from Search Engines up to 49,000! clicks per day! (generating $23M in sales last year!)


Well, by having quality articles written about this website which were then published by many blogs, web 2.0 websites, and many other well respected websites on the internet… amongst slowly adding hundreds and now tens of thousands of highly optimized content pages to his site.

The email then went on to show some (likely falsified) numbers about the growth of the site he referenced above. I looked up the Alexa ranking and could not verify his claims.

His email continued with…

We were paid over six figures for optimizing those two sites alone and the clients are making a huge
ROI from their investment!

Your keyword: Groton hosting

Is NOT competitive and I now have a large team to allow me to serve smaller businesses such as
yours for pennies on the dollar – for a fraction of what those clients paid – you too can enjoy the
fruit’s of Top 10 rankings in google for your target keywords.

I replied back in a very nice way, showing that my RESUME page is not linked to from anywhere external that I know of (well, I just linked to it above in this post) and that the text version of my resume is ranking at PR2. The main HTML index page is a PR3, without any marketing or promotion whatsoever.

I also included some of my higher-ranking websites, which are currently PR5, PR6 and PR7 with over 18k unique visitors per-day on the highest ranked site I host. These are all in the top 5 (not just the top 10) SERPS (Search Result Pages) in Google for VERY broad search terms.

Here are a few examples using some VERY broad keywords:

We’re currently ranking at #2 for html reader on one website.

Slightly narrowed, but still very broad search, and we come in at #1 for palm html reader for the same site.

Here are some more across a bunch of random sites I host:

…and so on. I haven’t done a lick of marketing to promote any of the sites above, and they’re already pulling in a lot of traffic and are getting in the top 10 in Google’s SERPS.

I asked “SEO Charles” to get back to me, if he thought he could get my PR7 sites up to PR8, or double my incoming traffic without falsifying backlinks or using any other malicious means. Instead, he emailed me another copy of the same exact email he sent the first time, spamming me.

So I just dealt with it as follows..

From his mail headers, I abstracted:

Return-Path: <>
Received: from ( [])

Then a little more digging revealed this detail about that IP range from Project Honeypot:

I then sent him an email, letting him know that his entire netblock was being blocked for being an ignorant, amateur “SEO Expert”, as well as a known public spammer.

iptables to the rescue! (broken hostnames here to avoid giving him any PR):

$ host domain name pointer smtp7.ic pbou

$ sudo iptables -A INPUT -s -p tcp -m tcp -j DROP

$ host ge tran
getr has address
getrank mail is handled by 0 ge

$ sudo iptables -A INPUT -s -p tcp -m tcp -j DROP

Problem solved.

Oh, and if you want “Groton hosting” (or hosting in Groton, CT. or anywhere else in the world for that matter), visit my ACTUAL hosting page, not my resume page.

Bad Behavior has blocked 426 access attempts in the last 7 days.