<?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: Paul Irolla</title>
    <description>The latest articles on DEV Community by Paul Irolla (@paul_irolla_6b5ae261d0224).</description>
    <link>https://dev.to/paul_irolla_6b5ae261d0224</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%2F2183047%2Fc0c55e95-e0dd-4375-8123-478cede020d8.png</url>
      <title>DEV Community: Paul Irolla</title>
      <link>https://dev.to/paul_irolla_6b5ae261d0224</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/paul_irolla_6b5ae261d0224"/>
    <language>en</language>
    <item>
      <title>Position-1 CTR isn't 30% anymore — what AI Overviews actually do to your clicks (+ a free calculator)</title>
      <dc:creator>Paul Irolla</dc:creator>
      <pubDate>Sat, 16 May 2026 08:48:29 +0000</pubDate>
      <link>https://dev.to/paul_irolla_6b5ae261d0224/position-1-ctr-isnt-30-anymore-what-ai-overviews-actually-do-to-your-clicks-a-free-57n</link>
      <guid>https://dev.to/paul_irolla_6b5ae261d0224/position-1-ctr-isnt-30-anymore-what-ai-overviews-actually-do-to-your-clicks-a-free-57n</guid>
      <description>&lt;p&gt;For years, the SEO planning template was the same spreadsheet trick: pull the keyword volume, multiply by an assumed CTR (the famous "31% for position 1"), and call that your traffic projection. In 2026, that math is broken.&lt;/p&gt;

&lt;p&gt;What changed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI Overviews&lt;/strong&gt; sit above the organic results on most informational queries. The user often gets their answer in the box and never scrolls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Featured snippets&lt;/strong&gt; still steal the click on definitional / how-to queries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;People Also Ask&lt;/strong&gt; clusters expand inline and burn 6-8 vertical inches of SERP real estate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sponsored carousels&lt;/strong&gt; on commercial intent queries push the first organic result &lt;em&gt;below the fold&lt;/em&gt; on mobile.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result: position 1 organic CTR for an informational keyword in 2026 is closer to &lt;strong&gt;8-15%&lt;/strong&gt; than to the legacy 30%. For commercial-intent keywords with a sponsored carousel and an AI Overview, position 1 organic CTR can drop to &lt;strong&gt;3-6%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you're still planning content with a 30% assumption, your traffic forecasts are off by a factor of 3-10x. Which means the keyword you're killing for "low projected upside" might actually be the one worth shipping, and the keyword you're prioritizing for "30% × 12k searches" is going to disappoint.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I changed in my own planning
&lt;/h2&gt;

&lt;p&gt;I split CTR assumptions into 4 SERP archetypes:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;SERP type&lt;/th&gt;
&lt;th&gt;Position 1 CTR (2026)&lt;/th&gt;
&lt;th&gt;Position 2-3 CTR&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Plain organic (rare)&lt;/td&gt;
&lt;td&gt;28-35%&lt;/td&gt;
&lt;td&gt;12-18%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Organic + PAA only&lt;/td&gt;
&lt;td&gt;18-24%&lt;/td&gt;
&lt;td&gt;8-12%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Organic + AI Overview&lt;/td&gt;
&lt;td&gt;8-15%&lt;/td&gt;
&lt;td&gt;3-7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Organic + AI Overview + sponsored carousel&lt;/td&gt;
&lt;td&gt;3-6%&lt;/td&gt;
&lt;td&gt;1-3%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Before committing to a topic, I run the SERP through a quick check: which archetype is it? Then I plug the right CTR into the volume math. That single change cut the gap between my projected and observed traffic by ~70%.&lt;/p&gt;

&lt;h2&gt;
  
  
  A free thing for the lazy version of you
&lt;/h2&gt;

&lt;p&gt;I built a free in-browser calculator that does this for you — paste the keyword + chosen position + SERP archetype, get a realistic click projection: &lt;a href="https://the-seo-autopilot.com/en/free-tools/serp-ctr-calculator" rel="noopener noreferrer"&gt;the-seo-autopilot.com/en/free-tools/serp-ctr-calculator&lt;/a&gt;. No signup, all client-side, no email gate. Use it when you're triaging a 200-keyword list and don't want to manually classify every SERP.&lt;/p&gt;

&lt;p&gt;There's also a related one I use a lot — a &lt;a href="https://the-seo-autopilot.com/en/free-tools/keyword-opportunity-calculator" rel="noopener noreferrer"&gt;keyword opportunity calculator&lt;/a&gt; that combines this CTR adjustment with difficulty / volume / business value to spit out a single ranked score per keyword. Useful when you have a backlog of 50 ideas and need to pick the next 5.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The "30% for position 1" rule of thumb is a 2018 number. Don't plan with it in 2026.&lt;/li&gt;
&lt;li&gt;Classify each keyword's SERP into one of 4 archetypes before assigning a CTR.&lt;/li&gt;
&lt;li&gt;AI Overviews + sponsored carousels can drop your effective CTR by 5-10x.&lt;/li&gt;
&lt;li&gt;Recalibrate. Your "low-volume but high-intent" keywords are probably more valuable than your "high-volume informational" ones now.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Plan your content with the SERP you actually have, not the SERP you wish you had.&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>What is /llms.txt? — the AI-crawler hint file (+ the free generator I built for it)</title>
      <dc:creator>Paul Irolla</dc:creator>
      <pubDate>Fri, 15 May 2026 17:38:46 +0000</pubDate>
      <link>https://dev.to/paul_irolla_6b5ae261d0224/what-is-llmstxt-the-ai-crawler-hint-file-the-free-generator-i-built-for-it-4e3p</link>
      <guid>https://dev.to/paul_irolla_6b5ae261d0224/what-is-llmstxt-the-ai-crawler-hint-file-the-free-generator-i-built-for-it-4e3p</guid>
      <description>&lt;p&gt;Last year a small RFC started making the rounds: &lt;strong&gt;&lt;code&gt;/llms.txt&lt;/code&gt;&lt;/strong&gt;. It's a single-file convention that tells AI assistants (ChatGPT, Claude, Perplexity, the Google AI Overview, Copilot…) which content on your site to surface and how to summarize it. Think &lt;code&gt;robots.txt&lt;/code&gt;, but for &lt;em&gt;meaning&lt;/em&gt; instead of &lt;em&gt;crawl rules&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I've been running an autonomous SEO agent on a SaaS site, and &lt;code&gt;/llms.txt&lt;/code&gt; showed up as the cheapest-yield optimization I could ship: a single static file, written once, that materially changes how an LLM frames your brand when a user asks about your space.&lt;/p&gt;

&lt;p&gt;This post is what I wish I'd read before writing my first one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What &lt;code&gt;/llms.txt&lt;/code&gt; actually contains
&lt;/h2&gt;

&lt;p&gt;The format is intentionally minimal — a markdown file at your domain root:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Acme — autonomous test runners for SaaS&lt;/span&gt;
&lt;span class="gt"&gt;
&amp;gt; One-line description of the project, exactly the way you'd want an&lt;/span&gt;
&lt;span class="gt"&gt;&amp;gt; LLM to re-quote it.&lt;/span&gt;

&lt;span class="gu"&gt;## Docs&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Getting started&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://acme.dev/docs/start.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;API reference&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://acme.dev/docs/api.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="gu"&gt;## Examples&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;End-to-end test for a Stripe checkout&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://acme.dev/examples/stripe.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="gu"&gt;## Optional&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Pricing&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://acme.dev/pricing.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Three things matter:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The summary line is the brand-positioning weapon.&lt;/strong&gt; If a user asks "what is Acme?", the LLM is statistically going to lift this line. Write it like the headline you'd put on a billboard, not like a feature list.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sections are signals.&lt;/strong&gt; "Docs" / "Examples" / "API" tell the LLM what surfaces are worth pulling into a citation. The order matters — what you list first gets weighted higher.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional vs required.&lt;/strong&gt; The &lt;code&gt;## Optional&lt;/code&gt; section is content you'd be happy to see referenced, but don't &lt;em&gt;need&lt;/em&gt; surfaced. Pricing, blog posts, careers — that kind of thing.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What it's NOT
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It's NOT a robots.txt. AI crawlers will still hit your site without one.&lt;/li&gt;
&lt;li&gt;It's NOT a sitemap. It doesn't enumerate every URL — it picks the &lt;em&gt;important&lt;/em&gt; ones and tells the LLM how to frame them.&lt;/li&gt;
&lt;li&gt;It's NOT machine-validated. There's no "llms.txt parser" that errors out on bad syntax. The LLM does its best with whatever you write. So write it well.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to validate yours
&lt;/h2&gt;

&lt;p&gt;I built a free in-browser generator that does the formatting + a sanity check on the structure: &lt;a href="https://the-seo-autopilot.com/en/free-tools/llms-txt-generator" rel="noopener noreferrer"&gt;the-seo-autopilot.com/en/free-tools/llms-txt-generator&lt;/a&gt;. No signup — it's all client-side. Paste your site description, your section URLs, hit generate, copy the markdown into your site root.&lt;/p&gt;

&lt;p&gt;If you want to see one in production, mine is at &lt;a href="https://the-seo-autopilot.com/llms.txt" rel="noopener noreferrer"&gt;the-seo-autopilot.com/llms.txt&lt;/a&gt;. It's also indexed in &lt;a href="https://github.com/SecretiveShell/Awesome-llms-txt" rel="noopener noreferrer"&gt;SecretiveShell/Awesome-llms-txt&lt;/a&gt; — a curated list of all the public &lt;code&gt;/llms.txt&lt;/code&gt; files in the wild, which is where I'd recommend looking before writing your own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does it actually move the needle?
&lt;/h2&gt;

&lt;p&gt;Honest answer: too early to say with high confidence in 2026, but the signal is positive. Sites with a well-written &lt;code&gt;/llms.txt&lt;/code&gt; get cited more often in ChatGPT and Perplexity answers in the niche I track (programmatic SEO + indie SaaS). The cost is roughly an hour, the upside is "free distribution surface that didn't exist 18 months ago."&lt;/p&gt;

&lt;p&gt;Worth shipping.&lt;/p&gt;

</description>
      <category>showdev</category>
    </item>
    <item>
      <title>I'm running an autonomous AI agent that publishes a fact-checked SEO article every day — here's the stack</title>
      <dc:creator>Paul Irolla</dc:creator>
      <pubDate>Fri, 15 May 2026 16:18:46 +0000</pubDate>
      <link>https://dev.to/paul_irolla_6b5ae261d0224/im-running-an-autonomous-ai-agent-that-publishes-a-fact-checked-seo-article-every-day-heres-the-1753</link>
      <guid>https://dev.to/paul_irolla_6b5ae261d0224/im-running-an-autonomous-ai-agent-that-publishes-a-fact-checked-seo-article-every-day-heres-the-1753</guid>
      <description>&lt;p&gt;For the past 60 days I've been running an experiment: an AI agent owns the entire SEO pipeline of one of my SaaS sites. Keyword research, drafting, fact-checking, internal linking, schema markup, scheduling — the agent does it all. Zero human touch on the content side.&lt;/p&gt;

&lt;p&gt;Results so far: &lt;strong&gt;0 → 400K+ Google impressions in 60 days. 46 articles live, 330+ scheduled. No backlinks bought, no paid promotion.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm sharing the stack because every "AI SEO" tool on the market today is either a glorified ChatGPT wrapper or charges $1k+/mo for marginal automation. The agent below runs on a small VPS in a Python loop and costs me less than $100/month in OpenRouter API credits.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pipeline
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Keyword pipeline&lt;/strong&gt; — a daily cron pulls the SERPs of ~300 seed queries via DataForSEO, scores by intent × difficulty, picks the next batch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drafting&lt;/strong&gt; — a frontier model writes a first draft against a structured outline. Cost: ~$0.10 per article.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fact-check pass&lt;/strong&gt; — a smaller, cheaper model re-reads the draft with a &lt;em&gt;"find every factual claim and verify it has a credible source"&lt;/em&gt; prompt. Anything dubious gets flagged.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On-page&lt;/strong&gt; — JSON-LD schema, internal links to existing articles via cosine similarity on embeddings, title/meta optimization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scheduling&lt;/strong&gt; — one article goes live per day at a fixed time. The cadence matters more than the volume of any single drop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring&lt;/strong&gt; — a tiny script pings Google Search Console weekly and surfaces underperformers for the agent to refresh.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I've learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quality from AI agents is fundamentally a context problem.&lt;/strong&gt; The agent gets the keyword + the SERP context + the existing internal-link graph + a brand voice guide. With those inputs, modern LLMs write better than most freelancers I've hired for the same money.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The fact-check pass is the unlock.&lt;/strong&gt; Without it, AI articles confidently hallucinate stats. With it, they're often more reliable than the median human content for the same niche.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Publishing daily compounds.&lt;/strong&gt; Google indexes a healthy domain quickly when the cadence is regular. The 60-day curve looked basically flat for the first three weeks, then bent up.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Most "AI tool" directories will reject you if you aren't actually a tool.&lt;/strong&gt; A playbook is not a tool. A free in-browser &lt;code&gt;/llms.txt&lt;/code&gt; generator IS a tool. Frame accordingly when you submit.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tooling
&lt;/h2&gt;

&lt;p&gt;The site ships a free &lt;code&gt;/llms.txt&lt;/code&gt; generator plus 12 other one-shot SEO tools (JSON-LD schema generator, SERP CTR calculator, hreflang tag generator, etc.) at &lt;a href="https://the-seo-autopilot.com/en/free-tools/" rel="noopener noreferrer"&gt;the-seo-autopilot.com/en/free-tools&lt;/a&gt; — no signup, all client-side.&lt;/p&gt;

&lt;p&gt;The full architecture writeup, prompts, and scheduler code are documented at &lt;a href="https://the-seo-autopilot.com" rel="noopener noreferrer"&gt;the-seo-autopilot.com&lt;/a&gt; for indie SaaS founders who want to copy the setup. Happy to dig into specific bits in the comments — particularly the fact-check prompt, which is the part I had to iterate on the most.&lt;/p&gt;

</description>
      <category>indiehackers</category>
    </item>
    <item>
      <title>Dominate LinkedIn in just 5 minutes a day</title>
      <dc:creator>Paul Irolla</dc:creator>
      <pubDate>Sun, 10 Aug 2025 13:10:19 +0000</pubDate>
      <link>https://dev.to/paul_irolla_6b5ae261d0224/dominate-linkedin-in-just-5-minutes-a-day-536i</link>
      <guid>https://dev.to/paul_irolla_6b5ae261d0224/dominate-linkedin-in-just-5-minutes-a-day-536i</guid>
      <description>&lt;p&gt;That’s not clickbait.&lt;br&gt;
That’s exactly what Meet Lea was built for.&lt;/p&gt;

&lt;p&gt;Here’s the problem:&lt;/p&gt;

&lt;p&gt;You know you should post regularly… but blank page syndrome is real.&lt;/p&gt;

&lt;p&gt;You want to engage with your audience… but comment replies eat hours.&lt;/p&gt;

&lt;p&gt;You’d love to track what works… but analytics feel like a chore.&lt;/p&gt;

&lt;p&gt;Lea solves all of it.&lt;/p&gt;

&lt;p&gt;✅ Create posts that actually perform — Turn any idea, article, or file into a ready-to-publish LinkedIn post in seconds.&lt;br&gt;
✅ Engage without the burnout — Lea suggests smart, human-like replies to every comment.&lt;br&gt;
✅ Know exactly what to post next — Intelligent content analysis tells you what your audience truly cares about.&lt;br&gt;
✅ Grow with clarity — Engagement tracking, growth insights, and post ideas… all in one dashboard.&lt;/p&gt;

&lt;p&gt;Who’s already using it?&lt;br&gt;
Freelancers. Agencies. Marketing managers. Community builders.&lt;br&gt;
Over 500 people are on board — and in beta, Lea has already generated:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;107K sources of content&lt;/li&gt;
&lt;li&gt;17K post ideas&lt;/li&gt;
&lt;li&gt;3K full posts&lt;/li&gt;
&lt;li&gt;19K comments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is your unfair LinkedIn advantage.&lt;br&gt;
Access is limited. The waitlist is filling fast.&lt;/p&gt;

&lt;p&gt;🎁 Join now and get:&lt;/p&gt;

&lt;p&gt;Priority access&lt;/p&gt;

&lt;p&gt;7 days free&lt;/p&gt;

&lt;p&gt;Early adopter perks&lt;/p&gt;

&lt;p&gt;🚀 Stop overthinking. Start dominating.&lt;br&gt;
👉 Join the waitlist today.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://meet-lea.com" rel="noopener noreferrer"&gt;https://meet-lea.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>automation</category>
      <category>contentwriting</category>
    </item>
  </channel>
</rss>
