<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>HemantInsights — Hemant Adhikari</title><link>https://www.hemantinsights.com</link><description>Articles on WordPress, Next.js, React, Shopify and web performance.</description><language>en</language><atom:link href="https://www.hemantinsights.com/feed.xml" rel="self" type="application/rss+xml"/><item><title>Background jobs in Node.js with BullMQ and Redis: queues, retries and scheduling</title><link>https://www.hemantinsights.com/blog/nodejs-background-jobs-bullmq</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/nodejs-background-jobs-bullmq</guid><pubDate>Tue, 20 Oct 2026 10:10:00 GMT</pubDate><category>Node.js &amp; APIs</category><description>Move slow work out of your Node.js API: BullMQ queues and workers on Redis, retries with backoff, concurrency and rate limits, repeatable jobs instead of cron, failed-job handling, graceful shutdown and monitoring.</description></item><item><title>Accessible React components: forms, modals, menus and focus management</title><link>https://www.hemantinsights.com/blog/accessible-react-components</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/accessible-react-components</guid><pubDate>Wed, 14 Oct 2026 05:25:00 GMT</pubDate><category>Frontend &amp; React</category><description>How to build React components that work for keyboard and screen-reader users: labelled forms with useful errors, dialogs with the native dialog element, disclosure menus, focus management after updates, live regions and how to test it all.</description></item><item><title>Laravel Eloquent performance: N+1 queries, indexes, caching and chunking</title><link>https://www.hemantinsights.com/blog/laravel-eloquent-performance</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/laravel-eloquent-performance</guid><pubDate>Sun, 11 Oct 2026 13:40:00 GMT</pubDate><category>PHP Frameworks</category><description>Why Laravel pages get slow as data grows and how to fix it: finding N+1 queries, eager loading, selecting only the columns you need, the right indexes, chunking large jobs and caching expensive queries.</description></item><item><title>Shopify Online Store 2.0 for developers: sections, blocks and JSON templates</title><link>https://www.hemantinsights.com/blog/shopify-online-store-2-sections-blocks</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/shopify-online-store-2-sections-blocks</guid><pubDate>Mon, 05 Oct 2026 07:00:00 GMT</pubDate><category>E-commerce</category><description>How modern Shopify themes are put together: JSON templates, sections with schema, blocks and presets, metafields and app blocks, with a reusable section and the Shopify CLI workflow.</description></item><item><title>Draft previews for headless WordPress with Next.js Draft Mode</title><link>https://www.hemantinsights.com/blog/headless-wordpress-draft-previews</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/headless-wordpress-draft-previews</guid><pubDate>Wed, 30 Sep 2026 11:55:00 GMT</pubDate><category>Headless &amp; Next.js</category><description>Editors expect the Preview button to work. In a headless setup it doesn't, until you build it: an authenticated preview route, Next.js Draft Mode, fetching drafts and revisions with an Application Password, and pointing WordPress's preview link at the frontend.</description></item><item><title>Caching for WordPress and PHP sites: page cache, object cache, CDN and HTTP headers</title><link>https://www.hemantinsights.com/blog/caching-wordpress-php-sites</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/caching-wordpress-php-sites</guid><pubDate>Thu, 24 Sep 2026 03:15:00 GMT</pubDate><category>Performance</category><description>The caching layers that make PHP sites fast, explained in order: browser caching with HTTP headers, CDN and full-page caching, OPcache, persistent object caching with Redis, transients, and how to invalidate each one without serving stale or private content.</description></item><item><title>Moving a WordPress site to a new host or domain without losing SEO</title><link>https://www.hemantinsights.com/blog/wordpress-site-migration-without-losing-seo</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/wordpress-site-migration-without-losing-seo</guid><pubDate>Fri, 18 Sep 2026 06:20:00 GMT</pubDate><category>Technical SEO</category><description>A migration plan that protects rankings: inventory URLs, move files and database safely, run a serialization-safe search-replace, map 301 redirects, and tell Google about the move.</description></item><item><title>Handling webhooks in Node.js: signature verification, idempotency and retries</title><link>https://www.hemantinsights.com/blog/nodejs-webhooks-signatures-idempotency</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/nodejs-webhooks-signatures-idempotency</guid><pubDate>Tue, 15 Sep 2026 14:35:00 GMT</pubDate><category>Node.js &amp; APIs</category><description>How to receive webhooks from Stripe, Shopify, WooCommerce and others reliably in Node.js: verifying HMAC signatures against the raw body, answering quickly, deduplicating retried events, processing in the background and debugging failures.</description></item><item><title>TypeScript for React developers: typing props, hooks, events and API data</title><link>https://www.hemantinsights.com/blog/typescript-for-react-developers</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/typescript-for-react-developers</guid><pubDate>Wed, 09 Sep 2026 07:45:00 GMT</pubDate><category>Frontend &amp; React</category><description>The TypeScript you actually need in React and Next.js projects: typing props and children, state and refs, events, reusable components with generics, and turning untrusted API data into safe types with runtime validation.</description></item><item><title>Laravel, CodeIgniter or CakePHP? Choosing a PHP framework for a client project</title><link>https://www.hemantinsights.com/blog/laravel-codeigniter-cakephp-comparison</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/laravel-codeigniter-cakephp-comparison</guid><pubDate>Sat, 05 Sep 2026 04:05:00 GMT</pubDate><category>PHP Frameworks</category><description>An honest comparison of three PHP frameworks I work with: how Laravel, CodeIgniter 4 and CakePHP 5 differ in structure, database access, ecosystem, performance and hosting, and which one fits which kind of project.</description></item><item><title>Speeding up a WooCommerce store: cart fragments, HPOS, caching and checkout</title><link>https://www.hemantinsights.com/blog/speed-up-woocommerce-store</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/speed-up-woocommerce-store</guid><pubDate>Sun, 30 Aug 2026 13:10:00 GMT</pubDate><category>E-commerce</category><description>Where WooCommerce stores lose speed and how to get it back: measuring first, controlling cart fragments, enabling HPOS, caching around carts and checkouts, trimming plugins and scripts, fast product images, database clean-up and a quicker checkout.</description></item><item><title>WPGraphQL or the REST API? Choosing a data layer for headless WordPress</title><link>https://www.hemantinsights.com/blog/wpgraphql-vs-rest-api-headless-wordpress</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/wpgraphql-vs-rest-api-headless-wordpress</guid><pubDate>Mon, 24 Aug 2026 04:50:00 GMT</pubDate><category>Headless &amp; Next.js</category><description>A practical comparison of the WordPress REST API and WPGraphQL for headless sites: what each request looks like, over-fetching and round trips, custom fields, caching, previews, security and the plugins each one needs.</description></item><item><title>Responsive images done right: WebP, AVIF, srcset, sizes and lazy loading</title><link>https://www.hemantinsights.com/blog/responsive-images-webp-avif-srcset</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/responsive-images-webp-avif-srcset</guid><pubDate>Thu, 20 Aug 2026 10:10:00 GMT</pubDate><category>Performance</category><description>Images are usually the heaviest part of a page and often the LCP element. How to choose formats, serve the right size with srcset and sizes, prioritise the hero image, lazy-load the rest and avoid layout shift, in plain HTML, WordPress and Next.js.</description></item><item><title>Structured data for developers: JSON-LD for articles, products, organisations and breadcrumbs</title><link>https://www.hemantinsights.com/blog/structured-data-json-ld-developers-guide</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/structured-data-json-ld-developers-guide</guid><pubDate>Fri, 14 Aug 2026 05:25:00 GMT</pubDate><category>Technical SEO</category><description>A practical guide to schema.org structured data with JSON-LD: which types still earn rich results, how to model articles, products, organisations, people and breadcrumbs, connecting entities with @id, generating it in WordPress and Next.js, and testing it.</description></item><item><title>Building a production REST API with Node.js and Express: validation, auth, errors and testing</title><link>https://www.hemantinsights.com/blog/nodejs-express-rest-api-production</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/nodejs-express-rest-api-production</guid><pubDate>Mon, 10 Aug 2026 13:40:00 GMT</pubDate><category>Node.js &amp; APIs</category><description>The parts of a Node.js API that tutorials skip: project structure, input validation with schemas, database pooling, authentication, consistent errors, rate limiting, logging, tests and graceful shutdown, with Express 5 code you can reuse.</description></item><item><title>From jQuery to React in WordPress: an incremental migration that doesn't break the site</title><link>https://www.hemantinsights.com/blog/jquery-to-react-wordpress-frontend</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/jquery-to-react-wordpress-frontend</guid><pubDate>Tue, 04 Aug 2026 07:00:00 GMT</pubDate><category>Frontend &amp; React</category><description>How to replace jQuery widgets in a WordPress theme with React components one at a time: building with @wordpress/scripts, mounting with createRoot, passing data and nonces safely, and fetching from the REST API.</description></item><item><title>Laravel for WordPress developers: routing, Eloquent, Blade and queues explained</title><link>https://www.hemantinsights.com/blog/laravel-for-wordpress-developers</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/laravel-for-wordpress-developers</guid><pubDate>Wed, 29 Jul 2026 11:55:00 GMT</pubDate><category>PHP Frameworks</category><description>A practical bridge from WordPress to Laravel: how routes replace templates and rewrite rules, Eloquent replaces WP_Query, Blade replaces template parts, and queues and the scheduler replace WP-Cron, with code for a real feature.</description></item><item><title>“There has been a critical error on this website”: a step-by-step WordPress fix</title><link>https://www.hemantinsights.com/blog/fix-wordpress-critical-error-white-screen</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/fix-wordpress-critical-error-white-screen</guid><pubDate>Sun, 26 Jul 2026 03:15:00 GMT</pubDate><category>WordPress Development</category><description>A calm, systematic way to fix the WordPress critical error and white screen: recovery mode, debug logs, isolating plugins and themes with WP-CLI, memory limits, corrupted core files and stuck maintenance mode.</description></item><item><title>Customizing WooCommerce without breaking updates: hooks, templates and HPOS</title><link>https://www.hemantinsights.com/blog/woocommerce-customization-hooks-hpos</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/woocommerce-customization-hooks-hpos</guid><pubDate>Mon, 20 Jul 2026 06:20:00 GMT</pubDate><category>E-commerce</category><description>How to customize WooCommerce safely: product and cart hooks, template overrides that don't go stale, the block-based checkout, and writing order code that works with High-Performance Order Storage.</description></item><item><title>Headless WordPress with Next.js App Router: a production architecture guide</title><link>https://www.hemantinsights.com/blog/headless-wordpress-nextjs-app-router-guide</link><guid isPermaLink="true">https://www.hemantinsights.com/blog/headless-wordpress-nextjs-app-router-guide</guid><pubDate>Thu, 16 Jul 2026 14:35:00 GMT</pubDate><category>Headless &amp; Next.js</category><description>How to run WordPress as a headless CMS behind a Next.js App Router frontend: data fetching, caching, on-demand revalidation, sanitizing content, images and SEO, with code you can reuse.</description></item></channel></rss>