SEO for Frontend Engineers

©2011, Martin Rinehart

Very large organizations have dedicated SEO, Search Engine Optimization, specialists. In many organizations, SEO is another frontend engineering responsibility.

This topic is critically important! For the absolutely best info, see Google's advice. Take it to heart. For an overview, continue here.

Eventually, euphemisms mean what they mean and are no longer euphemisms. "Restrooms" are not places where people rest. Web pages are not "optimized" for search engines. Frontend engineering, among other things, attempts to get the best possible rankings from Google and the other search engines. The frontend engineer's SEO goal is to get his site "above the fold" on Google's first page of search results: into the top five. Then the goal is to keep rising.

When I started, I was 100% into Java. I made it my goal to top Google's list when someone looked for a "java consultant." It took a year for me to make the top ten. I never made it to the top, but for years I was in second place. (Mark, you outsmarted me. You knew what you were doing before I knew what I was doing. You deserved to be number one.) I've moved away from Java, and, with reluctance, I'm abandoning that near-top Google placement. In my new field, I'm going for the Google top again. More on that later.

How do you get to the top? (I'm using Google here. If you get to the Google top, you'll probably get to the other tops, too, but they hardly matter. Google is more important than all the rest, combined. Check search engine market share as this is written. Bing fans claim that if you add Bing searches to Yahoo and other powered-by-Bing searches, their market share may be over thirty percent. I don't know. How do you search?)

Some people think that if they could just list the right keywords, the magic would happen; their site would be above the fold. I've bad news.


There are two meanings of "keywords". The first meaning is the keywords found in a meta declaration: <meta name='keywords' content='...'>.

Meta keywords can be evil or neutral. They will not get you to the top.

Meta Keywords—How to Kill Your Google Ranking

I got a call from Maria. She owns a training firm and her Java trainer was retiring. (She called Mark Watson, Google's number one "java consultant," first. He didn't want to spend his life on airplanes.) She called me, number two, when Mark said, "No."

I'm not fond of airplanes, either, but Maria is in northern New Jersey. I am in New York, I am a half mile from New Jersey so I agreed to meet with her. Then I asked Google to recommend "Java tranining." Maria's firm was no where to be found.

As Maria showed me around her firm, she introduced me to the fellow who was building the new website. As it turned out, he had the <meta> tags from the existing site on his monitor. The list of meta keywords took up the better part of a page. Disaster!

Google's crawler, if it sees an obvious attempt to game the system (such as a huge list of keywords) will simply blackball a website. The "consultant" who prepared the list of keywords for Maria's first site had driven her company to Google's neverland. (Maria's firm gets its business through referrals and phone canvassing. It never appears in Google searches.)

Keywords—How to Help the Google Crawler

The best guess about Google's crawler is that at present (early 2011) it ignores meta keywords if they are not attempting to game the system. This may change. Meta keywords might tell the Google crawler what to look for on your site. If a keyword appears frequently in your text and especially in important places such as page titles, article heads, subheads, and graphic alt descriptions, the crawler might think that the keyword is, indeed, descriptive of your site.

"Desert Night Crawlers" is one of your keywords and it appears all over your site. "Hmmm," a crawler could think, "Better keep this site in mind when I rank desert night crawler sites." You site would be half-way to a good ranking. This is not because you chose "desert night crawler" as a meta keyword; it's because your site really is about desert night crawlers. This is the second type of keyword (actually, keyword phrase as it uses multiple words): the kind that appears regularly in important places in a site.

Keywords—Long-Tail vs. Short-Tail

Much has been made of long- and short-tailed keywords. Much too much. Let's start with a definition. "Worms" is a short-tailed keyword. Someone might be going fishing. I might want to improve my garden soil. We could both ask Google for "worms." Result: we both get the same search results, which may or may not include your "desert night crawler" site. Let's try a long-tailed keyword. You might ask Google for "wormius desertius nocturnus." If your site makes modest use of this scientific name, there will be very few searches, but you will show up on every one.

Let's be perfectly clear: what you list as keywords may or may not be part of the crawler's ranking algorithm. Words that appear commonly on your site are definitely part of the algorithm. From now on we'll speak of keywords in the general sense: words that appear commonly in important places throughout a site. These are important. "Keywords" listed in a page's <meta> are probably ignored, at least by Google, at least today.

This entire discussion is critically important to frontend engineering, but it should not be in the frontend engineer's area of concerns. At site inception a marketing target should be picked after some assiduous Googling. Does the site target gardeners? "Desert night crawlers" won't do the trick (unless it's well-known that desert night crawlers are just the thing for garden soil). How about "soil-enriching earthworms"? If you are a frontend engineer, make it your business to ask what you are selling and to whom. Keywords in page titles, headings and the rest should follow logically.

Meta Keywords Don't Matter!

Google's crawler looks for content. As a coffee lover, one of my favorite sites is (not its real name). If you ask Google for "green coffee beans" or "unroasted coffee beans" or "home coffee roasting" you will get right to this site. If you just ask for "coffee beans" it is still top 10. (If you love coffee you may know who I'm talking about.)

If you "View Source" to look at the keywords at MyFaveCoffeeSite, it will tell you "La Minita costa rican coffee huehuetenango brazil bourbon santos colombian supremo huila popayan yemen mattari ...". That's right, no commas. Google's crawler, if it even looks at meta keywords, is just confused. Google, to its credit, evaluates content and back links and knows that this is a favorite site of dedicated coffee lovers, like me, even without a single helpful keyword.

Back Links

Google grew from a college experiment that showed that you could evaluate a site's importance by evaluating the links to that site. If it was commonly linked by other sites, it was important. If it was commonly linked by other important sites, it was very important.

There are now numerous "services" that provide links to your site. Some are free and many charge. They all suggest that you could get a huge boost to your ranking by using their link service. These are dangerous.

The engineers at Google hate this sort of thing. It threatens the validity of their rankings. They are constantly on the lookout for these scams and they are constantly adding algorithms that, when they find these scams, will send a site to neverland. If you have a good site, this is not a game to play.

Google says, simply, "Don't participate in link schemes designed to increase your site's ranking or PageRank."

Desert night crawlers? Write to the scientists studying these creatures. Explain that you have a site that tells the layman why they are so important. Ask for critiques. With luck, you get back links. If you do, you have very valuable back links. A link from Professor Night at will impress Google's crawler.

Google for "desert night crawlers" and any other terms that might be related. Link to any that have first-rate information (and are not your direct competitors). Write them about their site and your link. Don't mention back links—they're not from Mars. See what happens.

Create your own backlinks by posting on forums related to your subject. Respond to a newbie question with "I've got an article on that at [link here]." Forum monitors will jump on self-promotional posts like that. However, if they find that you do, in fact, have a good article they will be appreciative and recommend your article when someone else requests similar information. Google may show your forum post when it sees queries similar to the newbie's query.

For the frontend engineer: don't be afraid to ask your visitors for back links. A few of them have their own sites. More of them participate in blogs. Lots of them are on Facebook. If your site helps them, they'll be happy to help you.

Links from other sites are known as "inbound" links. The words that appear in inbound links (link from "see <a ...>for desert night crawler</a> info") are truly key words. Key, that is, unless they come from a "link farm" run by the scammers Google hates.

Site Names

Nothing impresses the Google crawler like a site name when "" has "desert night crawler" in the keywords throughout the site. "Ah!" the crawler says to itself, "I've found the real deal for desert night crawlers!"

Before opening a new business, a potential site owner should do both of these simultaneously:

These should work together. Try "" and "Desert Night Crawlers, LLC." The domain name is cheaper by an order of magnitude. It's also more important, by an order of magnitude.

A frontend engineer should talk to the site owner if the name isn't helping the cause. (I should talk to me about What does that have to do with frontend engineering? We're almost there.)

Title and Headings

Page titles and text headings (<h1>, etc.) are important indicators of what a site's content is about. If they confirm the other keywords, Google's crawler is impressed.

The closest I recommend to "gaming the system" is to be fearless about repeating the topic in titles and headings. If a site has a page about the sex life of desert night crawlers, the SEO-savvy frontend engineer will not think that "Sex Life" is a good page title. "Sex Life of Desert Night Crawlers", even if it won't fit many browser tabs, reinforces the crawler's impression about the topic of the content.

Alt Descriptions

The alt description of images should always be there. It is used by assistive technologies for the visually impaired. The most important single visually impaired visitor is Google's crawler. It reads alt descriptions when it comes to images. The frontender should ensure that these work with the rest of the "desert night crawler" references.

Site Content

Given the above advice, there is only one more thing the frontend engineer needs to put a site above the fold: content. The frontender depends on the other stakeholders to provide articles about the sex life of desert night crawlers, the diet of desert night crawlers, the predators that eat desert night crawlers, everything about desert night crawlers.

The SEO process should begin, before the frontend engineer posts the original home page, even before the domain name is registered, by asking Google about "desert night crawlers". The site owners must study the competition. Chances are, number one is an extensive site with lots of information about desert night crawlers. If another site wants to be number one it must beat this site. (Ditto for numbers two, three, etc.)

Eventually, it is content, combined with an intelligent appreciation of how content works with headings, titles, keywords and all the rest, that will determine Google's ranking of a site. Google stresses that the top ranking, goes to the top site. The frontend engineer can, if the content is there, ensure top ranking by ensuring that keywords appear in page titles, alt descriptions and article titles and headings.

Invisible Content

Google's crawler cannot watch flash videos, it cannot read text embedded in images, it cannot follow links in JavaScript, it cannot ... In fact, it cannot see your beautiful web pages. All it can do is read your text and attempt to guess its importance based on its enclosing tags. (Text in <h1> tags should be more important than text in <p> tags.)

I'm a JavaScript master but I never forget that JavaScript hides links from the Google crawler. My handy topical list of articles at this site is backed up by a distinctly unhandy but also unJavaScript list of all articles. Google can't crawl the handy topical list. Indeed, the crawler doesn't understand "handy". It understands <href> links.

The same goes for all content served from a database. Databases are a backend concern. Whenever possible there should be a frontend alternative that allows Google's crawler to "see" the database content. (Google's crawler is a really, really fast reader.) That's enough talkin' the talk. Let's try walkin' the walk. is a name I would not have picked at the outset if I had known anything about SEO. What does "MartinRinehart" mean to the Google crawler? "Here's a site about MartinRineharts, whatever they are." (When my site was brand new, you could ask Google for "Martin Rinehart" and it wouldn't find me in the top ten, never mind finding me when you wanted a "java consultant".)

Now I've set myself a new task: explaining to the Google crawler that is the top frontend engineer's site in the world. I want to be number one when you ask for "frontend engineer".

Right now, Peter Paul Koch of Quirksmode is number one. His site has long been an important destination (often the first and only destination) when you look for cross-browser information. (How do I code this so it works in Firefox and MSIE 6?) His book on the subject, almost all of which is on his site, is the best. Being number two behind PPK would be a fine achievement.

But I've been number two already. The competition drops off like a stone over a cliff after PPK, so getting to number two should be easy. But beating PPK? Hmm.

On the bright side, PPK's domain is immensely clever and creatively tied to his site's graphics. In the end, however, it's just as dumb from an SEO perspective as Tied on that score.

Well, first thing is to convert all my old, table-layout content into acceptable CSS-based content and then to think seriously about SEO. (Actually, as you can guess, I'm already thinking seriously about SEO.)

I expect to launch my new site around February 1, 2011. I expect to watch my "java consultant" ranking (now number four) sink like a stone. I don't expect immediate results for "frontend engineer." I expect to stay number one only if you search for "Martin Rinehart".

To be public about this, my goals are to be in the top 100 by March, and in the top 10 by April. I'll add some P.S.s to this article to let you know how it goes.

P.S. January, 2011. After writing about what I thought were fictional "desert night crawlers" I asked Google. Google turned up this. Looks like there still is room for a definitive desert night crawler site.

P.S. February 1, 2011. Lost several days to snow storms. Expect to lose power today due to ice. Launch delayed. (Also, lost a day researching/rewriting this article.)

P.S.#3 February 21, 2011. Lost most of today shoveling. Am now putting links to new content on my old site. The new site design got hugely ambitious while I wasn't looking. Got to talk to that designer re inventing a stream of new widgets. (Uh, oh. The designer is me. Not really sure what to say to me.) You'll see. Maybe March something. But PPK's got to watch out!

Feedback: MartinRinehart at gmail dot com

# # #