I have been comfortably ignoring Russell Simmons’ lame urban aggregator Global Grind for years but it’s just been brought to all of our attention that they’ve gone and crossed the line from parasitic to Evil.
No longer happy to merely index, excerpt and link to your content, Global Grind is now duplicating it – putting your entire page in an iframe on a globalgrind.com url under their toolbar. So when you write a post at your site, the whole damn thing will become material for Global Grind traffic and you’ll actually have to compete with your own work at their url for Google search engine ranking.
Blogger Patrick O’Keefe has a very in-depth article describing the Global Grind violations and deserves credit for calling foul on this issue. O’Keefe also astutely draws a parallel to the recently shut down and very maligned DiggBar which was Digg’s attempt to frame user content. But Digg wasn’t as flagrant as Global Grind is being; one huge difference is Digg defined canonical url’s in their page’s metadata to let search engines know that the original source was the one to be considered the real url.
O’Keefe asks why hip-hop bloggers put up with this when tech bloggers were quick to speak out against Digg, suggesting it may be just a lack of savvy to blame. I’d like to posit an alternate theory that Digg matters a great deal to tech bloggers, and meant even more when they first launched the DiggBar last year. Digg can generate a great deal of traffic for the bloggers whose content it aggregates. Global Grind on the other hand is not really a factor for anyone. So I think the reason you didn’t hear any outrage about this previously could be as simple as web-savvy hip-hop bloggers (and there are many) weren’t aware that this was going on.
We could go on about how framing other people’s content was decried evil by everyone back in the late 90s when it first became a trend. Or how the very fact that Global Grind is doing this most likely speaks to their own state of desperation to get some sort of numbers up.
But instead, let’s talk about how you can stop Global Grind from stuffing your website under their villainous cape.
The fix is crazy simple and I more or less lifted it from John Gruber’s post on how to block the DiggBar. If Global Grind is going to be so unoriginal as to steal Digg’s questionable moves then we should just match them tit for tat with an unoriginal fix.
Click to see what this code looks like in action.
UPDATE Programmer Tiffany Brown rightfully pointed out in the comments that the code is better off using strpos instead of regular expression matching for performance reasons. Her suggestion has been tested here and updated in the posts. Thanks Tiffany.
The Code - Generic version
<?php
if(strpos($_SERVER['HTTP_REFERER'],'http://globalgrind.com') !== false) {
echo "<p>A message for Global Grind visitors goes here.</p>";
exit;
}
?>
Explanation
When a web page is linked to, the page that did the linking is considered the referrer. When Global Grind puts your site in an iframe, your web server considers globalgrind.com to be the referrer. So this code uses a regular expression pattern match to check if GlobalGrind.com is the referring site and if it is, it will output a different message and then because of the “exit” line will show nothing else on your page but that message.
Gruber’s regular expression looked different because he wanted to allow for regular inbound links from Digg to still work normally. So even while blocking the Digg toolbar he could still have a an article giving him that juicy Digg traffic.
We don’t have to worry about that with Global Grind because they don’t actually pass any kind of significant traffic. And more importantly, they don’t currently link out to any blogger’s site – a painfully lame attempt to build Google juice instead of being part of the reader-blogger ecosystem they feed from.
The Code – Sassier version (feel free to use)
<?php
if(strpos($_SERVER['HTTP_REFERER'],'http://globalgrind.com') !== false) {
echo "<p>Because of Global Grind's <a href='http://www.patrickokeefe.com/2010/04/26/global-grind-copies-content-submits-it-to-google-news/' target='_parent'>evil policy of content scraping</a>, I am blocking all traffic from Global Grind. Please support those who create instead of those who steal.<br /><br />You can still <a href='http://www.ohword.com" . $_SERVER['REQUEST_URI'] . "' target='_parent'>read this post on my site.</a></p>";
exit;
}
?>
Sassier Version Explanation
This is probably the one you want to grab. It includes some words letting the reader know that Global Grind is stealing content with a link to Patrick O’Keefe’s explanatory post.
Then it includes a link for the reader to view the post they wanted to see on your site instead of inside the Global Grind frame. Important: You will need to change the base of the url in the html from www.ohword.com to whatever your site is. But leave the http:// or the link will break.
Both links use target=_parent to break out of the frame.
How to Implement
Copy either chunk of PHP code and drop it in near the top of your page template. If you’re running a basic WordPress theme you may want to go to the theme editor under appearance in the left sidebar. Choose to edit the header.php file and paste this code right before the <body> tag. That would give you your paragraph on a plain white background.
Gruber also mentions in his post that there is javascript code out there for busting pages out of frames but that his preference is to fix the problem with PHP. An important positive about using PHP in this case that wasn’t a concern with the DiggBar (because of canonical urls) is keeping Global Grind’s content scrape out of Google. Google’s spider isn’t going to be running any javascript code but PHP code runs before the spider sees your page. So if you use this PHP code, your words will stop showing up in Google under a Global Grind url.
A smarter way to insert custom code into WordPress
Adding this fix was different for me than what I just described above. I use the Thesis theme for WordPress which has a strong ideological stance against modifying theme files, with good reason. Because Thesis is constantly improving, you don’t want to put changes in your core theme files which you’ll have to worry about maintaining later when you upgrade to a future version of Thesis.
Instead, Thesis uses separate files to allow you to add custom styling and custom programming. The programming is handled using something called hooks which are basically commands that you can add and remove at various points throughout your template. There’s a plugin for Thesis called OpenHook which makes these hooks extremely easy to work with. So instead of editing any of my actual theme files, I simply went into OpenHook and added the PHP code to the Thesis template just before the logo and nav were to appear.
You can see from this screenshot how OpenHook made adding this code totally idiot-proof. I didn’t have to worry at all about whether it would show up in the spot I wanted it in and didn’t have to worry about stepping on other code. That’s time-saving, worry-saving stuff that has made Thesis well worth the money for me.

{ 25 comments… read them below or add one }
Thesis + OpenHooks makes dealing with PHP dumb easy. I feel like a developer when I’m using it.
Any suggestions for getting ThisIs50.com to stop stealing content?
For anyone who’s running their blog through ASP (probably not many these days…) or can’t use PHP for some other reason, here’s similar code you can put into the top of your .asp page to do the same thing:
0 THEN
%>
Insert your message for Global Grind.
My bad, apparently the ASP code gets filtered out when you post a comment. Well, if anyone needs the code just hit me up.
Hashim,
Yeah it’s a really powerful combo. It also helps for when you’re making Thesis look completely different. I’ve done two brochureware type sites using Thesis now which made heavy use of hooks. One of those was before OpenHook came out, one after. A world of difference.
Fresh,
Thanks. Looks like some your code got hidden though. Damn opening delimiters? Is there any popular blogging software that uses ASP?
Hey Rafi,
Great work on this.
I appreciate the mentions and links in the post and code. I enjoyed the post, as well. Great points.
I think your point about Digg being more important to tech than Global Grind is to hip-hop is a reasonable one, too. I do think that people in tech (who write about tech) are much more sensitive about this stuff and have a generally higher understanding of why this is wrong and what they can go about it.
That said, there are no such things as pure groups. Some people in the “tech” crowd are also in the “hip-hop” crowd. You and me, for example. Haha. So, there are plenty of tech savvy people in this space. Those of us that are wise to this stuff can hopefully educate the people who are not so up on it, as I tried to do in my post and you did here.
One of the greatest things about writing the post is the bloggers who have come to me and said “wow, I knew this was going on, but I had no idea I could do anything about it!” They thought that they had no recourse and now they know they do. That has been rewarding.
Thank you for contributing to and supporting this endeavor. I appreciate it.
Thanks,
Patrick
Hey Mr. Warren,
http://www.plagiarismtoday.com is a TREMENDOUS resource. If ThisIs50.com is stealing your content and you can’t get them to stop through normal channels, file a DMCA notice with their host. They are on Ning. See details here: http://about.ning.com/legal/dmca-notice.php
See http://www.plagiarismtoday.com/stopping-internet-plagiarism/4-contacting-the-host/ and http://www.plagiarismtoday.com/stock-letters/ for a helpful guide and stock letters that you can use.
The unfortunate reality is that, if they are copying content, it might not be automated. It might be some person doing it. It’s pretty difficult to stop scraping as a whole (I assume you can try to identify the scraper’s IP and then block it on a server level), but it’s extremely difficult to stop a human.
I really sympathize. Some of the articles I’ve written at Bad Boy Blog have taken 10, 20 – even 80 – hours of work and to see someone just copy and paste it is really disheartening.
I hope that this helps.
Thanks,
Patrick
you know how any time you post a code sample, somebody tells you what’s wrong with it? yeah. i hate that guy too …
anyhow: if(strpos($_SERVER['HTTP_REFERER'],’globalgrind.com’) === true) would work too, and it’s a little less resource-intensive.
Tiffany FTW!
I only dabble in PHP on side projects so I’m glad to be schooled by a pro. Still, I should have thought to use strpos instead of reg exp since there’s nothing complex about the string check.
Thanks for the correction.
Tiffany,
Actually switching to your code didn’t work. I’m going to look into why later on when I have a chance. I used the 3 =’s and everything.
Also, I have a question inspired by your insight. Since I know the referrer should start with “http://globalgrind.com” is there an argument to be made for using substr instead of strpos in cases where we know the needle is right at the beginning? Or how does the performance compare?
Is there a quick fix for Typepad blogs like mines? Please in mind that I am not that technologically savvy. You have to explain in layman terms.
And are these sites just as bad:
Pylon Sounds
[ http://www.pylonsounds.com/swaps/?q=aggregator/sources/116&SESS32cc09cbbd9449113582a7b7b0658b5a=abfe26175e65960fdb95be6cdb95569c ]
HipHopBlips
[http://hiphopblips.dailyradar.com/story/no-funeral-for-guru/ ]
I don’t like what they are doing. I appreciate them bringing me traffic, but I just don’t like how their sites are set up.
*Kanye Shrug*
And look at this shit
http://music.mattters.com/tribune
Almost every story from every hip-hop blog on the Internet is on the front page of this website.
I don’t like this . . . .
Am I wrong? *shrug*
Trent,
I can’t see the pylonsounds site because it’s blocked at my work but the other 2 are only excerpting a small amount and then linking to the actual content source so there’s no real violation. It may seem unfair to content creators that these places sort of leech off of us but really they’ve just automated the act of sharing links. No problem there.
GG on the other hand is actually stealing whole articles and running them as their own as Patrick blogs about. And also what I’m talking about here which is running other people’s content in their own frame page setups, where every link on your site now leads to a global grind page showing your site. It’s totally fraudulent.
As for typepad, I’m really unfamiliar. As far as I know, you can’t add PHP code to a typepad template but maybe you can verify. If you can add PHP you can use the code above.
To get back to your earlier question, of the small minority of blogs that don’t use a prepackaged setup like wordpress or blogger I’d imagine most are using something written up in ASP (or .Net). Though now that I actually look, the only sites I can find at the moment are my own and allhiphop.
And yeah, the opening and closing delimiters seem to be what screwed up my comment.
To Rafi,
Sites like these [ http://music.mattters.com/tribune ] may not be in violation, but they are making money off of us with the advertising.
My thing is this, if you are going to host a website like Music Matters and HipHopBlips and none of it is your content and there’s ads on it — you gotta give the author a piece of the advertising revenue.
That is my main issue with all of these “aggregator” websites, including Global Grind. The reason why GG puts content in “enclosed page setups” is to make money off the content.
You should add into that PHP code a “pay aggregator” line, that states: [said website], congratulations for choosing this content. That will be a $100. We will send you an invoice. Thank You.”
But I know this is totally off-subject for this post.
In my opinion, Global Grind and all of these “aggregator” websites are content robbers. Fuck sharing links, pay me.
I appreciate your point, Trent. I can understand why you’d feel that way.
Personally, I would say I don’t have anything against a page like the one you linked to or http://feedoffrap.com. There is a market for content curation and aggregation. In many ways, it’s the same as social bookmarking and social news. Where does it stop? Can Digg not have ads because they have some small excerpts? Can Delicious not have ads because they have our titles and, in some cases, probably excerpts? If it’s too strict, we’ll lose out, I believe.
You can quote excepts of work and you’re fine. For the most part, it’s fair use (especially with source links). Both Music Mattters and FeedOff Rap have excellent source link visibility.
There is just absolutely no room for what Global Grind was doing, which was wholesale content theft. Personally, I didn’t mind their bar, but others might and understandably so and you are free to block them as Rafi has mentioned.
You can also ask sites like Music Mattters or FeedOff Rap to remove you, as well.
Just my thoughts.
Thanks,
Patrick
d’oh! that’s what i get for being a smart a**. made a rookie PHP mistake too. that should be:
if(strpos($_SERVER['HTTP_REQUEST'],’globalgrind.com’) !== false)
sorry about that.
No worries! Thanks for the suggestion. I’ve changed the code I’m running and about to modify the post with your tip.
I disabled my RSS feed because of aggregator sites were coming up in search engines before me with my own content. It is so frustrating. What can bloggers do about that?
Cocoa,
What’s your site?
So if I understand Rafi and Patrick correctly, GG is making a profit from the works of independent bloggers. That being said GG functions as a website in which all revenue is ad based. GG (they are) is stealing content and a proper lawsuit should award the original blogger with compensation. To increase the amount of compensation I suggest we frequently view pages containing the stolen material therefore increasing GG’s liability. I’m pretty sure this is unethical but what GG is doing is illegal and sometimes you have to get to get dirty in the trenches to win the war.
To Rafi and others,
I talked with the Typepad tech team, they don’t allow PHP code to a Typepad template.
They gave me this code to add to my blog, but I don’t think it will block GG from framing my stuff.
if (top != self)
top.location.replace(self.location.href);
Although I did a check and it seems my stuff is not framed anymore, maybe because the content was old (’09 stuff).
But GG was framing my content, which is why I am in an uproar over all of these aggregator websites.
To Chris,
Lawsuits cost money. I say, let’s block these fools before they even start aggregating any of our websites. Tell these mofos to lay off and create their own content. That’s what I’m doing and I’m not even rich.
Sidenote: I’ve been looking around, and I think I might be the only hip-hop blogger on Typepad. Damn! Is WordPress really that awesome to use.
#justsayin
Thanks
Trent,
If you’re considering moving to WP, there’s an app for that:
http://www.ohword.com/blog-setup/
And yeah the code they gave you uses javascript to bust your page out of being framed in a page for any visiting browser that runs javascript (most of them).
The problem is search engine bots ignore javascript so they’ll still see and index your content at Global Grind.
can you do thi for me, debt settlement price [url=http://about.me/debtsettlement#1]debt settlement price[/url], cvlas,
GScraper is fastest and most powerful scraper on earth, and GScraper support any anonymous posting platform. If you’ve never used that, you simply can not imagine scrape and POST can crazy to what extent ! We are so confident of that we are willing to let you try basic version for free. These functions will blow your heart! google22222222222 http://www.google.com
{ 5 trackbacks }