How I Smacked Google Penguin In Its Ugly Little Beak

Posted on September 3rd, 2012. Written by Nick LeRoy.

I have access to a lot of website between my full time SEO gig  and my personal websites.  I never had an issue with Google Panda or Penguin updates until one dreaded day.  May 24th AKA Penguin 1.1 release.  Here’s my story, full of panic, failed attempts to “fix” the site and a “recovery” from one of the little fury creatures.

So It Begins:

Let me tell you a little something… it seems that anytime I go on a vacation where i’m completely removed from the internet there is always some sort of algorithm change.  Most of the time they seem to benefit me but this time I nearly dropped my iPhone as I saw an extreme drop in Adsense revenue from one particular website that was making between $100-$150 a month on average (100% passive BTW).  Upon getting home I jump on Google Analytics to see this sharp drop in traffic… shitty.

Traffic dropped about 75% and the site that made on average of $5.00 a day was lucky to be making a quarter.  After waiting it out for a couple weeks to just make sure it wasn’t some stupid ranking fluctuations I knew I had to fix something.

Identifying The Culprit:

As much as I would like to claim ignorance I knew this site was built fairly aggressively for both Adsense and rankings. So I pretty easily made a list of what I believed could be an issue with the website.

  • The domain was an exact match domain that included FOUR dashes.
  • Exact match internal anchor text was used heavily in a “list” format at the bottom of deep pages to related content.
  • The website used a slightly modified version of the default WordPress 2011 theme.
  • Inbound links were heavily optimized for the domain name which was exact match (with hyphens). Anchor text was 90% exact match for the domain name or the URL itself.  10% random “here” or other generic anchor.
  •  A single paid link.
  • Every internal page used a content template that only required each page to be slightly modified in order to rank for that variation of the keyword.

Now that I had a list of possibly culprits I had to tackle each one individually.  It would end up taking me 3 months of casually fixing up components of the website before it came back (kinda – i’ll explain later).

Exact Match Domain With Four Dashes

I knew the domain was spammy when I registered it but I wanted an exact match domain for the “natural” URL link benefit.  I ranked extremely well (top 3 for main keyword) before and didn’t see a reason to get rid of it just yet.  Though I will admit it was tempting to throw the entire site on a new domain I kept the domain.

Heavily Optimized Internal Links

Each internal page of the website had a small list of 4-5 internal links that were heavily optimized for the keyword phrase I was targeting.  This was the very first culprit I tackled.  When I changed the anchor text of these links I saw a very small uptick in traffic but nothing to ensure I had recovered.

Using Default WordPress 2011 Theme

I never truly thought this was the issue but it was a good excuse to take some of the money the site made and invest it back into the site.  I found a designer/developer on oDesk.com and after a torturous relationship I was able to get something half-assed up.  There are still issues with the design but nothing that accounts for the drop in traffic.  The design is what I continue to call a work in progress.

Lack of Anchor Text Variety

I had assumed because I had the exact match domain (despite using FOUR dashes) I was safer than usual for over optimized anchor text.  90% of my links were exact anchor text or utilized the URL.  Once the website tanked I did very little link building (which you will see hurt me even in my “recovery” later.)

My one attempt at link building was writing an eBook and publishing a press release.  The press release was a failure as it didn’t secure me any decent links.  I do however have a legitimate resource to do manual link outreach in the future. Though getting e-mail responses in this niche I have found to be very difficult.

A Poorly Purchased Link

I have never been afraid to buy links if they are purchased correctly. However, there was a time where I stupidly bought a link based off a sites PR and because I was an “early” buyer so the site has yet to be spammed to death.  Of course over the months this had changed.  As I became more knowledgeable I had noticed this site was a dropped domain (why the PR was so high) and of course other link buyers had bought links as well so my link was sitting next to a bunch of spammy unrelated links.   I had attempted to reach out to the seller months before the drop in traffic to get the link removed without any luck.  With that said, I moved forward not thinking anything more of it.  Fortunately the link was temporary and the seller came back looking for a renewal… I was happy to tell him to remove it, which he did shortly after.  Unfortunately for me my rankings and subsequent traffic stayed the same.

Templated Content With Minor Changes — THE CULPRIT!!!

This website has over 50 pages utilizing a content template where 90% of the content is the same with roughly 10% being absolutely unique.  While it was a lazy decision (and cost sensitive) the content was still valid for visitors and helped me increase my rankings for 50+ additional keyword phrases.  This was the whole purpose of Panda & Penguin taking effect but I had convinced myself I was immune due to my site not being hit by the first iteration of Penguin.

Slowly but surely I started to rewrite each of the 50 pages of content.  Still the same type of content but simply “unique” from one another.  Page after page I updated and it would get indexed in Google without any recovery signs.  You can imagine after about 35 pages being rewritten without any benefits I got frustrated.  Instead of finishing the remaining pages I decided to simply no-index / no-follow the pages that had the old templated content.

In about a weeks time, Google had returned to the site and removed the templated pages from there index.  I immediately saw a large improvement in my rankings.  Post penguin I was ranking third/fourth page for my exact match keyword and after these pages were removed I jumped to the bottom of page one.  I also saw the same pattern for the internal pages and their targeted keywords.  I had recovered!  Kinda.

Recovery Yet Still Not The Same

My site was practically invisible for about three months.  Outside of the single PRWEB Press Release I didn’t build many links.  As most SEOs know there are very few websites that sustain rankings without manually or “naturally” acquiring links.  So, while I had recovered from the ugly Penguin my ranking still were lower then before.  My competition had multiple months of link building and content generation while I pounded out fix after fix.  By the time I had recovered they had overtaken my previously held rankings.   Looking at my Analytics you can see the recovery but it’s not nearly as impressive as some previously reported recoveries.  The results are more so in individual keyword rankings.

To this day most of my main keywords are at the bottom of the first page or the top of the second page within Google.  Because of this my Adsense revenue has still taken a hit but is still above what it was for the three months I was non-existent.

Lessons Learned + Notes

The biggest lesson I learned was that I need to check my SEO ego at the door.  I’m not talking about caring what other people think of my techniques or abilities but my own personal thoughts.  I can’t even tell you how many hours I spent making these fixes and upgrades to a website that makes less than $200.00 a month.   I couldn’t let it go, I wanted to know that if I wanted to I could get back in the game and still make this site profitable.   In the end, I likely spent most of the money that I made from it outsourcing design, development and logo upgrades.  I also spent countless hours tweaking elements of the site and re-writing content.

While I know the rankings will come back in addition to the Adsense revenue the biggest lesson I would share with other SEOs is to figure out when it’s best to simply cut the cord.   I have other projects that I should have spent time and money on instead of fixing this website… LIKE MY NEW EBOOK!  My ego simply couldn’t handle it.  Hopefully you can learn from my mistakes.

I also am a firm believer that Google hates domains that use multiple dashes… but that’s a different post.

UPDATE – Penguin Update Occurring?

last night I checked Google Analytics for this site and noticed a 50% increase in search traffic. Barry Schwartz has yet to confirm with Google that an update is underway but speculation can be read here: http://www.seroundtable.com/google-update-september-15664.html

No Hats or Bullshit. I'll Show You How To Rank
Sign up for the newsletter

71 Responses »

  1. Love your honesty Nick. I disagree with cutting the cord though – without going through the process you don’t really realize how duplicate content can really hurt you – and how much “unique content” is required for something to be considered unique in Panda’s eyes. Thanks for empowering the rest of us with your case study.

    • Hey Victor – I completely understand where your coming from. I was talking from a time = money standpoint. I wouldn’t be an advocate in quiting a site that was nothing more than a passive income website. Some of the best SEO techniques I have accumulated over the years are from instances where i’m digging myself out of the trenches.

  2. So basically, Google took a site that you knocked up in 2 weeks and put it in it’s place.

    Then you spent 3 months making it into a worthy site and you recovered.

    I’d say Penguin did it’s job! ;-)

    • Forgot to mention, great post and I enjoyed reading about your experience. It’s made me question a few specific areas of the sites I manage too.

      • Thanks for dropping by Andy. I could argue that the site added value and that each page gave exactly the information the visitor was requesting… however the info/data just happen to not be so different from page to page. So while Penguin did do “it’s job” I would also argue that part of it’s logic is faulty.

        Though I am more than happy to be one of the ones who get caught in Penguin/Panda if it means that the true web spam sites get nailed.

        • I disagree that the logic is faulty. There have probably been some false positives where legitimate sites have been hit bit I would argue that these have been sites that have employed some kind of SEO work that is all about rank and not about the end user.

          I really enjoyed your post Nick, and I fully understand you spending a lot of time on a site that doesn’t bring in a large return. Your knowledge will be invaluable to you in other ways.

          The one thing I would say is that it is clear the site that was hit was created just to target rankings in order to earn Adsense revenue. Google Penguin is all about trying to boost websites that are created for end users and deranking sites that are trying to just earn AdSense revenue. The duplicate content on your site would have flagged your site in the latter category. Duplicate content in itself isn’t too bad, but where it is clearly there to spam the engine, it will be hit.

    • Steve, The site offers legitimate information for the people visiting the website. So yes, while monetized somewhat aggressively with Adsense it definitely still offers value to site visitors. The only issue I had is that my keyword phrases are very similar and the answers are almost identical. For instance if I were writing a review about a green T-shirt and then the same T in red. It’s the same shirt just a different color so only so much can be different. Then on top of that if I have an Adsense advertisement offering 50% off that exact T – is that strictly being manipulative? If by being smart enough to go after different keyword sets that are related is manipulative then I guess I am ;)

  3. Are you sure this was a Penguin hit, and not a Panda hit?

    • Hey Donna, this could very well of been a Panda hit but I was more inclined to say Penguin due to the drop in traffic being associated with a known penguin refresh. I’ve definitely been wrong before though! :)

  4. All I’ve got to say is well done for being so open and honest about your experiences.

    Whilst you have seen a recovery, will be interesting to see what happens with the site when the next Penguin update arrives.

  5. Thanks for sharing this Nick! I think you’ve had a few things going on with your site…a little bit of Penguin, and a bit more of Panda.

    I’m not sure if you knew about my fascination with Penguin/Panda and other reasons for traffic drops, but I have created a website to help webmasters figure out reasons for their traffic to decline. I am always looking for stories of recovery, so I wrote about your story here.

    You’ll see in my article why I think this is more of a mild Panda recovery. :)

    Marie

    • Marie, I do tend to agree that this could have been a Panda update just as I mentioned in my response to Donna. I just happen to correlate a couple key penguin dates into my sites demise & “recovery”

      The press release while didn’t pick up many quality links still was valuable in the fact that it got scraped. I intentionally used a URL link to the blog post and generic anchor text back to the homepage. My thought was that IF it were a penguin related issue this could help even out my inbound link anchor text.

  6. Way to be honest and allow others to learn from your experience. I had a similar problem with a site of the likes but I went other routes and lightly regained traffic post-penguin. I also agree that Google truly hates multi-dash keyword rich domains.

    • I don’t have much to hide besides the URL. The only reason I do that is because I don’t feel like competing with the people who would instantly reproduce the site in hopes of making a quick buck.

  7. It was a very great experience while going through post.
    Really…Hat’s off Master….
    I have seen some people still struggling to recover and some had give up.
    This post will be wake up call to them….
    Please make me correct if I am wrong, you are at the stage where you can easily judge “what algorithmic changes will Google do?”

    • Nobody can make the claim that they know what Google will unleash as in the next algorithm update. You can only conduct tests and be as reactive as possible.

  8. Interesting. It is only me who’s seeing a pushback from total criticism of backlinking and exact match anchor text a few weeks after Panda? It seems we’re going from one extreme to another extreme and no one’s really in the know about what works. This kind of firsthand tests help clarify a lot.

  9. Hi Nick,

    First of all, thanks for the post. But I have a question about your pad link. Did you look at the Google Webmasters Tools the date where that link disappear?

  10. i am addicted to these types of articles. One thing I should mention is that we saw an bounce-back on a handful of sites we manage last month. We have seen sporadic “recoveries” out of the blue for awhile actually. Usually these upticks have been occurring without any action on our part, so it’s really hard to have an idea what does and does not work.

    Your steps all seem reasonable, yet I am still doubtful if internal linking optimization is really much of a factor. Otherwise Wikipedia would be fu$#ed. Anchor text is still a huge signal with search engines. Unless your talking about a phrase in every third sentence containing a link, we’ve found the internal linking paranoia is about as founded as Bigfoot.

  11. Since when are domains with dashes “exact match” ?

  12. Also,

    From your graph, I’d say you were hit in the initial Penguin update in April. Then you got hit again by a Panda update in June. You recovered from Panda in August. This post should titled Panda recovery.

    You’re still haven’t recovered from Penguin, which as far as we know hasn’t been refreshed or updated in over 3 months (since May).

  13. Not going to lie… the only reason I read this post was because of the title! Very clever! You should roll your recovery data into a penguin-getting-slapped infograph. ;)

    • I’m glad the title was enough to get you here. I hope the content and supporting data interested you as well. Thanks for dropping by Heather!

  14. Thank you for sharing openly. Anyone who reads this post will benefit. Writing about your experience did not only help me, it makes the Internet more valuable and more fun.

  15. Thank you for writing such an interesting post. When I read your article, there were a lot of points that resonated with me… a sudden drop in traffic, very specific anchor text, template pages on my website, and dubious inbound links. You have given me a lot of food for thought. I have not been as effective at getting my site to rank, but I am still trying!

    • Thanks Brian! I think a lot of people (SEO & NOT) are dealing with these issues. There are a lot of posts documenting the drop of traffic but very few documenting a recovery process. I just wanted to put out a positive vibe that it can be done! Just gotta work hard at it. :)

      Good luck on your efforts — keep plugging away, you never know whats going to work until you try it.

  16. There’s been no documented Penguin refresh since the 1.1 one, so personally I’m thinking your “partial” recovery has more to do with Panda (which focused more on content anyway), rather than Penguin. This syncs with the fact that after you updated the content, the site improved somewhat. I think the next time a Penguin refresh runs you’ll find out whether you recover from that as well.

    Then again, for all we know Google might have decided to keep the update releases secret, to prevent SEOs from reverse engineering the algo…

  17. This seems more like natural recovery / fluctuation than it does a direct result of the changes you made. Good systematic approach and quality content always helps, but I wouldn’t claim you did anything to the Penguin; let alone ‘smacked him’. ;)

    • Did the title get you to click here and read the article? If so it worked… regardless of a “smacking” occurring or not ;)

  18. I saw a lot of changes in rankings and traffic for sites that are under Panda for example. They didn’t recover just improved.
    It could also be the case here – you moved up but actually didn’t recover.
    As far as I know Penguin recovery, as Panda , happens only when the next update is rolled out. There was no new penguin rollout after your issue so again, I am assuming that you did improve the website, gain rankings and traffic and if the filter will be lifted or not will only be visible with the next penguin update.

    Not saying I’m right – just some thoughts.

    • Absolutely. My finding are more based on visually seeing my ranking go from third page + back to the first page. It’s just more fun to think its a true “recovery” huh?

  19. Hi Nick,

    After numerous hangouts with John Mueller, I have come to many detailed realizations about how the google algos are working today. I suspect the following happened:

    Changing the internal linking structure brought you a partial recovery not because they were links but because they were keyword stuffing on that page. This is also what penguin looks for. It was originally called the webspam algo and the examples Cutts showed were of keyword stuffing and hiding.

    And/Or, it might be possible that google was devaluing the links if they were in the sidebar and being exact match (all non main content links that are exact match are devalued). So changing them to be non exact match may have brought up their value.

    Page rewriting: John Mueller stresses again and again (after much pestering by me :-) ) that there is no dup content penalty. Instead Is suspect either your original content was keyword stuffed and and so re-writing it removed the keyword stuffing, and/or rewriting that content made it rank so now your total impressions are up because the content was not ranking originally, or rewriting that content did nothing yet and removing the remaining spam flagged pages from the index removed the boat anchor for your site in general.

    PS: I have recovered numerous sites from penguin by making onpage and offpage changes, and I can tell you that it happens as soon as google spiders the changes – you don’t have to wait for the penguin algo to refresh. Penguin is not panda.

    Very good job on getting your site back though! I would be happy to do a free analysis of the site to check out if there are any remaining issues. You already seem to have a good handle on it. But If you should want a second pair of eyes to take a look it never hurts!! :-) just lmk joshbachynski@gmail.com

  20. Thanks very much for your review, I have a website in exactly the same position as yours but I think its a bit less spammy than what yours was.

    I’m trying more social stuff to raise its profile, I’ll let you know how it goes!!

  21. And the second most important lesson. Choose oDesk more carefully. Or go with a pro.

    • I find it funny that the development is what you comment about when it was such a small part of this post.

      I ended up getting a fully customized theme with just a few issues im fixing myself for $50.00. Find me a “pro” who can give me a more polished product for the same price. You are right though, you do have to do your homework on oDesk.

  22. Hi, Nick. Thanks for sharing your insights on the Penguin update, particularly how you handled each of the suspected issues. I had no idea that Google doesn’t like URLs with dashes! Multiple dashes could be considered spammy, I suppose, but that’s not the case in every example. Sometimes you can’t help but go with dashes if your desired domain name is already taken.

    And yes, duplicate content (or even 50% similar content) across a site’s pages can KILL as far as search rankings go. This is both a blessing and a curse. You absolutely did the right thing by rewriting those pages.

    If you end up writing an article that specifically mentions multiple dashes in URLs, I’d love to read it. :)

    • Jill – multiple dashes in a domain being an issue is just my speculation. I don’t have any data to verify any of my thoughts so i’ll likely avoid writing a post anytime soon. But i’ll definitely keep ya updated if I change my mind.

      Unique content is definitely number one… I have other sites where you can still use chunks of “global” data within the post but make sure you wrap it before and after with uniquely written content.

  23. Hi Nick!

    Thanks for providing detailed insights on your experience. I learned a lot from the posting and can say that I have been schooled on being patient. I very often want to see results in days and not weeks and months. It’s evident that I need to put my ego aside and be realistic about the length of time it takes to reap the benefits of my time and labor.

    God bless and best wishes!

    Derek

  24. Nice write up Nick. Glad to see someone made a decent recovery. 3 of my top money making sites (adsense) got smashed on the 1st Penguin and only one has slightly recovered, even though I hardly made any changes to it. The other two got hit for anchor text over opt. and even though I’ve diluted the hell out of both link profiles, I can’t get any of my main keywords back ranking. I have no duplicate content and each site has about 40 pages of unique content & media. These are 5 year old sites with lots of quality related links, so I just can’t figure out what to do now to get them ranking again for their main keywords. Plenty of longer tails rank, so I still get some traffic, but it’s about 60% less than pre-penguin. These sites were doing $3000 plus a month before, and now I’m lucky if they do $1500. I’m at a total loss anymore on getting sites back after Penguin.

  25. Nick,
    When you went back and de-duplicated your content for the various pages, did you just change text, or did you change page layout, images, etc. We’ve had success in the past generating leads with “similar” pages for different cities. In other words, a copied page targeting a different city. It used to work well, and the pages were completely relevant to the user. Those pages lost rank and we haven’t gone through the process of revamping the content. I’m curious how much overhauling would be necessary since we have hundreds of these pages. I guess the short answer is — the more variance / the better (which I don’t really agree with).

  26. Great to see a post like this. Really hands on and experimental approach to dealing with the problem. Penguin hit me too, and I can concur that a bad link and duplicate content was to blame

  27. This didn’t help. You didn’t smack penguin in its ugly beak at all, let’s be honest. You did not recover to where you were, so why waste my time with the sensationalist headline.

  28. i am really glad to find another interesting post here on google’s penguin update which is also very useful to me in order to refine my SEO strategies more effective. . thanks so much nick!

  29. I think that a more appropriate title for this blog would be: “How I got bitch slapped by Google Penguin!” lol
    Nonetheless, thanks for sharing; Ive definitely learnt from your mistakes.

  30. Hey Nick!!!

    Glad your website is recovered :) . What was the exact date of drop? what I feel is you might have dropped by both, Panda and penguin. This is because when you fixed templeted content, website is almost recovered (not 100%). It seems your website gets removed from the filter applied due to duplicate template text. This is just thought.

    I really like your post . The word “EGO” reminds me my old days when my colleague teased me by calling SEEEEEO (E for EGO :) ).

    • I’m thinking it was combo of both as well. I saw the immediate increase in traffic for fixing panda related elements and as a potential penguin refresh occurs im also seeing a rebound.

  31. Wow Nick! This was a very interesting post. I really enjoyed reading it. I haven’t seen anyone write about their experience with the Penguin Google. Your post made me think about changing a few things on my own site! Thanks and hope everything works out for you.

  32. I got majorly dinged the same way. Had an Adsense site that was all exact match anchor text. After Penguin screwed me I changed some anchor text links and added more.

    That seemed to get me back on the right track

  33. I appreciate the insights and honesty Nick…many are still “suffering” or have abandoned their sites because they did not know how to begin the recovery process. While yours is not a blueprint for all Penguin/Panda issues, it is a good starting point for anyone looking to rebound. Thanks for the share!

  34. After penguin and panda update we suggest you to place CopyScape protector to protect your content to being copied.

  35. Very interesting post indeed. I fell off the map in the third phase of Google Penguin. I actually had issues due to slamming a particular anchor keyword to death. At one point in time I thought that I would have to build a whole new website and domain. I actually started blogging, and lightly back linking as my issues repaired over time.

    SEO is a tricky game, and the truth be told us that does not want us to win. If we win Google loses – but not by much. It’s all about ad words. I think that’s the underlying culprit. Google can say that it’s all about “good content “, and maybe it is to some degree, but not entirely.

    I definitely hope your site recovers, as I’ll follow you on Twitter and your blog.

  36. Nick,

    Great article. Thank you for sharing your experience.

    I’m unsure as to whether or not you believe that your site got knocked down because of the exact match domain for the “natural” URL link benefit – as well. Do you think that exact match “keyword rich” domain names are detrimental to otherwise good SEO practices like unique content, natural relevant diverified links, or is it a bad idea to have the exact match domain?

    The reason I ask is I’m looking at purchasing a new domain for a beauty supply ecommerce site but I don’t want to get a domain that will cause more of a backlash than a benefit to exact keyword searches…so if my site is AmyBeautySupplies.com, and my target keyword phrase is beauty supplies, is this spammy?

    Also what if I had a site with the domain tshirtstshirtstshirtsetc.com….uh, is this not a good thing?

  37. I love the post — for once, it’s a site that I can relate to — $150/month in earnings! Continued best of luck in the recovery.

  38. In this month I can see a lot of fluctuations in SERPs, and the great is Spam and trash site is 1st on keyword that I’m doing my SEO

  39. Good to read about your experience, particularly how you broke down the possible causes, and you attempts along those lines to rectify the situation. Good to see it worked out well for you in the end. It is a bit hard to feel so confident in ones site these days with all these big changes.

  40. Hey there, interesting stuff man.

    I just want to let everyone know that i have a site that is not spammy (we are a real company that really sells the product that the searcher is looking for) and we have ‘template’ content on 90% of our pages that are reciving traffic.

    Funnily enough, they all rank on the first page, then the other 10% of pages are in the page 3 – 5 range.

  41. So… I am not alone… Loved reading about your journey – I recognised myself – surprised that you could get any ranking in the first place with the duplicate content though. Google must be dumber that I thought :-)

  42. Thanks for sharing the experience.

    I have read other experiences as well where Penguin / Panda have hit sites with otherwise decent content, keywords and links. To top it up, the wait for about three months for a business site to get back its lost traffic costs money. If such website owners keep receiving such updates and spend time in updating their website to adopt them, it can become a really frustrating experience.

  43. There’s so many variables involved in SEO that’s pretty hard to narrow it down to one or 2 things.

    Seeing that your site hasn’t fully recovered, there’s obviously other factors at play here.

  44. Any further data on this site Nick? Did the traffic continue to increase?

  45. thanks Nick for the insight into your work – good point to make about cutting your losses, I know what you mean about it being an ego thing – you almost feel you’ve been short changed in some way by Google and you want it back, but of course it might not be financially feasible to do so in the long run.

  46. Hi Nick.

    Thanks for taking the time to share this, and hopefully giving some of us the opportunity not having to go through the same hard process you did. Hope your website recovers :-)

  47. Hi Nick

    Cheers for sharing your ideas and thoughts on how you went about the recovery of your site. Looks like you have a lot of fixes to make there.

    I think after the EMD change that Google introduced, I think building niche sites either with unique content on them or not is something that not only works anymore, but not a viable business for the long term.

    I think those days are over… I had an old website that did well for about 1 year, and with regular minor improvements if just disappeared in the end.

    Was really interesting to see your thoughts about this, and looking forward to more great ideas and updates.

    Cheers

    Danny

  48. Will you be capable to guide us for your web marketer or person who deals with your blog post, I have to know if it might be easy to be considered a guest poster.

-->
You Need This Newsletter
Learn what it takes to rank websites. No Hats - No Bullshit - Just Results!
DIY SEO AUDIT

About Nick LeRoy

+Nick LeRoy is a Minneapolis SEO consultant offering services to his clients. In his spare time he likes to blog about SEO and other search related topics on his blog at NickLeRoy.com

my blogging disclaimer

Find Nick LeRoy Online