SPF, DKIM, and DMARC So Your Site Email Is Not Spam
Why mail from a new business domain lands in spam, and the DNS records I add so contact forms and invoices reach the inbox.
Notes & insights
Personal testimonies and notes on faith, life experience, web development, performance, and technical leadership.
Why mail from a new business domain lands in spam, and the DNS records I add so contact forms and invoices reach the inbox.
How a staging or dev copy gets indexed, and the noindex, password, and robots checks I use so it does not compete with the real site.
How I choose between shared hosting and a VPS for client sites: traffic, WordPress weight, email, backups, and who will actually maintain the server.
A practical GA4 setup for a client site: one property, the right stream, a tag that does not block the page, and the few events worth keeping.
How to map old URLs to new ones with a 301 so bookmarks, ads, and Google do not land on a 404 after a redesign or permalink change.
How I reduce contact-form spam on client sites: honeypots, time checks, and rate limits—before a captcha that scares mobile users away.
A practical way to find plugins that slow WordPress: overlapping SEO, sliders, chat widgets, and backup jobs that run on every page view.
The local SEO work I do for service businesses: a clear service page, consistent NAP, Google Business Profile, and a mobile inquiry path.
The accessibility checks I finish before handover: contrast, form labels, alt text, headings, keyboard focus, and touch targets on mobile.
How to mark English and Indonesian pages with hreflang so Google does not treat them as duplicates, including canonical and x-default rules.
A client-site backup that helps during an incident: files, database, DNS notes, a restore test on staging, and a habit before plugin updates.
A practical set of HTTP security headers for business sites: HTTPS, HSTS, nosniff, frame options, referrer policy, and what to skip on day one.
How to verify a new site in Google Search Console, submit a sitemap, and read the first indexing signals before you spend on ads.
Scope decisions for in-room IPTV and lobby digital signage: TV brands, remotes, the CMS, content, the network, and who operates the screens after go-live.
The cleanup order I use on a hacked WordPress site: isolate it, rotate credentials, replace core and plugins from official sources, then verify Search Console.
A practical zero-downtime migration checklist for WordPress and custom sites: staging sync, DNS TTL, SSL, redirects, search-replace, and post-cutover verification.
Why Time to First Byte kills PageSpeed on Indonesian sites, how to measure TTFB, and what to change in hosting, PHP, caching, and CDN before frontend micro-optimizations.
A practical guide to schema markup for Indonesian business sites: Organization, LocalBusiness, FAQ, Article, and how to validate JSON-LD without overdoing it.
How to fix heavy images that kill mobile PageSpeed: WebP/AVIF, responsive sizes, compression, lazy loading, and LCP hero rules for WordPress and custom sites.
A practical go-live checklist for business websites: DNS, SSL, redirects, analytics, forms, backups, and PageSpeed checks before handing a project to the client.
A practical Cloudflare setup guide for business sites: DNS, SSL, caching, WAF basics, and the settings I enable before go-live on client projects.
Lessons from migrating a personal WordPress blog to Astro: faster loads, simpler hosting, bilingual routing, and what to keep from the old CMS workflow.
Case study of kusenkaca.com: building an aluminium and glass service site focused on mobile conversion, project credibility, and local service SEO.
Case study of slanusra.sch.id: building a school website for limited connectivity—mobile-first, lightweight pages, and fast access on slow networks.
Case study of vacsonline.org: a school website that was frequently down, hard to access, and malware-infected—then rebuilt for security, uptime, and speed.
A practical guide to raising PageSpeed scores: LCP, INP, CLS, image strategy, caching, and high-impact fixes first.
Notes on web development, performance, technical leadership, and delivering reliable digital products.
A practical WordPress checklist covering plugins, themes, caching, images, database hygiene, and technical SEO without making the site hard to maintain.
Practical CodeIgniter REST API patterns: endpoint design, authentication, input validation, consistent errors, and baseline performance.
A developer-focused technical SEO guide covering titles, canonicals, headings, sitemaps, Core Web Vitals, schema, and common ranking-hurting mistakes.
A practical Laravel vs CodeIgniter comparison for client work: delivery speed, complexity, team fit, maintenance cost, and a clear decision checklist.