<?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: Emir Baycan</title>
    <description>The latest articles on DEV Community by Emir Baycan (@kalenux).</description>
    <link>https://dev.to/kalenux</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%2F3961037%2Faf5f710c-eecd-4346-a998-df508064a019.png</url>
      <title>DEV Community: Emir Baycan</title>
      <link>https://dev.to/kalenux</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kalenux"/>
    <language>en</language>
    <item>
      <title>We stopped paying $100+/mo for SEO tools. Here's the technical-audit setup we use instead</title>
      <dc:creator>Emir Baycan</dc:creator>
      <pubDate>Sun, 07 Jun 2026 21:12:19 +0000</pubDate>
      <link>https://dev.to/kalenux/we-stopped-paying-100mo-for-seo-tools-heres-the-technical-audit-setup-we-use-instead-51l5</link>
      <guid>https://dev.to/kalenux/we-stopped-paying-100mo-for-seo-tools-heres-the-technical-audit-setup-we-use-instead-51l5</guid>
      <description>&lt;p&gt;We run 10+ web products. For years our SEO tooling was a $100+/month subscription we mostly used for one job: technical audits. The keyword and backlink dashboards sat untouched while the bill renewed every month. At some point the math stopped making sense, so we rebuilt our stack around what we actually use. Here's the honest breakdown — what we kept free, what we replaced, and why.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a technical audit actually needs to check
&lt;/h2&gt;

&lt;p&gt;Before picking tools, it helps to know what you're auditing. The technical layer is finite and well-defined:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Crawlability&lt;/strong&gt; — robots.txt, broken internal links, redirect chains&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Indexability&lt;/strong&gt; — noindex tags, canonical correctness, soft 404s, orphan pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sitemaps&lt;/strong&gt; — only canonical, indexable, 200-status URLs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On-page&lt;/strong&gt; — titles, meta descriptions, one H1, valid structured data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;International&lt;/strong&gt; — hreflang reciprocity (if you're multilingual)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance&lt;/strong&gt; — Core Web Vitals (LCP, CLS, INP)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's it. None of it requires a keyword database or a backlink index — the two things you're really paying $100+/mo for in the big suites.&lt;/p&gt;

&lt;h2&gt;
  
  
  The free tools that cover most of it
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Google Search Console&lt;/strong&gt; is non-negotiable and free. The Pages report is the source of truth for what's indexed and why the rest isn't. &lt;strong&gt;PageSpeed Insights&lt;/strong&gt; (free) gives you real Core Web Vitals. &lt;strong&gt;Screaming Frog's free tier&lt;/strong&gt; crawls up to 500 URLs, which is plenty for small sites.&lt;/p&gt;

&lt;p&gt;For a long time that was our whole stack: GSC + PageSpeed + free Screaming Frog. If your site is under 500 pages, you may not need anything else.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it broke down for us
&lt;/h2&gt;

&lt;p&gt;The free Screaming Frog cap (500 URLs) is the wall. Several of our sites are bigger, and re-auditing them meant either the paid Screaming Frog licence (annual) or going back to a monthly suite. Both felt wrong for something we run after every deploy.&lt;/p&gt;

&lt;p&gt;So we built our own crawler for the technical layer — and then, honestly, turned it into a product because other people we talked to had the same problem. It does the whole checklist above across the entire site, plus PageSpeed, with &lt;strong&gt;one-time pricing instead of a subscription&lt;/strong&gt; ($9-49, credits never expire). It's the same engine we run on our own properties — &lt;a href="https://kalenux.com.tr/seo" rel="noopener noreferrer"&gt;kalenux.com.tr/seo&lt;/a&gt;, and there's a &lt;a href="https://kalenux.com.tr/seo-free-audit" rel="noopener noreferrer"&gt;free no-signup check&lt;/a&gt; if you want to see what it flags. It is &lt;em&gt;not&lt;/em&gt; a keyword tool — we still use a separate (cheaper) option for that.&lt;/p&gt;

&lt;h2&gt;
  
  
  The actual takeaway
&lt;/h2&gt;

&lt;p&gt;The point isn't our tool — it's the unbundling. Most people pay for a full SEO suite to use 20% of it. Split the jobs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Technical audits&lt;/strong&gt; → a dedicated crawler (free tier, a one-time tool, or paid Screaming Frog)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keyword research&lt;/strong&gt; → a cheaper standalone option, or free ones&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backlinks&lt;/strong&gt; → only if you genuinely work on link-building&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most small sites and freelancers can cover everything they actually use for a fraction of a single suite subscription. We went from $100+/mo to a few dollars a year on the technical side, with no loss in what we could check.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Written by the Kalenux team.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>tools</category>
      <category>technicalseo</category>
    </item>
    <item>
      <title>I built 9 free SEO tools so I'd stop paying $100/mo to audit my own sites</title>
      <dc:creator>Emir Baycan</dc:creator>
      <pubDate>Sun, 07 Jun 2026 20:05:54 +0000</pubDate>
      <link>https://dev.to/kalenux/i-built-9-free-seo-tools-so-id-stop-paying-100mo-to-audit-my-own-sites-4mn2</link>
      <guid>https://dev.to/kalenux/i-built-9-free-seo-tools-so-id-stop-paying-100mo-to-audit-my-own-sites-4mn2</guid>
      <description>&lt;p&gt;We run 10+ web products. For years we paid for an SEO suite mostly to do one thing: technical audits. The keyword and backlink features sat unused while the bill renewed every month. So we built our own technical-audit engine — and then split the individual checks out into free, no-signup tools. Here's what each one does and the technical reasoning behind it.&lt;/p&gt;

&lt;p&gt;All of them run an instant check on a URL with no account. Try them on your own site as you read.&lt;/p&gt;

&lt;h2&gt;
  
  
  The crawlability &amp;amp; indexing tools
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://kalenux.com.tr/seo-indexability-checker" rel="noopener noreferrer"&gt;Indexability Checker&lt;/a&gt;&lt;/strong&gt; — the most important one. A page that isn't indexable can't rank, full stop. It checks for &lt;code&gt;noindex&lt;/code&gt; tags, robots.txt blocks, canonical conflicts and non-200 status. The classic outage we've all caused: a stray &lt;code&gt;noindex&lt;/code&gt; on a shared layout that ships to production and quietly deindexes a whole section.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://kalenux.com.tr/seo-canonical-checker" rel="noopener noreferrer"&gt;Canonical Checker&lt;/a&gt;&lt;/strong&gt; — verifies &lt;code&gt;rel=canonical&lt;/code&gt; is self-referencing and resolves to a live 200. The subtle bug it catches: a canonical pointing at a URL that then redirects. Google ignores those and picks its own canonical, so your signal is wasted. Common after an HTTP→HTTPS migration where canonicals weren't updated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://kalenux.com.tr/seo-sitemap-validator" rel="noopener noreferrer"&gt;Sitemap Validator&lt;/a&gt;&lt;/strong&gt; — locates your sitemap (via robots.txt or /sitemap.xml), validates the XML, counts URLs, checks HTTPS consistency, and samples a few URLs for live 200 status. A sitemap full of redirected or 404 URLs sends mixed signals and wastes crawl budget.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://kalenux.com.tr/seo-technical-seo-checker" rel="noopener noreferrer"&gt;Technical SEO Checker&lt;/a&gt;&lt;/strong&gt; — the full crawl-based audit across every page, not just the homepage.&lt;/p&gt;

&lt;h2&gt;
  
  
  The on-page tools
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://kalenux.com.tr/seo-meta-tag-checker" rel="noopener noreferrer"&gt;Meta Tag Checker&lt;/a&gt;&lt;/strong&gt; — title, meta description, canonical, viewport and Open Graph tags, checked for presence and length. Title truncates around 60 chars; meta description around 160.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://kalenux.com.tr/seo-broken-link-checker" rel="noopener noreferrer"&gt;Broken Link Checker&lt;/a&gt;&lt;/strong&gt; — finds broken internal and outbound links plus redirect chains, with the source pages for each. Fixing broken links is the highest-return, lowest-effort technical task there is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://kalenux.com.tr/seo-hreflang-checker" rel="noopener noreferrer"&gt;Hreflang Checker&lt;/a&gt;&lt;/strong&gt; — for multilingual sites. Hreflang is the most error-prone area of technical SEO: it needs reciprocal return tags, a self-reference, valid language codes, and targets that return 200. Miss any and Google ignores the whole cluster.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://kalenux.com.tr/seo-pagespeed-test" rel="noopener noreferrer"&gt;PageSpeed Test&lt;/a&gt;&lt;/strong&gt; — real Core Web Vitals (LCP, CLS, INP) on your key templates, mobile and desktop. Test a product or category page, not just the homepage — those carry the traffic and usually score worst.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why free, why no signup
&lt;/h2&gt;

&lt;p&gt;The instant checks read one page (your homepage) and need no account, because the fastest way to show a tool is useful is to just let people use it. The full site-wide crawl is the paid product, but it's one-time pricing ($9-49, credits never expire) rather than a subscription — which was the whole point of building it. We were tired of paying monthly to re-audit our own properties.&lt;/p&gt;

&lt;p&gt;If you maintain your own sites, the full toolbox lives at &lt;a href="https://kalenux.com.tr/seo-tools" rel="noopener noreferrer"&gt;kalenux.com.tr/seo-tools&lt;/a&gt;. And if you just want the methodology, the &lt;a href="https://kalenux.com.tr/technical-seo-audit-guide" rel="noopener noreferrer"&gt;complete technical SEO audit guide&lt;/a&gt; walks through the whole process in order.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Written by the Kalenux team.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>tools</category>
      <category>showdev</category>
    </item>
    <item>
      <title>8 ways your site quietly deindexes itself (and how to catch them)</title>
      <dc:creator>Emir Baycan</dc:creator>
      <pubDate>Fri, 05 Jun 2026 17:46:01 +0000</pubDate>
      <link>https://dev.to/kalenux/8-ways-your-site-quietly-deindexes-itself-and-how-to-catch-them-31ae</link>
      <guid>https://dev.to/kalenux/8-ways-your-site-quietly-deindexes-itself-and-how-to-catch-them-31ae</guid>
      <description>&lt;p&gt;Deindexing is the quietest way to lose traffic. Nothing 404s, nothing looks broken - pages just slip out of Google's index and the rankings go with them. We run 10+ web products and these are the eight causes we see over and over. Each one is invisible until you go looking.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. A stray &lt;code&gt;noindex&lt;/code&gt; on a shared template
&lt;/h2&gt;

&lt;p&gt;The classic. Someone adds &lt;code&gt;&amp;lt;meta name="robots" content="noindex"&amp;gt;&lt;/code&gt; to a layout or component to hide a staging page, and it ships to a template used by hundreds of pages. Whole sections vanish from search.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Catch it:&lt;/strong&gt; grep your built output for &lt;code&gt;noindex&lt;/code&gt;. It should only appear where you genuinely want it (thank-you pages, internal search results). Anything else is a leak.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Canonical tags pointing to the wrong URL
&lt;/h2&gt;

&lt;p&gt;If page A says &lt;code&gt;&amp;lt;link rel="canonical" href="B"&amp;gt;&lt;/code&gt;, you're telling Google "index B instead of me." Get this wrong across a template - e.g. every paginated page canonicalising to page 1 - and you deindex pages 2+.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Catch it:&lt;/strong&gt; every page should self-reference its canonical unless you have a deliberate reason not to. Watch especially for canonicals pointing to a redirect or a 404 - Google ignores those and picks its own, unpredictably.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. robots.txt blocking what you want indexed
&lt;/h2&gt;

&lt;p&gt;A &lt;code&gt;Disallow:&lt;/code&gt; rule meant for one folder can match more than you think. And blocking a URL in robots.txt doesn't deindex it - it just stops Google re-crawling, so a page can stay indexed with no snippet, or get stuck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Catch it:&lt;/strong&gt; test your important paths against your robots.txt rules. Make sure your sitemap is declared with a &lt;code&gt;Sitemap:&lt;/code&gt; line too.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Non-canonical or redirected URLs in your sitemap
&lt;/h2&gt;

&lt;p&gt;Your sitemap is a list of "please index these." If it's full of redirected URLs, non-canonical variants, or 404s, you send mixed signals and waste crawl budget.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Catch it:&lt;/strong&gt; your sitemap should contain only canonical, indexable, 200-status URLs. Audit it.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Soft 404s
&lt;/h2&gt;

&lt;p&gt;A page returns HTTP 200 but has no real content ("No results found", an empty category). Google calls these soft 404s and quietly drops them - or worse, loses trust in that section.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Catch it:&lt;/strong&gt; thin/empty pages that return 200 are the tell. Either add content, noindex them deliberately, or return a real 404.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Redirect chains and loops
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;A -&amp;gt; B -&amp;gt; C -&amp;gt; D&lt;/code&gt; wastes crawl budget and dilutes signals at every hop. A redirect loop (&lt;code&gt;A -&amp;gt; B -&amp;gt; A&lt;/code&gt;) is worse - Google gives up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Catch it:&lt;/strong&gt; collapse every chain to a single hop. &lt;code&gt;A -&amp;gt; D&lt;/code&gt;, done.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Canonical-to-redirect
&lt;/h2&gt;

&lt;p&gt;A subtle one: page A canonicalises to B, but B redirects to C. Now your canonical signal is broken and Google has to guess. This commonly happens after an HTTP-to-HTTPS or trailing-slash migration where canonicals weren't updated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Catch it:&lt;/strong&gt; make sure every canonical target returns 200 directly, not a redirect.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Orphan pages
&lt;/h2&gt;

&lt;p&gt;A page with zero internal links pointing to it. Google can technically find it via the sitemap, but with no internal links it reads as low-priority and often won't get or keep an index slot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Catch it:&lt;/strong&gt; build your internal link graph and find pages with zero incoming links. One warning from experience: if your crawler times out while resolving the link graph, it will report &lt;em&gt;every&lt;/em&gt; page as an orphan. Make sure the incoming-link count actually computed before you trust it - a false "everything is orphaned" result has sent people chasing ghosts.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to monitor this without a $100/mo suite
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Google Search Console -&amp;gt; Pages report&lt;/strong&gt; is the source of truth: it tells you exactly what's indexed and, for everything that isn't, why. Free. Check it weekly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screaming Frog free tier&lt;/strong&gt; crawls 500 URLs and surfaces most of the above for small sites.&lt;/li&gt;
&lt;li&gt;For site-wide crawls without the subscription, we built our own (&lt;a href="https://kalenux.com.tr/seo-technical-seo-checker" rel="noopener noreferrer"&gt;Kalenux SEO Audit&lt;/a&gt;) - it flags noindex, canonical errors, soft 404s, redirect chains, sitemap mismatches and orphans across the whole site, one-time pricing instead of a monthly bill. It's the technical-audit piece only, not a keyword tool.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deindexing is sneaky precisely because nothing looks broken. Set up the monitoring, run a crawl after every deploy that touches templates or redirects, and you'll catch these before they cost you a quarter of rankings.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>technicalseo</category>
      <category>googlesearch</category>
    </item>
    <item>
      <title>The technical SEO audit checklist we run on every site (no $100/mo tool needed)</title>
      <dc:creator>Emir Baycan</dc:creator>
      <pubDate>Fri, 05 Jun 2026 12:17:34 +0000</pubDate>
      <link>https://dev.to/kalenux/the-technical-seo-audit-checklist-we-run-on-every-site-no-100mo-tool-needed-4jh</link>
      <guid>https://dev.to/kalenux/the-technical-seo-audit-checklist-we-run-on-every-site-no-100mo-tool-needed-4jh</guid>
      <description>&lt;p&gt;We maintain 10+ web products, and before any of them ships content we run the same technical SEO pass. None of it requires an expensive suite - most of it is free if you know where to look. Here's the exact checklist, grouped so you fix root causes once instead of chasing symptoms.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Crawlability and indexability (fix these first)
&lt;/h2&gt;

&lt;p&gt;Nothing else matters if Google can't crawl or index the page.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;robots.txt&lt;/strong&gt; - make sure you're not accidentally &lt;code&gt;Disallow&lt;/code&gt;-ing important paths, and that your sitemap is declared with a &lt;code&gt;Sitemap:&lt;/code&gt; line.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Noindex tags&lt;/strong&gt; - search your templates for stray &lt;code&gt;noindex&lt;/code&gt;. A single misplaced meta tag on a layout file can deindex a whole section.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Canonicals&lt;/strong&gt; - every page should have a self-referencing canonical unless it's deliberately pointing elsewhere. Watch for canonicals that point to a redirect or a 404 - Google ignores those and picks its own.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sitemap hygiene&lt;/strong&gt; - your sitemap should only contain canonical, indexable, 200-status URLs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Quick check: in Google Search Console, the Pages report tells you exactly what's indexed and why the rest isn't. It's free and it's the source of truth.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Links and redirects
&lt;/h2&gt;

&lt;p&gt;Broken links waste crawl budget and leak authority.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Broken internal links (404s)&lt;/strong&gt; - fix or remove them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Redirect chains&lt;/strong&gt; - &lt;code&gt;A -&amp;gt; B -&amp;gt; C&lt;/code&gt; should be &lt;code&gt;A -&amp;gt; C&lt;/code&gt;. Every hop loses a little authority.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Broken redirects&lt;/strong&gt; - a redirect that lands on a 404 is worse than no redirect.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Orphan pages&lt;/strong&gt; - pages with zero internal links pointing to them. (Careful detecting these: if your crawler times out building the link graph, it'll report &lt;em&gt;every&lt;/em&gt; page as an orphan. Make sure your incoming-link count actually resolved before trusting it.)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. On-page basics that still move rankings
&lt;/h2&gt;

&lt;p&gt;Unglamorous, still effective.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Titles&lt;/strong&gt; - unique, descriptive, not truncated. Flag missing, duplicate, too-long, too-short.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Meta descriptions&lt;/strong&gt; - same treatment. They don't directly rank you but they drive click-through.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One H1 per page&lt;/strong&gt;, with a sane heading hierarchy (H1 -&amp;gt; H2 -&amp;gt; H3, no skipping straight to H3).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured data&lt;/strong&gt; - if you use JSON-LD, validate it. Invalid schema can throw errors in Search Console and block rich results. A common one: putting &lt;code&gt;aggregateRating&lt;/code&gt; on an object type that doesn't support it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. International (if you have it)
&lt;/h2&gt;

&lt;p&gt;Hreflang is the single most error-prone area of technical SEO.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every hreflang annotation needs a &lt;strong&gt;reciprocal&lt;/strong&gt; return tag.&lt;/li&gt;
&lt;li&gt;Include a &lt;strong&gt;self-referencing&lt;/strong&gt; hreflang.&lt;/li&gt;
&lt;li&gt;Don't point hreflang at redirected or broken URLs.&lt;/li&gt;
&lt;li&gt;Make sure &lt;code&gt;html lang&lt;/code&gt; matches the hreflang you're claiming.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. PageSpeed and Core Web Vitals
&lt;/h2&gt;

&lt;p&gt;Real-world performance, not lab vanity numbers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;strong&gt;PageSpeed Insights&lt;/strong&gt; on your key templates (home, a product/post page, a category page).&lt;/li&gt;
&lt;li&gt;Watch LCP, CLS, INP. Common wins: compress images, add &lt;code&gt;font-display: swap&lt;/code&gt;, defer render-blocking JS/CSS, serve assets gzipped/brotli.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to run this without paying $100+/month
&lt;/h2&gt;

&lt;p&gt;You can cover a lot for free:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Google Search Console + PageSpeed Insights&lt;/strong&gt; - free, authoritative, have them regardless.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screaming Frog free tier&lt;/strong&gt; - crawls up to 500 URLs, great for small sites.&lt;/li&gt;
&lt;li&gt;For site-wide crawls on bigger sites without the subscription, we built our own tool (&lt;a href="https://kalenux.com.tr/seo" rel="noopener noreferrer"&gt;Kalenux SEO Audit&lt;/a&gt;) because we were tired of paying monthly just to re-audit our own properties - it runs the whole checklist above plus PageSpeed from the browser, one-time pricing instead of a sub. It's the technical-audit piece only, not a keyword suite, so pair it with whatever you use for keyword research.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The point isn't the tool. 80% of technical SEO problems come from this short list, and you can catch almost all of them without an enterprise subscription. Run the checklist, fix root causes, re-crawl, and move on.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>technicalseo</category>
      <category>performance</category>
    </item>
    <item>
      <title>Why we built our own Node.js website build system</title>
      <dc:creator>Emir Baycan</dc:creator>
      <pubDate>Wed, 03 Jun 2026 12:42:11 +0000</pubDate>
      <link>https://dev.to/kalenux/why-we-built-our-own-nodejs-website-build-system-4cod</link>
      <guid>https://dev.to/kalenux/why-we-built-our-own-nodejs-website-build-system-4cod</guid>
      <description>&lt;p&gt;Across our portfolio at Kalenux, most pages are content: articles, guides, localized variants, category pages. They change when we publish, not on every request. So instead of rendering them per-request, we treat building the site as a step that runs when content changes — and we built our own tool to do it.&lt;/p&gt;

&lt;p&gt;That tool is &lt;strong&gt;Kalenuxer&lt;/strong&gt;, our open-source, Node.js-based website build system. Here is why it exists and what it does.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why build our own
&lt;/h2&gt;

&lt;p&gt;We tried existing static-site generators. Each did part of what we needed, none did all of it — fast incremental builds, real multilingual support, and automated deployment, together, across many large sites. So we built one in-house.&lt;/p&gt;

&lt;p&gt;It is written in Node.js because the team lives in JavaScript and TypeScript daily, the ecosystem for parsing, templating, and asset handling is deep, and it keeps the build tooling in the same language as much of our frontend work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Incremental builds
&lt;/h2&gt;

&lt;p&gt;The feature that matters most at scale: Kalenuxer only rebuilds what changed. CSS, JS, and HTML are tracked separately with timestamp-based invalidation. Edit one article and you rebuild one page, not the whole site.&lt;/p&gt;

&lt;p&gt;On a site with thousands of pages, that is the difference between a build measured in minutes and one measured in seconds. When you publish often, that compounds into real time saved every day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multilingual by default
&lt;/h2&gt;

&lt;p&gt;Our content products run in 15+ languages. Kalenuxer has i18n built in: JSON data files per language, no external translation service or third-party dependency. Adding a language is adding a data file, not re-architecting the site.&lt;/p&gt;

&lt;h2&gt;
  
  
  Template-based, automated deploy
&lt;/h2&gt;

&lt;p&gt;Pages are composed from templates, so structure stays consistent across a product and changes propagate cleanly. Deployment is automated off the build, so shipping content is not a manual ritual.&lt;/p&gt;

&lt;h2&gt;
  
  
  The point
&lt;/h2&gt;

&lt;p&gt;Kalenuxer is not the product — it is the tooling that lets a focused team ship and maintain 10+ live products without the build process becoming the bottleneck. Sometimes the highest-leverage thing you can build is the thing that builds everything else.&lt;/p&gt;

&lt;p&gt;Software that works. Products that last.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Kalenux is a software powerhouse from Istanbul building web and mobile products at scale, and the open-source Kalenuxer build system. Founded and led by Emir Baycan. &lt;a href="https://kalenux.com.tr" rel="noopener noreferrer"&gt;kalenux.com.tr&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>javascriptwebdevopensource</category>
    </item>
    <item>
      <title>Build and operate: why running your own software changes how you engineer it</title>
      <dc:creator>Emir Baycan</dc:creator>
      <pubDate>Sun, 31 May 2026 13:28:33 +0000</pubDate>
      <link>https://dev.to/kalenux/build-and-operate-why-running-your-own-software-changes-how-you-engineer-it-1b5k</link>
      <guid>https://dev.to/kalenux/build-and-operate-why-running-your-own-software-changes-how-you-engineer-it-1b5k</guid>
      <description>&lt;p&gt;A lot of software is built to be handed off. A team ships it, signs off, and moves on. At Kalenux we don't hand off — we build our products, then we run them in production for the long haul. That single choice changes how the whole team engineers.&lt;/p&gt;

&lt;h2&gt;
  
  
  You optimize for the next two years, not the demo
&lt;/h2&gt;

&lt;p&gt;When the finish line is a handoff, you optimize for the moment of delivery: it looks done, it passes review, it ships. When you know your team will still be running this in two years, the incentives invert. You optimize for the day a dependency breaks, the week traffic spikes, the month someone needs to change code written long ago.&lt;/p&gt;

&lt;p&gt;"Done" stops meaning "shipped" and starts meaning "still good a year from now" — across 10+ products and 500,000+ users who notice when something breaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  You feel your own decisions
&lt;/h2&gt;

&lt;p&gt;Operating your own software creates a feedback loop a build-and-handoff shop never gets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Slow builds?&lt;/strong&gt; The team feels them on every publish — which is exactly why we built our own incremental build system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Painful localization?&lt;/strong&gt; We run products in 15+ languages, so the tooling has to handle it cleanly, not heroically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sloppy output?&lt;/strong&gt; It shows up in our own search results and our own support load, so correctness gets built in, not bolted on.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nobody files a ticket about these. The people who feel the pain are the people who fix the cause.&lt;/p&gt;

&lt;h2&gt;
  
  
  Specialists, not generalists spread thin
&lt;/h2&gt;

&lt;p&gt;Our products lead their categories because they are built by people who understand the domain — engineers, domain researchers, and product specialists, not a generic feature factory. A privacy-first file converter is built by people who care about client-side guarantees; a cognitive assessment is built with input from researchers. Depth is the point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build and operate is a discipline
&lt;/h2&gt;

&lt;p&gt;It is easy to say you care about quality. Operating your own software forces it: you can't walk away from a shortcut, it waits for you in production. So you stop taking it.&lt;/p&gt;

&lt;p&gt;Software that works. Products that last.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Kalenux is a software powerhouse from Istanbul building web and mobile products at scale, and the open-source Kalenuxer build system. Founded and led by Emir Baycan. &lt;a href="https://kalenux.com.tr" rel="noopener noreferrer"&gt;kalenux.com.tr&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>architecture</category>
      <category>career</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
