<?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: Ajay Kanani</title>
    <description>The latest articles on DEV Community by Ajay Kanani (@ajay_kanani_5cff8e1be2ded).</description>
    <link>https://dev.to/ajay_kanani_5cff8e1be2ded</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4152064%2F6c12f7f4-e44d-4785-bcaa-7caea7efb1b5.jpg</url>
      <title>DEV Community: Ajay Kanani</title>
      <link>https://dev.to/ajay_kanani_5cff8e1be2ded</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ajay_kanani_5cff8e1be2ded"/>
    <language>en</language>
    <item>
      <title>What I learned building 175+ browser-only tools with Next.js (and why Google ignored most of them)</title>
      <dc:creator>Ajay Kanani</dc:creator>
      <pubDate>Wed, 30 Sep 2026 10:46:10 +0000</pubDate>
      <link>https://dev.to/ajay_kanani_5cff8e1be2ded/what-i-learned-building-175-browser-only-tools-with-nextjs-and-why-google-ignored-most-of-them-10ek</link>
      <guid>https://dev.to/ajay_kanani_5cff8e1be2ded/what-i-learned-building-175-browser-only-tools-with-nextjs-and-why-google-ignored-most-of-them-10ek</guid>
      <description>&lt;p&gt;I'm a developer, and over the past months I built &lt;a href="https://plaintoolbox.com" rel="noopener noreferrer"&gt;PlainToolbox&lt;/a&gt;, a collection of 175+ free tools: calculators, converters, text utilities and generators. Everything runs in the browser, with no backend and no sign-up.&lt;/p&gt;

&lt;p&gt;Building the tools was the easy part. Getting Google to index them was not. Here is what I learned.&lt;/p&gt;

&lt;h2&gt;
  
  
  One config object per tool
&lt;/h2&gt;

&lt;p&gt;Every tool is a small object describing its inputs, logic and FAQs. A shared engine turns it into a page.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  slug: "add-business-days",
  name: "Add Business Days to a Date",
  category: "date",
  fields: [/* start date, days, holidays */],
  run(values) {
    // pure function: inputs in, outputs out
  },
  faqs: [/* ... */],
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The same definition feeds the page, the JSON-LD schema, the sitemap and the &lt;code&gt;llms.txt&lt;/code&gt; file. Adding a tool never means touching five places.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pre-render a real result
&lt;/h2&gt;

&lt;p&gt;Many tool sites ship an empty form and fill it with JavaScript. I render the default example on the server, so the HTML already contains a real answer. Crawlers and AI assistants see a worked result, not a blank widget.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tests you can actually run
&lt;/h2&gt;

&lt;p&gt;Because &lt;code&gt;run()&lt;/code&gt; is a pure function, I can call it directly in a script and check known answers. For the business-days tool, 5 business days from a Monday must land seven calendar days later, and 3 business days from a Wednesday must land on the next Monday. Those checks caught real off-by-one bugs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The hard part: indexing
&lt;/h2&gt;

&lt;p&gt;Google indexed several pages briefly, then dropped almost all of them. Today only my homepage is indexed, and Search Console shows most tool pages as "Crawled, currently not indexed".&lt;/p&gt;

&lt;p&gt;Things I changed based on that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Noindexed commodity tools.&lt;/strong&gt; A generic RGB-to-HEX converter cannot beat decade-old incumbents, and 175 similar pages on a new domain can read as scaled content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Answer-first content.&lt;/strong&gt; Each page now has a short "Quick answers" block matching the exact phrasing people search, such as "how long is 5 business days?".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real freshness dates.&lt;/strong&gt; A "Last reviewed" date only where the content was actually reviewed, never a build timestamp on every URL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A sitemap index&lt;/strong&gt; with one child sitemap per section, so Search Console shows indexing per section.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filled the gaps in search data.&lt;/strong&gt; Queries showed people wanted "N business days from today", which my site did not offer, so I built it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I'd tell my past self
&lt;/h2&gt;

&lt;p&gt;A new domain has almost no trust. Technical SEO makes you eligible, but it does not make you rank. Backlinks and real mentions matter more than another hundred pages. I'm still early in that part.&lt;/p&gt;

&lt;p&gt;The first visits I could trace came from an AI assistant, which fits: those systems often cite small pages that answer one question clearly.&lt;/p&gt;

&lt;p&gt;If you want to try the tools, they're at &lt;a href="https://plaintoolbox.com" rel="noopener noreferrer"&gt;plaintoolbox.com&lt;/a&gt;. I'd like to hear which ones are missing, or where a result is wrong.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>nextjs</category>
      <category>seo</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
