andrew.hedges.name / blog

I’m a bad tribe member.

September 26, 2010, 1:26 pm · 9 comments · Filed under: JavaScript, Twitter

On teh internetz, badges and ribbons are a signifier of tribal affiliation. I’ve taken part before, like during the height of the election crisis in Iran and in support of internet freedom in New Zealand. Today, I questioned whether linking to pages in Mozilla’s excellent Developer Center JavaScript documentation is the best way of boosting its Google juice. How dare I?!

I want better JavaScript documentation to show up in search results as much as anyone. If, as PromoteJS promotes, gazillions of us link to MDC, it will show up higher in search results. I get it. What I question is whether it makes sense to link to random pages within the documentation rather than linking to the top of the JavaScript section.

I’m no SEO expert, so I may have a misunderstanding of how these things work, but aren’t we diluting our power by linking to a bunch of different pages rather than all linking to the same page? Let me know in the comments.

I could be easily convinced that this is a good idea, but I’m kind of skeptical by nature, so telling me “don’t question it, just do it!” actually makes me way less likely to participate. I link to MDC in my blog posts about JavaScript whenever it makes sense, so I feel like I’m doing my part. I can do without the groupthink.

To be fair, I probably fell victim to the 140 character communication bug. I could have been more clear about my concerns so my question could not have been taken to mean I don’t at all understand the concept that links = SEO.

Blog posts from which I link to MDC

Update: I’ve decided to be a good doobie and play along, but on my own terms. In the right rail, you’ll notice the PromoteJS badge. What I did was collect all of the links they offer up and set it up to randomly serve a different one with each page view. (I also standardized on the smaller of the 2 images and deleted the trailing slash on the IMG tags. I don’t do XHTML.) It’s a simple hack and you’re welcome to use it. [source]

<?php

$promotes = array(
    "<a href='https://developer.mozilla.org/en/JavaScript' title='JavaScript Reference, JavaScript Guide, JavaScript API, JS API, JS Guide, JS Reference, Learn JS, JS Documentation'><img src='http://static.jsconf.us/promotejshs.png' height='150' width='180' alt='JavaScript Reference, JavaScript Guide, JavaScript API, JS API, JS Guide, JS Reference, Learn JS, JS Documentation'></a>",
    "<a href='https://developer.mozilla.org/en/JavaScript/Guide' title='JS Tutorial, JavaScript Tutorial, JavaScript Guide, Learn JavaScript JS, How To Learn JS, Learning JavaScript'><img src='http://static.jsconf.us/promotejshs.png' height='150' width='180' alt='JS Tutorial, JavaScript Tutorial, JavaScript Guide, Learn JavaScript JS, How To Learn JS, Learning JavaScript'></a>",
    "<a href='https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array' title='JavaScript JS Documentation: JS Array lastIndexOf, JavaScript Array lastIndexOf, JS Array .lastIndexOf, JavaScript Array .lastIndexOf'><img src='http://static.jsconf.us/promotejshs.png' height='150' width='180' alt='JavaScript JS Documentation: JS Array lastIndexOf, JavaScript Array lastIndexOf, JS Array .lastIndexOf, JavaScript Array .lastIndexOf'></a>",
    "<a href='https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function' title='JavaScript JS Documentation: JS Function arguments, JavaScript Function arguments, JS Function .arguments, JavaScript Function .arguments'><img src='http://static.jsconf.us/promotejshs.png' height='150' width='180' alt='JavaScript JS Documentation: JS Function arguments, JavaScript Function arguments, JS Function .arguments, JavaScript Function .arguments'></a>",
    "<a href='https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Number' title='JavaScript JS Documentation: JS Number valueOf, JavaScript Number valueOf, JS Number .valueOf, JavaScript Number .valueOf'><img src='http://static.jsconf.us/promotejshs.png' height='150' width='180' alt='JavaScript JS Documentation: JS Number valueOf, JavaScript Number valueOf, JS Number .valueOf, JavaScript Number .valueOf'></a>",
    "<a href='https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp' title='JavaScript JS Documentation: JS RegExp test, JavaScript RegExp test, JS RegExp .test, JavaScript RegExp .test'><img src='http://static.jsconf.us/promotejshs.png' height='150' width='180' alt='JavaScript JS Documentation: JS RegExp test, JavaScript RegExp test, JS RegExp .test, JavaScript RegExp .test'></a>",
    "<a href='https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String' title='JavaScript JS Documentation: JS String split, JavaScript String split, JS String .split, JavaScript String .split'><img src='http://static.jsconf.us/promotejshs.png' height='150' width='180' alt='JavaScript JS Documentation: JS String split, JavaScript String split, JS String .split, JavaScript String .split'></a>",
);

echo $promotes[rand(0, count($promotes) - 1)];

?>

Update II: I’m not above flip-flopping. Based on Kalena’s comment, I’m taking down my randomly generated links and will just link to the main JavaScript section page on MDC. That seems like the best way to build its PageRank while not risking actually making the situation worse by changing links or potentially linking to topics that don’t pertain to the blog post itself.


Short URL to this article:

9 comments


I think you’re right. I’ve added it to my blog, but linking to the top-level. However, the specific things are not to promote “JavaScript” in search results, but for searches like “JavaScript Array”. I still think we should focus on raising the ranking of the root, because I think it will help everything beneath it as well.

Hi Andrew, a couple of comments if I may:

1) I don’t know how long the Promote JS site has been live, but it doesn’t have a Google PR, so it’s either too young or hasn’t built up any TrustRank. Make of that what you will.

2) Their method is just plain silly, IMO. They’ve taken a noble idea and tried to implement it using link farm tactics. Their code has basically created an affiliate link farm which is likely to be filtered out by GG’s ranking algorithm, likely doing more harm than good to MDC’s link popularity.

3) People should link to ANY page in the MDC that the want to promote! If their blog post talks about APIs, they should link to the API documentation. If they were impressed by a particular javascript tutorial, they should link directly to that tutorial. The whole point of the PageRank algorithm is to attribute relevancy weight based on inbound links to specific pages. It’s not about the top level domain. If everyone points to the home page, the inner pages - those containing the most valuable, useful content - won’t rank as well. For a web site to rank well for a wide number of keywords, you need to spread the link juice, not channel it to a single page. You have to trust Google’s own system of rewarding good content - they have a zillion brains working on this full time.

4) I’m afraid your method is also flawed. The whole point of PR is based around the acquisition of trusted, related, inbound links to a page. If links appear and disappear to a page, that’s hardly trustworthy, yeah? Google won’t be counting your links as trusted. They are looking for solid, stable links from directly related topic pages. Which is another reason why it makes sense to link to specific inner pages at MDC, based on your specific blog post topic/s. If your blog post talks about javascript drop down menus and it points to the documentation specifically about those, the TrustRank of that page goes up, as does the eventual ranking potential for related searches. Make sense?

Ok, rant over :-)

It seems to be a common mistake to over think a Google manipulation ploys. Google has spent vast amounts of time, stacks of cash and many, many PhDs building algorithms that interpret natural linking behaviour into relevancy results. Ergo, the way to improve the rank of MDC is to do what comes naturally.

I hear the concerns about this campaign, but I think they leave out one important question: what’s the matter with linking to a good resource about JavaScript from a site (such as my blog) that is largely about JavaScript? Other people link to w3schools as a resource (and they should stop). While my intention may be to have a positive effect on the MDC’s search result placement, is it not plausible that my intention could just be to provide a pointer to a good resource? Perhaps Google can read my mind but I’m hopeful they haven’t figured out how quite yet.

All of that said, I believe I’m going to make the same change that you did, and also link to the main JavaScript section, as that is the most accurate reflection of what I intend people to find when they click on the link.

Hi Rebecca,

As I learn more about it, I think one of the main problems is the construction of the link itself. Stuffing the title and alt attributes with keywords is likely to get MDC dinged by The Googles. Noble intentions, poor implementation on the part of PromoteJS.

Yikes, I put the wrong link in my previous comment. Here’s the right one:

http://j.mp/bXrc92

Hi Rebecca

There’s absolutely nothing the matter with linking to a good resource about JavaScript from your blog that is largely about JavaScript. I believe that’s my point :-)

This natural linking behavior is exactly what Google rewards. It’s only when people get caught up trying to artificially inflate inbound links to a site using short cuts or dodgy methods that issues arise.

If developers want the MDC to rank better in Google, they should link to it when/where it seems natural to do so. This is usually from content such as blog posts, articles, tutorials and white papers. There’s nothing wrong with using logical anchor text keywords within your link - just don’t go overboard with too many keywords or repetitions.

Linking to inner documentation pages rather than the home page will improve the PageRank of less-linked pages and should therefore boost the MDC’s eventual ranking for a whole range of JavaScript related keywords.

Oh and thanks for your comment on my post!

i agree with them all linking to one page, but how about ditching the image element and using background-image? image replacement is much better for seo. plus, you can even but strong or em inside the anchor, for more effect. i know that most image replacement techniques aren’t entirely optimal for screenreaders/accessibility, but if you want straight up seo, i think this is a much better way to go.

After much discussion here, on Twitter, and on IRC, my refined understanding is that PromoteJS links are likely to be filtered out of PageRank calculations, however cleverly they are implemented. I still think it has value as a way of raising awareness about MDC as a resource. That’s all good. I’ll keep the badge on my blog.

It sounds like there is also an effort queued up to encourage bloggers to write articles about JavaScript, articles that link to good resources and don’t link to bad resources. I’m all for it.

Watch this space (where by “watch this space” I mean, of course, subscribe to my RSS feed) where you will see more blog posts on the topic of JavaScript, Real Soon Now.

Comments close automatically after 15 days.
Still have something to say? Drop me a line!