
Security Headers for Next.js Behind Cloudflare
The security headers I set on a Next.js site served through Cloudflare, why each one is there, one I loosened for ads, and the Cloudflare settings that complete the picture.
Guides on AI search, the stock market, and building software — written to be found, answered, and cited.

The security headers I set on a Next.js site served through Cloudflare, why each one is there, one I loosened for ads, and the Cloudflare settings that complete the picture.

Commercial banks dominate NEPSE. Here are the eight numbers in a Nepali bank's quarterly report that matter most, what each one tells you, and how to compare banks with them.

My site briefly returned 5xx errors every time a post was published, because publishing rebuilt the Docker container. Here is how ISR plus a bind-mounted content folder removed the rebuild entirely.

How I set up IndexNow to notify Bing about new and changed pages without logging into any dashboard: the key file, a bulk submission of 6,263 URLs, per-post pings from cron, and the errors to expect.

A typewriter animation in my homepage hero caused a 0.26 Cumulative Layout Shift. Here is how I traced it and fixed it with a one-cell CSS grid, bringing CLS to 0.001.

Adding the standard Google AdSense snippet dropped my mobile Lighthouse score from 94 to 42. Here is the measurement, why it happens, and the deferred loader that brought it back to 89.

My robots.txt welcomed AI crawlers, yet GPTBot, ClaudeBot and PerplexityBot all got HTTP 403. Two Cloudflare settings were overriding it. Here is how I found them and switched them off.

Why a NEPSE stock's price drops after book closure for bonus or right shares, the formulas behind the adjusted price, worked examples, and what happens if you do not apply for your rights.

Bing Webmaster Tools flagged page titles over 70 characters. A site-wide suffix pushed 1,684 titles over the limit. Here is a shortening function that fixed all of them without creating a single duplicate.

Google AdSense rejected this site for low value content. I measured why: 6,341 of 6,346 blog posts were assembled from the same template paragraphs. Here is the audit script and exactly what I changed.

A step-by-step 2026 guide to deploy a Next.js app to a VPS with Cloudflare Tunnel — Docker standalone build, docker-compose, and zero open ports or firewall changes.

A practical 2026 guide to llms.txt — what it is, how it differs from robots.txt, how to add one to a Next.js app, and an honest take on whether it actually works.

AI search optimization explained for 2026 — how SEO, AEO, GEO and AIO differ and how to rank in Google, win snippets, get cited by ChatGPT, and stay machine-readable.

A beginner's guide to NEPSE technical analysis — read candlestick patterns, support and resistance, RSI, MACD and volume to time entries and exits with discipline.

Learn fundamental analysis for NEPSE step by step — read financial statements, use P/E, EPS, ROE and DCF, and value Nepali stocks like a disciplined long-term investor.