<?xml version="1.0" encoding="utf-8" standalone="no"?><feed xmlns="http://www.w3.org/2005/Atom"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml"/><link href="/" rel="alternate" type="text/html"/><updated>2026-09-13T04:00:11+00:00</updated><id>/feed.xml</id><title type="html">Random Bits</title><subtitle>Random bits on nothing specfic.</subtitle><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><entry><title type="html">AEO (Answer Engine Optimization) for SEO professionals</title><link href="/aeo-geo/" rel="alternate" title="AEO (Answer Engine Optimization) for SEO professionals" type="text/html"/><published>2026-09-12T00:00:00+00:00</published><updated>2026-09-12T00:00:00+00:00</updated><id>/aeo</id><content type="html" xml:base="/aeo-geo/"><![CDATA[<p>Brands now have one more thing to worry/hire for - AEO/GEO professionals. As if SEO were already not nightmarish. You don’t just want to rank anymore cause who has patience to visit the organic results but now you want to be cited when AI is summarizing, ahem helping.</p>

<p>Here is the article, optimized for AEO/GEO, covering both terms AEO/GEO. I’ve also added <a href="#actions">Action items</a> at the end. As the terms have almost similar meanings, I will use AEO throughout.</p>

<h2 id="what-is-aeo">What is AEO?</h2>
<p>AEO, or Answer Engine Optimization, is optimizing your content to get picked up by AI services such as Claude, ChatGPT, Google’s AI Overviews, Perplexity, and others so it gets cited in their answers as a source.</p>

<h2 id="what-is-geo">What is GEO?</h2>
<p>GEO, or Generative Engine Optimization, is the same underlying idea as AEO but meant for AI chatbot-style services (ChatGPT, Claude, Perplexity, Gemini, etc.). Most teams use the two terms, AEO and GEO, interchangeably.</p>

<h2 id="are-aeo-or-geo-different-from-seo">Are AEO or GEO different from SEO?</h2>
<p>Nope. AEO is a broader term (covers Snippets, People Also Ask, voice, Gen AI answers) and GEO is a subset of AEO, being more focused on popular AI chat services (ChatGPT, Claude, Gemini,  etc.). Google treats AEO/GEO as ordinary SEO.</p>

<h2 id="is-aeo-a-separate-ranking-system">Is AEO a separate ranking system?</h2>
<p>No. It uses existing <strong>ranked index</strong> rather than retrieving new results. So, if you are not being ranked for the original keyword, AEO won’t save ya.</p>

<h2 id="do-i-have-to-be-in-the-first-page-or-top-10-results-for-aeo">Do I have to be in the first page or top 10 results for AEO?</h2>
<p>No. Ahrefs did a study and found that only around 38% of cited results were in top 10.</p>

<table>
  <thead>
    <tr>
      <th>Organic ranking position</th>
      <th>Share of AI Overview citations</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Top 10</td>
      <td>37.9%</td>
    </tr>
    <tr>
      <td>Positions 11–100</td>
      <td>31.2%</td>
    </tr>
    <tr>
      <td>Not in top 100</td>
      <td>31.0%</td>
    </tr>
  </tbody>
</table>

<p><em>Source: <a href="https://ahrefs.com/blog/ai-overview-citations-top-10/">Ahrefs</a></em></p>

<h2 id="does-javascript-rendering-hurt-ai-visibility">Does JavaScript rendering hurt AI visibility?</h2>
<p>Not for mighty Google. But for other AI bots (GPTBot for ChatGPT, ClaudeBot, etc.) - Yes, at least for now. Server-rendered content is better suited.</p>

<table>
  <thead>
    <tr>
      <th>Rendering</th>
      <th>Google Search / AI Overviews</th>
      <th>Other AI bots (GPTBot, ClaudeBot, PerplexityBot)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Server-rendered</td>
      <td>Fine</td>
      <td>Fine</td>
    </tr>
    <tr>
      <td>Client-rendered (JS-only)</td>
      <td>Fine</td>
      <td>Invisible</td>
    </tr>
  </tbody>
</table>

<h2 id="what-content-unit-gets-extracted-for-aeogeo">What content unit gets extracted for AEO/GEO?</h2>
<p>The passage relevant to the query gets extracted, and not the entire page. That is the main difference from traditional SEO, where the whole page competes for a keyword. The passage has to be able to stand alone as a complete answer. Use evidence (numbers, a table, a short list) to support claims.</p>

<h2 id="can-one-page-supply-the-cited-passage-for-several-related-prompts">Can one page supply the cited passage for several related prompts?</h2>
<p>Yes, this is query fan-out. Google’s example: “how to fix a lawn full of weeds” fans out into “best herbicides for lawns,” “remove weeds without chemicals,” etc. A page optimized to answer that whole cluster might earn citation on multiple prompts.</p>

<h2 id="will-the-page-be-cited-if-it-already-appears-in-featured-snippet-and-paa-boxes">Will the page be cited if it already appears in featured snippet and PAA boxes?</h2>
<p>Most probably, yes. If the content was already in featured snippets or in People Also Ask (PAA) boxes, odds are very high. Google Search’s AI features use similar ranking and retrieval system to those two formats.</p>

<h2 id="does-schema-markup-or-llmstxt-help">Does schema markup or llms.txt help?</h2>
<p>Not confirmed. Google’s May 2026 guidance says structured data isn’t required for AI Overviews/AI Mode, and names llms.txt directly as one of the tactics that doesn’t help.</p>

<h2 id="should-you-publish-on-reddit-youtube-and-linkedin-for-aeo">Should you publish on Reddit, YouTube, and LinkedIn for AEO?</h2>
<p>Yes, but weight it to your query mix rather than publishing everywhere by default. Broad, consumer topics get cited most on YouTube and Reddit. LinkedIn, as expected, gets more cited on B2B or professional topics.</p>

<table>
  <thead>
    <tr>
      <th>Platform</th>
      <th>Best for</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>YouTube</td>
      <td>Broad/consumer topics</td>
    </tr>
    <tr>
      <td>Reddit</td>
      <td>Broad/consumer topics</td>
    </tr>
    <tr>
      <td>LinkedIn</td>
      <td>B2B/professional topics</td>
    </tr>
  </tbody>
</table>

<p>Source: <a href="https://ahrefs.com/blog/most-cited-domains-ai-overviews/">Ahrefs , June 2026, 2.96M prompts (US)</a></p>

<h2 id="how-do-you-measure-and-report-on-aeogeo">How do you measure and report on AEO/GEO?</h2>
<p>Manual scraping and a good old spreadsheet. Track the same set of questions (related to your business) over time (ideally each week for data collection and monthly for trend/reporting) and log these four things.</p>

<p><strong>Mention Rate</strong>, <strong>Reference Rate</strong>, <strong>Answer Position</strong> and <strong>Tone Score</strong>.</p>

<p><img src="/static/images/aeo-reporting.png" alt="AEO reporting overview" /></p>

<p>Mention Rate is how often your brand gets named at all. Reference Rate - how often it actually gets linked or cited (not just mentioned in passing). Answer Position - how high up it appears when it is cited. Tone Score tells you whether the AI talks about you in a good, neutral, or bad way.</p>

<p>Link to spreadsheet <a href="/static/aeo-data-collection-tracker.xlsx">here</a>.</p>

<h2 id="actions">Action items</h2>
<ol>
  <li>Ensure indexation and snippet eligibility for target pages.</li>
  <li>If using client-side rendering - view source on key pages to confirm main content is in the raw HTML. Prioritize server-side rendering for key content/pages.</li>
  <li>Build a prompt inventory of 20–50 real questions which might be asked by your target users. Get them from PAA, site search, support tickets, and sales calls.</li>
  <li>Turn page headings into those actual questions. Answer each in 40–60 words in the section’s first 1–2 sentences, then follow with evidence (numbers, table, list).</li>
  <li>Cover the head query’s likely fan-out cluster on the page, not just the literal keyword.</li>
  <li>Keep Organization/Product schema for entity clarity and rich-result eligibility only. Stop pitching FAQ schema or llms.txt internally as an AI-citation strategy.</li>
  <li>YouTube (with accurate captions/transcripts) and Reddit for broad/consumer topics, LinkedIn (company + employee posts) for B2B/professional topics.</li>
  <li>Log four metrics weekly, per engine, per prompt: Mention Rate, Reference Rate, Answer Position, Tone Score - don’t conflate “named” with “cited”.</li>
  <li>Read the gaps: low Mention Rate = awareness gap. High Mention Rate with low Reference Rate = named but not trusted. Weak Answer Position or negative Tone Score = passage needs a clearer or more favorable rewrite.</li>
  <li>Track each distribution channel’s citation share separately from your own domain. It moves independently and fast.</li>
  <li>Roll weekly logs into a monthly trend report, and re-test the same prompt set.</li>
</ol>]]></content><author><name/></author><summary type="html"><![CDATA[Brands now have one more thing to worry/hire for - AEO/GEO professionals. As if SEO were already not nightmarish. You don’t just want to rank anymore cause who has patience to visit the organic results but now you want to be cited when AI is summarizing, ahem helping.]]></summary></entry><entry><title type="html">What the future holds?</title><link href="/future-uncertainty/" rel="alternate" title="What the future holds?" type="text/html"/><published>2026-02-20T15:05:00+00:00</published><updated>2026-02-20T15:05:00+00:00</updated><id>/what-the-future-holds</id><content type="html" xml:base="/future-uncertainty/"><![CDATA[<p>I’ve been a subscriber of <a href="https://www.calhoun.io/">John Calhoun</a> newsletters and bought few courses from him. He sent this email a bit ago which contained the following.</p>

<p>“In my case, it meant that the number of sales I make on my paid Go courses has been steadily declining. Not enough that I plan to stop updating existing courses and working on new ones, but enough that I cannot dedicate as much time to free resources as I have in the past.”</p>

<p>There was a submission on hackernew fews days ago - <a href="https://sderosiaux.medium.com/your-saas-is-now-my-weekend-project-what-is-your-moat-e2a2256a390e">Your SaaS is my weekend project</a>. It’s going to be much more challenging for micro-SaaS. You can’t just build something simple and milk that for a prolonged period.</p>

<p>I recently deleted all the programming books from my iCloud except a few. Lot of them were old and I haven’t even opened most of them in a while. I had a sense of pride for my digital book collection but I just don’t see the point of storing old education books.</p>

<p>All the news and developments in Ai hint that it’s going to get harder for people trying to make living as a programmer. A single programmer will be able to do the work of many and you’ll have many 10x programmers with advancement of coding models.</p>

<p>What should I do? How do I secure the future? If I’d enough money to retire, I wouldn’t have to worry. The future seems bleak.</p>

<p>Prepare for the worst and hope for the best! I should just start saving money like a madman and reach a figure where I can retire easily.</p>

<p>Let’s see what the future holds!</p>]]></content><author><name/></author><summary type="html"><![CDATA[I’ve been a subscriber of John Calhoun newsletters and bought few courses from him. He sent this email a bit ago which contained the following.]]></summary></entry><entry><title type="html">Harper - VS Code based Grammar/Spell checker</title><link href="/harper/" rel="alternate" title="Harper - VS Code based Grammar/Spell checker" type="text/html"/><published>2026-01-21T00:00:00+00:00</published><updated>2026-01-21T00:00:00+00:00</updated><id>/harper</id><content type="html" xml:base="/harper/"><![CDATA[<p>VS Code is my primary code editor. Previously, I used to write the blog post in VS Code and then spell-check using Proton Doc. Found that process very cumbersome. Opening browser and copy/paste wasn’t very fun.</p>

<p>I started writing on Apple notes. It kind of worked well. But nothing beats having a spell-checker right in your editor.</p>

<p>After failed attempts to find the extension using VS Code marketplace, I accidentally stumbled onto <a href="https://writewithharper.com/">Harper</a>. It is fast, and comes with an LSP which makes everything much easier.</p>

<p>Removed one more friction! Here’s to writing more in future!</p>]]></content><author><name/></author><summary type="html"><![CDATA[VS Code is my primary code editor. Previously, I used to write the blog post in VS Code and then spell-check using Proton Doc. Found that process very cumbersome. Opening browser and copy/paste wasn’t very fun.]]></summary></entry><entry><title type="html">My Github commits review</title><link href="/my-github-commits-review/" rel="alternate" title="My Github commits review" type="text/html"/><published>2026-01-14T05:04:00+00:00</published><updated>2026-01-14T05:04:00+00:00</updated><id>/my-github-commits-review</id><content type="html" xml:base="/my-github-commits-review/"><![CDATA[<p>I’ve been seriously coding since late 2020. The desire to ship more will be tracked by how many required (Not trying to game the numbers) commits I’ve pushed to Github.</p>

<p>This is where I stand now:</p>
<ul>
  <li>326 contributions in 2020</li>
  <li>661 contributions in 2021</li>
  <li>619 contributions in 2022</li>
  <li>777 contributions in 2023</li>
  <li>556 contributions in 2024</li>
  <li>526 contributions in 2025</li>
  <li>28 contributions in 2026</li>
</ul>

<p>2023 stands at highest with around 2/day. The goal for this year is 1000+ commits. Here’s to ship more!</p>]]></content><author><name/></author><summary type="html"><![CDATA[I’ve been seriously coding since late 2020. The desire to ship more will be tracked by how many required (Not trying to game the numbers) commits I’ve pushed to Github.]]></summary></entry><entry><title type="html">Screen time</title><link href="/screen-time/" rel="alternate" title="Screen time" type="text/html"/><published>2026-01-04T07:35:00+00:00</published><updated>2026-01-04T07:35:00+00:00</updated><id>/screen-time</id><content type="html" xml:base="/screen-time/"><![CDATA[<p>I am not happy with my smartphone over-usages as probably billion others.</p>

<p>2026 is the <a href="/less/">year of less</a> for me. I do have time limits on time wasters apps/sites but I am not feeling guilty enough to bypass them.</p>

<p>The metric I think will help minimizing this madness would be daily pickup. It’s currently more than 100+ times a day.</p>

<p>Just focusing on one thing - picking up phone making a conscious decision should do the job. That’s what I’m going to do.</p>

<p>There should be an app where you can share your phone screen time and feel embarrassed publicly.</p>]]></content><author><name/></author><summary type="html"><![CDATA[I am not happy with my smartphone over-usages as probably billion others.]]></summary></entry><entry><title type="html">TIL - Jekyll Compose</title><link href="/til-jekyll-compose/" rel="alternate" title="TIL - Jekyll Compose" type="text/html"/><published>2025-12-29T13:26:00+00:00</published><updated>2025-12-29T13:26:00+00:00</updated><id>/til-jekyll-compose</id><content type="html" xml:base="/til-jekyll-compose/"><![CDATA[<p>It takes me a while to format the correct structure Jekyll requires for new posts. I found this plugin <a href="https://github.com/jekyll/jekyll-compose">Jetpack Compose</a> which makes this process quite easy.</p>

<p>You get some new commands after installing it.</p>

<figure class="highlight"><pre><code class="language-javascript" data-lang="javascript"><span class="nx">draft</span>      <span class="err">#</span> <span class="nx">Creates</span> <span class="nx">a</span> <span class="k">new</span> <span class="nx">draft</span> <span class="nx">post</span> <span class="kd">with</span> <span class="nx">the</span> <span class="nx">given</span> <span class="nx">NAME</span>
<span class="nx">post</span>       <span class="err">#</span> <span class="nx">Creates</span> <span class="nx">a</span> <span class="k">new</span> <span class="nx">post</span> <span class="kd">with</span> <span class="nx">the</span> <span class="nx">given</span> <span class="nx">NAME</span>
<span class="nx">publish</span>    <span class="err">#</span> <span class="nx">Moves</span> <span class="nx">a</span> <span class="nx">draft</span> <span class="nx">into</span> <span class="nx">the</span> <span class="nx">_posts</span> <span class="nx">directory</span> <span class="nx">and</span> <span class="nx">sets</span> <span class="nx">the</span> <span class="nx">date</span>
<span class="nx">unpublish</span>  <span class="err">#</span> <span class="nx">Moves</span> <span class="nx">a</span> <span class="nx">post</span> <span class="nx">back</span> <span class="nx">into</span> <span class="nx">the</span> <span class="nx">_drafts</span> <span class="nx">directory</span>
<span class="nx">page</span>       <span class="err">#</span> <span class="nx">Creates</span> <span class="nx">a</span> <span class="k">new</span> <span class="nx">page</span> <span class="kd">with</span> <span class="nx">the</span> <span class="nx">given</span> <span class="nx">NAME</span>
<span class="nx">rename</span>     <span class="err">#</span> <span class="nx">Moves</span> <span class="nx">a</span> <span class="nx">draft</span> <span class="nx">to</span> <span class="nx">a</span> <span class="nx">given</span> <span class="nx">NAME</span> <span class="nx">and</span> <span class="nx">sets</span> <span class="nx">the</span> <span class="nx">title</span>
<span class="nx">compose</span>    <span class="err">#</span> <span class="nx">Creates</span> <span class="nx">a</span> <span class="k">new</span> <span class="nx">file</span> <span class="kd">with</span> <span class="nx">the</span> <span class="nx">given</span> <span class="nx">NAME</span></code></pre></figure>

<p>I’ve added following aliases in my shell.</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">alias </span><span class="nv">np</span><span class="o">=</span><span class="s2">"bundle exec jekyll post"</span>
<span class="nb">alias </span><span class="nv">js</span><span class="o">=</span><span class="s2">"bundle exec jekyll serve"</span></code></pre></figure>

<p>All I’ve do to now is just - <strong>np “Post title”</strong>. It auto creates the new file with correct format and the title.</p>

<p>Now, I wanted to auto open this in my default editor (VS code) and add a empty permalink front matter to customize the post url.</p>

<p>You can do that by adding following to your Jekyll config file:</p>

<figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="na">jekyll_compose</span><span class="pi">:</span>
  <span class="na">auto_open</span><span class="pi">:</span> <span class="no">true</span>
  <span class="na">default_front_matter</span><span class="pi">:</span>
    <span class="na">posts</span><span class="pi">:</span>
      <span class="na">permalink</span><span class="pi">:</span></code></pre></figure>

<p>And these to your shell:</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">export </span><span class="nv">JEKYLL_EDITOR</span><span class="o">=</span>code</code></pre></figure>

<p>Few seconds saved and early dementia expedited :) .</p>]]></content><author><name/></author><summary type="html"><![CDATA[It takes me a while to format the correct structure Jekyll requires for new posts. I found this plugin Jetpack Compose which makes this process quite easy.]]></summary></entry><entry><title type="html">The Year of less</title><link href="/less/" rel="alternate" title="The Year of less" type="text/html"/><published>2025-12-29T00:00:00+00:00</published><updated>2025-12-29T00:00:00+00:00</updated><id>/less</id><content type="html" xml:base="/less/"><![CDATA[<p>2026 is going to be the year of less for me.
Less:</p>
<ul>
  <li>procastination</li>
  <li>ego</li>
  <li>desires</li>
  <li>speaking</li>
</ul>

<p>Less procrastination will help with producing more. Less ego should keep me in check. Less <a href="/desires/">desires</a> will result in calmer life. Less speaking will make the uttered words worth more.</p>]]></content><author><name/></author><summary type="html"><![CDATA[2026 is going to be the year of less for me. Less: procastination ego desires speaking]]></summary></entry><entry><title type="html">Book reviews - The Rainmaker and The Widow</title><link href="/reviews-rainmaker-widow/" rel="alternate" title="Book reviews - The Rainmaker and The Widow" type="text/html"/><published>2025-12-20T00:00:00+00:00</published><updated>2025-12-20T00:00:00+00:00</updated><id>/books</id><content type="html" xml:base="/reviews-rainmaker-widow/"><![CDATA[<p>I managed to finish two books this week: <em>The Rainmaker</em> and <em>The Widow</em>,, both by John Grisham. I am a fan of John Grisham’s legal novels. Here are the ultra-short reviews.</p>

<h2 id="the-rainmaker">The Rainmaker</h2>
<p>I loved it. A David vs. Goliath kind of story where you’re always cheering for the hero. Almost 600 pages long but quite a page-turner. Recommended!</p>
<h2 id="the-widow">The Widow</h2>
<p>Can’t bring myself to recommend this book. It’s around 400 pages. I didn’t feel much joy after it was over. Not really as powerful as other works by John Grisham.</p>]]></content><author><name/></author><summary type="html"><![CDATA[I managed to finish two books this week: The Rainmaker and The Widow,, both by John Grisham. I am a fan of John Grisham’s legal novels. Here are the ultra-short reviews.]]></summary></entry><entry><title type="html">Past Mistakes</title><link href="/mistakes/" rel="alternate" title="Past Mistakes" type="text/html"/><published>2025-12-19T00:00:00+00:00</published><updated>2025-12-19T00:00:00+00:00</updated><id>/mistakes</id><content type="html" xml:base="/mistakes/"><![CDATA[<blockquote>
  <p>Insanity is doing the same thing over and over again and expecting different results.
<em>- Albert Einstein</em></p>
</blockquote>

<blockquote>
  <p>It’s pretty easy to get well-to-do slowly. But it’s not easy to get rich quick. - <em>Warren Buffet</em></p>
</blockquote>

<p>The above quotes can pretty much sum up my past mistakes. I am never content. Never has been. Always restless.</p>

<p>When you assume you’re smarter than others, mistakes happen. You do things again and again just to prove something to world. You become an addict for whom the next bet is the one where he will make it big. And as expected, that rarely happens.</p>

<p>Life is good. It’s better than what I imagined 20 years ago. I do well financially and haven’t put myself in some stupid pickle.</p>

<p>I just have to focus my energy on playing long term games. Short time games don’t seem to work well and I don’t think I am getting any wisdom out of them.</p>

<blockquote>
  <p>ॐ असतो मा सद्गमय । तमसो मा ज्योतिर्गमय ।।
From untruth/ignorance, lead me to truth/reality. From darkness, lead me to light - <em>Upanishad</em></p>
</blockquote>]]></content><author><name/></author><summary type="html"><![CDATA[Insanity is doing the same thing over and over again and expecting different results. - Albert Einstein]]></summary></entry><entry><title type="html">Desires</title><link href="/desires/" rel="alternate" title="Desires" type="text/html"/><published>2025-12-17T00:00:00+00:00</published><updated>2025-12-17T00:00:00+00:00</updated><id>/desires</id><content type="html" xml:base="/desires/"><![CDATA[<p>I read this article - <a href="https://www.joanwestenberg.com/thin-desires-are-eating-your-life/">Thin Desires Are Eating Your Life</a>.</p>

<p>The striking lines were - <em><strong>A thick desire is one that changes you in the process of pursuing it. A thin desire is one that doesn’t.</strong></em></p>

<p>Buddhism has something similar about desires being root cause of all problems. Which thin desires drive me? Which thick desires I should be having?</p>

<p>I don’t care for any digital attention. I don’t use the communication app for anything other than catching up. However, some of my actions are related to ego boosting. I do tend to indulge in silly activities a tad more than one should be.</p>

<p>I am always in awe of people who constantly ship. I want to be well read. I need to learn how to keep instant gratification in check. I gotta exercise more. Get some hobbies which involve entire family.</p>

<p>The problem is not knowing what to improve. We tend to prioritize instant gratification over longer, more meaningful act. The practice of reminding oneself what’s important all the time should become a habit.</p>]]></content><author><name/></author><summary type="html"><![CDATA[I read this article - Thin Desires Are Eating Your Life.]]></summary></entry></feed>