CAUTION: Rant Ahead
I was alerted to the Promote JS! site today by a programmer pondering the benefits and tweeting to ask about the SEO logic behind the idea.
Basically, Promote JS! is a cause born out of the JSConf held in April this year. The idea is for JavaScript programmers to spread the word about Mozilla’s JavaScript Developer Center via the use of links to try and improve Mozilla’s Google ranking for searches relating to JavaScript documentation.
A noble cause right? Maybe. However the implementation is inherently flawed in several ways:
1) First of all, the site provides a banner for web site owners and bloggers to place on their sites. The banner uses a script which creates a link to a different page of the Developer Center at every refresh so you can choose the destination link of your choice. This method is just plain silly, in my opinion. They’ve taken a noble idea and tried to implement it using link farm tactics. A series of identical banners with nearly identical link code smells very much like an affiliate program to Googlebot. Their code has basically created an affiliate link farm which is likely to be filtered out by Google’s ranking algorithm, potentially doing more harm than good to the Developer Center’s link popularity.
2) The alt tag for the banner is stuffed with multiple JavaScript related keywords. Keyword stuffed tags of any kind can easily be detected and ignored by Google’s ranking filter. There’s just no need to shove multiple keyword repetitions in there.
3) Developer Andrew Hedges had written a blog post about Promote JS! questioning the value of linking to multiple sub pages of the JavaScript Developer Center and suggesting perhaps everyone should link to their home page instead. He cc’d me on his tweet asking for SEO advice and inviting comments on his post. My response is that people should link to ANY page in the Developer Center that they 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) Andrew had also tweaked the Promote JS! code somewhat to create a banner that generated a random link at every refresh. In my opinion, this method is also flawed. Link popularity 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, right? Google won’t be counting your links as trusted. They are looking for solid, stable links from directly related topic pages.
This is another reason why it makes sense to link to specific inner pages at the JavaScript Developer Center, 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 search queries.
Promote JS! shouldn’t be creating link farms to promote the value of the JavaScript Developer Center. They should simply be encouraging developers to use logical linking strategies as recommended by Google to promote great content. Either that or convince Mozilla to make their JavaScript documentation more search engine friendly!
I’m sure there’ll be developers out there who disagree with me and that’s fine. 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.
My SEO knowledge is limited at best, but I certainly understand your concerns and believe you are making some good points. What I think you do get is that there is passion in the community around this topic, ready to be harnessed.
To a large extent, I think the issue is that sites like w3schools have a profit incentive for creating well-SEO’d docs: PVs => ad impressions => $$$. For a site like MDC, or any other site trying to create quality content that’s not ad-supported, the rationale for dedicating resources to SEO isn’t as clear, no matter how necessary it is.
I don’t know whether you have much interest in JavaScript, but if you have any at all, I’d love to hear more about what you think we can do as a community, proactively but also responsibly, to 1) increase the visibility of good JavaScript content and 2) decrease the visibility of terrible JavaScript content. I realize that the latter may only be able to happen as a result of the former; on the other hand, perhaps there are people who are linking to terrible content who could be persuaded to stop.
Anyway. Would love to hear more of your thoughts on this, either via your blog or email. I’m glad Andrew reached out to you ?
Interesting article and as you point out what is wrong with the implementation, I’m curious as to what solutions you could provide the community in order to make it more SEO friendly.
Seeing that your blog contains “Search Engine Advice” in the tagline, I’m curious what type of advice you could offer? Specifically?
DISCLAIMER: Instigator of PromoteJS
Your article seems to miss most the context necessary for your evaluation. First the driver behind PromoteJS is to encourage the top developers in the field to begin linking back to the proper documentation through articles and blog posts and other new content. If they wanted to strike something quick and fast, the button is there – but the whole of PromoteJS is something far more encompassing and long tail. Granted I am guessing you were “alerted” via 140 characters and just went to the site so it is understandable. But I would question your severe negativity on this especially given the volume of completely organic and natural linking through posts and articles already published, much like yours – which by the way, thanks for not including the nofollow/noindex rel attribute on your links.
In your argument of affiliate link farms, I would agree if you every blogger and site owner did it, but lets be honest, not that many people will do it. The key is that those that do are the head of the community and prolific about contextually similar/appropriate topics and they will continue to link in the articles especially now that they are aware of the issue. The key to the entire effort is awareness by those who know better of how bad it really is and getting them to realize it and to change. So point 1, in context seems silly.
Point 2, I can see from a non-JS developers as being correct, the problem is that for a JS developer all name and alt tags are generated based on actual links in order to provide actual context for actual queries to actually correct content. See your very own point about the relevancy weight of specific pages to the whole and why altering name/alt tags in order to best tailor to the target link is proper.
As for improving the MDN docs, we are working on that as well.
Nice article, but I would contend that a bit of context would have helped.
Thanks all for your comments. @chris – It’s true that I didn’t have the entire context before I posted. I’m sorry if you feel my post was severely negative. I didn’t mean for my tone to be perceived that way. As stated, I do believe the idea is a noble one and the thoughts behind it are all well-meaning. I just see a LOT of programmers coming up with stuff they call *guerilla SEO* in a misguided effort to trick Google into ranking their sites or their clients sites higher in the SERPs. I’ve had to undo a lot of damage to web sites in the past 15 years caused by these sort of tactics and it just bugs me because there is no need for it. My point was – rather than create a slice of code that will do very little to help the MDC rank better, why not educate programmers as to how to use best practice SEO when linking to MDC? As for point 2) – the number of keyword repetitions is the issue there, not the use of contextual keywords in the links or tags themselves. Too much keyword density can be as bad as no keywords in some cases because it can trip anti-spam filters.
@Rebecca @Joe – Thanks for reaching out. I’d love to provide some ideas to help MDC rank better and improve their SEO. Rather than add these ideas to the comments in this thread, I think the topic is worthy of a blog post, so I’ll take a good look at MDC documentation and make a post here shortly. I appreciate your feedback!