<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: YEB</title>
    <description>The latest articles on DEV Community by YEB (@yeb).</description>
    <link>https://dev.to/yeb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3223051%2F5839362a-9b67-42f0-a076-d1e48a592874.jpg</url>
      <title>DEV Community: YEB</title>
      <link>https://dev.to/yeb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yeb"/>
    <language>en</language>
    <item>
      <title>The $18.50 Cold Email Experiment That Made $90 in Guest Post Sales</title>
      <dc:creator>YEB</dc:creator>
      <pubDate>Mon, 11 Aug 2025 17:06:26 +0000</pubDate>
      <link>https://dev.to/yeb/the-1850-cold-email-experiment-that-made-90-in-guest-post-sales-4np9</link>
      <guid>https://dev.to/yeb/the-1850-cold-email-experiment-that-made-90-in-guest-post-sales-4np9</guid>
      <description>

&lt;p&gt;Three years after launching a health-focused website, one of our clients decided to try something bold.&lt;br&gt;
The mission was clear: sell guest posts directly, without brokers, without ad spend, without wasting weeks on unqualified leads.&lt;/p&gt;

&lt;p&gt;It sounded simple. In reality, finding buyers who were ready to spend money on online publications is a lot harder than it looks.&lt;br&gt;
Until he found a way to target only &lt;strong&gt;proven buyers&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 1: Finding the Right People
&lt;/h2&gt;

&lt;p&gt;The key was &lt;a href="https://outreach.yeb.to/" rel="noopener noreferrer"&gt;Outreach Email Finder&lt;/a&gt;, a tool built to locate business emails for companies that have &lt;em&gt;recently&lt;/em&gt; paid for PR articles or guest posts.&lt;br&gt;
These aren’t random prospects — they’re brands that have already invested in visibility, which means they already have a budget for content.&lt;/p&gt;

&lt;p&gt;Within minutes, the client filtered the database for health-related companies and exported just under 2,000 fresh, targeted contacts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Funnel Diagram:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F77hxhc83l290anhdlgiz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F77hxhc83l290anhdlgiz.png" alt="email outreach funnel" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Launching the Campaign
&lt;/h2&gt;

&lt;p&gt;He sent his campaign using &lt;strong&gt;Sendy + Amazon SES&lt;/strong&gt;, keeping send costs under USD0.50.&lt;br&gt;
The email was straightforward — a direct invitation to collaborate, plus an unsubscribe button to keep things clean and compliant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance Metrics:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhgd352pjk1m1heinuwlp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhgd352pjk1m1heinuwlp.png" alt="email campaign metrics" width="800" height="124"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Emails Sent:&lt;/strong&gt; 2,000&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unique Opens:&lt;/strong&gt; 745 (43.19% open rate)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Total Opens:&lt;/strong&gt; 1,373 (1.84x reopens on average)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unique Clicks:&lt;/strong&gt; 441 (25.56% CTR)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unsubscribed:&lt;/strong&gt; 393 (22.78%)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bounced:&lt;/strong&gt; 48 (2.4%)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spam Reports:&lt;/strong&gt; 0%&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 3: Turning Opens into Sales
&lt;/h2&gt;

&lt;p&gt;Twenty-nine people replied. Seven of them were automated AI support emails — impossible to engage with.&lt;br&gt;
From the 22 real conversations that followed, three turned into &lt;strong&gt;paid guest post deals&lt;/strong&gt; worth USD90 in total.&lt;/p&gt;

&lt;p&gt;This wasn’t a life-changing sum, but here’s where it gets interesting:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost vs Revenue:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzkwyzjqhblu7rnsoxqd2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzkwyzjqhblu7rnsoxqd2.png" alt="campaign roi" width="800" height="666"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cost: 0.50 (sending) + 18 (email export) = &lt;strong&gt;USD18.50 total&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Revenue: &lt;strong&gt;\USD90&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Profit: &lt;strong&gt;\USD71.50&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;ROI: &lt;strong&gt;386%&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 4: What We Learned
&lt;/h2&gt;

&lt;p&gt;Cold email campaigns don’t have to feel like gambling.&lt;br&gt;
When you start with contacts who have &lt;em&gt;already&lt;/em&gt; paid for PR in your niche, you’re not throwing darts in the dark — you’re approaching people who already believe in buying visibility.&lt;/p&gt;

&lt;p&gt;This also taught us that approach matters.&lt;br&gt;
A direct pitch worked here, but the unsubscribe rate shows that a softer first contact — asking about the business before selling — might have lowered churn and increased conversions over time.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;"When your contact list is built from proven buyers, outreach is no longer a cold shot in the dark. It’s a warm handshake — and sometimes, that’s all it takes to turn USD18.50 into USD90."&lt;/em&gt;&lt;/p&gt;




</description>
      <category>emailmarketing</category>
      <category>outreach</category>
      <category>growth</category>
      <category>casestudy</category>
    </item>
    <item>
      <title>How I Stopped Fake “OpenAI” &amp; “Googlebot” Crawlers from Flooding My Site</title>
      <dc:creator>YEB</dc:creator>
      <pubDate>Sun, 03 Aug 2025 16:14:36 +0000</pubDate>
      <link>https://dev.to/yeb/how-i-stopped-fake-openai-googlebot-crawlers-from-flooding-my-site-2j1b</link>
      <guid>https://dev.to/yeb/how-i-stopped-fake-openai-googlebot-crawlers-from-flooding-my-site-2j1b</guid>
      <description>&lt;p&gt;If your site is even a little bit successful, you’re probably being hammered by traffic from “OpenAI,” “Googlebot,” or “Bingbot” — or so your logs claim. Spoiler: most of it is fake. Here’s how I learned that the hard way, what I did about it, and the exact steps to fix it.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧨 The Problem: The Bot Flood No One Talks About
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx90wff9mah7t8c813r4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx90wff9mah7t8c813r4g.png" alt="Fake vs Real Website Hits" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I run a site that gets about 20,000 legit visits per day. But my server logs?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;500,000+ “bot” requests every 24 hours&lt;/strong&gt; — mostly claiming to be “OpenAI” or “Googlebot.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Analytics showed almost none of that traffic.&lt;/p&gt;

&lt;p&gt;But my server load was spiking, and then my AdSense dashboard dropped this warning:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Crawler – Unknown Error&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Restricted Ad Serving&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxksdwzatif4bz0j6rjp5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxksdwzatif4bz0j6rjp5.png" alt="Adsense Crawler Errors" width="636" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Your site is blocking our ad validation bots, so we’re cutting your revenue.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ✅ Step 1: Verifying Bots with BotDetect API
&lt;/h2&gt;

&lt;p&gt;User-Agent headers are worthless for bot detection — anyone can spoof them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvvydgk3yi3gj85haa88u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvvydgk3yi3gj85haa88u.png" alt="User Agent that claim it is legit crawler" width="461" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So I built an integration with &lt;a href="https://yeb.to/api/bot-detect" rel="noopener noreferrer"&gt;BotDetect API&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every request gets checked against the API&lt;/li&gt;
&lt;li&gt;You send the IP (and optionally the UA)&lt;/li&gt;
&lt;li&gt;It tells you if it's a &lt;strong&gt;real verified bot&lt;/strong&gt; or &lt;strong&gt;just another fake VPS&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1aky34mf2p5c25kxx04.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1aky34mf2p5c25kxx04.png" alt="Yeb API Response" width="800" height="182"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Example (PHP pseudo-code):
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'https://api.yeb.to/v1/bot/detect/detect'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'ip'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;ip&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
    &lt;span class="s1"&gt;'ua'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;header&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'User-Agent'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="s1"&gt;'api_key'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'...'&lt;/span&gt;
&lt;span class="p"&gt;]);&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;99%+ of “OpenAI” and “Googlebot” traffic was fake.&lt;br&gt;&lt;br&gt;
Verified bot requests were a tiny fraction of what the logs claimed.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🛑 Step 2: Don’t Block Yourself — Enter GeoIP ASN Lookup
&lt;/h2&gt;

&lt;p&gt;Even after blocking the fakes, AdSense was still unhappy.&lt;/p&gt;

&lt;p&gt;Why?&lt;br&gt;&lt;br&gt;
Because &lt;strong&gt;Google's Media Partners&lt;/strong&gt; and some AdSense bots don’t always use the standard &lt;code&gt;Googlebot&lt;/code&gt; IPs. If you block them? Revenue tanks.&lt;/p&gt;

&lt;p&gt;So I added a second layer: &lt;strong&gt;GeoIP ASN Lookup&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For every suspicious IP, check its ASN (Autonomous System Number)&lt;/li&gt;
&lt;li&gt;If it's from &lt;strong&gt;Google&lt;/strong&gt;, let it through&lt;/li&gt;
&lt;li&gt;If not, block with extreme prejudice&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example (PHP pseudo-code):
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$asnData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'https://api.yeb.to/v1/geoip/asn'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'ip'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$ip&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'api_key'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'...'&lt;/span&gt;
&lt;span class="p"&gt;]);&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📊 Results: Cleaner Traffic, Stable Revenue, No Guesswork
&lt;/h2&gt;

&lt;p&gt;✅ Fake bots? Blocked.&lt;br&gt;
 ✅ Real bots &amp;amp; ad crawlers? Let through.&lt;br&gt;
 ✅ AdSense Policy Center? Clean.&lt;br&gt;
 ✅ Revenue? Back to normal.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Lessons Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Never trust User-Agent headers&lt;/strong&gt; for bot detection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don’t go nuclear&lt;/strong&gt; — over-blocking kills revenue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Double-check&lt;/strong&gt; with ASN lookups before you block.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automate&lt;/strong&gt; everything.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔧 Tools Used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🕵️‍♂️ &lt;a href="https://yeb.to/api/bot-detect" rel="noopener noreferrer"&gt;BotDetect API&lt;/a&gt; – Real bot verification&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://yeb.to/api/geoip" rel="noopener noreferrer"&gt;GeoIP ASN Lookup&lt;/a&gt; – Identify the org behind the IP&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Have your own war stories with fake bots or AdSense errors? Drop them in the comments. Let’s fix the internet together.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;#api #openai #webdev #tutorial #bots&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>api</category>
    </item>
  </channel>
</rss>
