<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/index.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Why Go Daddy Sucks - Oooff.com</title>
<!-- InstanceEndEditable -->
<link rel=stylesheet type="text/css" href="../images/main.css">

<!-- InstanceBeginEditable name="head" -->
<meta name="description" content="PHP Scraping Tutorials, PHP Form Filling Tutorials, Using Scripting to Make Money Online, PHP for SEO, Using PHP to Rank 1 on Google" />
<!-- InstanceEndEditable -->

</head>
<body>
<div id="container">

<div id="top">
    <a href="../index.html"><img src="../images/header.gif" width="411" height="80" border="0" /></a>
	<div id="links">
		<!-- InstanceBeginEditable name="header" -->ENGAGED from #UF is Gay<br />
Remember you heard it here first!<!-- InstanceEndEditable -->
	</div>
</div>

<div id="leftnav">
<span>Menu</span>
<ul>
<li><a href="/">Home</a></li>
<li><a href="../google-ranking-seo.php">SEO</a></li>
<li><a href="../css-tutorials.php">CSS</a></li>
<li><a href="../seo-scripts.php">PHP Scripts </a></li>
<li><a href="../seo-design.php">Design</a></li>
<li><a href="../make-money-online.php">Money Online</a></li>
<li><a href="http://oooff.com/php-affiliate-seo-blog/">Blog</a> </li>
<li><a href="../dumb-fucks-to-stay-away-from.php">Dumb Fucks </a></li>
<li><a href="../php-suggestions/php-learning-suggestions-menu.php">Suggestions</a></li>
</ul>
<div class="quote">
&#8220;Friends Don't let Friends buy packaged software!&#8221;</div>
<div id="form">
<form action="../Templates/emailer.php" method="POST">
  <span>Join our Mailing List</span>
  <p>Name:
    <br />
    <input type="text" name="name" />
    <br />
    Email:
    <br />
    <input type="text" name="email" />
    <input type="submit" name="submit" value="Submit" />
    </p>
  </form>
</div>
</div>

<div id="content"><!-- InstanceBeginEditable name="main text" -->
<h1>Why oooff Sucks Ballz? </h1>
<p>I've been playing with some of oooff's services lately and well their interfaces are slow and lackluster much like registerfly.</p>
<ul>
  <li>Can't change your catch-all's for all your domains at once.</li>
  <li>Very un intuitive interface with redundant things that require decencies of each other.</li>
  <li>SPAM have, talk about the spammiest interface in the world, good lord.</li>
  <li>FUCKERS Call you and try and pitch you their crappy service</li>
  <li>Job Marsons is a retard, need I say more. </li>
  <li>And the ultimate reason they suck, read below </li>
</ul>
<h2>The ultimate in trying to fuck their customers - </h2>
<p>So I called their support line for some help trying to figure out how to use their convoluted controls, mistake 1. The guy on the phone was helpful and nice, and was looking at the information on my domain we were working on. Then about 3 minutes later I get a notice that they auto charged my paypal account for 10$. So I called back thinking there was a mistake and the guy charged me a second time for hosting we were setting it up and I had already paid for once. And I come to find out NOPE they charged me for having the wrong whois information. </p>
<p>So I talk with the support guy for a while trying to figure out what I need to do to have these ridiculous charges reversed. We go round and round about 10 minutes and he says let me transfer you to billing. Then some guy picks up and says hello, in his friendly chunky dory voice. By this time I livid with the nerve of these people. Not that I give two shits about 10 bucks but the nerve to treat their customers like complete and total shit. So we talk and basically he says it's impossible to reverse the charge. Now realize this, oooff pays about 32$ per new customer from the estimates I've heard. Not sure if they're correct of not but I've heard it on multiple occasions multiple time, so who know. </p>
<p>Now if they were a decent company I have about 20 domains and hosting with them you'd think they'd want to treat their customers right so they come back for more. Nah they try to fuck them in the ass. These fuckers have the nerve to charge me 10$ for not having proper information in the whois of my domain. Now we all know how flawed of a system the whois system is. It exposes personal information and makes you a target, especially if you have high value domains. If people know you have money you become a target. If you're looking to buy domains or hosting GO FAR AWAY FROM oooff! </p>
<p> If you're looking to get into buying domains and want to have a great experience check out <a href="http://www.oooff.com">http://www.oooff.com</a> as their interface is amazing.</p>
<p>Douche Bags~</p>
<h2>&nbsp;</h2>
<!-- InstanceEndEditable --></div>
<div id="footer">
Copyright My Bitches! - Web 1.0 Style - Represent </div>
</div>
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-45872163-1', 'oooff.com');
  ga('send', 'pageview');

</script>

</body>
<!-- InstanceEnd --></html>
