บันทึก

บล็อก

บันทึกเกี่ยวกับงาน frontend, SEO, AI, การวิเคราะห์ข้อมูล และการทำโปรดักต์จริง

42 โพสต์

31 สิงหาคม 256913 นาทีในการอ่าน

VPS ของ AVA Hosting ที่ผมใช้มี CPU Steal เฉลี่ย 32.73% แม้โฆษณาว่า “Guaranteed Resources — No Sharing”

VPS แบบ KVM ของผมที่ AVA Hosting มี CPU steal เฉลี่ย 32.73%, CPU idle 0% และ CPU pressure เกือบ 99% ภายใต้ทราฟฟิก production ปกติ นี่ไม่ใช่รีวิวเชิงลบ แต่เป็นบันทึกการ debugging จากสิ่งที่ Linux รายงานจริงภายใน VM

AVA HostingVPSLinuxCPU stealประสิทธิภาพ VPS
31 สิงหาคม 256915 นาทีในการอ่าน

VPS ของ FDCServers ของผมทำงานปกติหลังรับทราฟฟิกเกิน 3 TB ก่อนที่การอ่านดิสก์จะเริ่มใช้เวลา 18 วินาที

VPS ของ FDCServers ของผมรับทราฟฟิกจริงได้ตามปกติและถ่ายโอนข้อมูลไปมากกว่า 3 TB ก่อนเกิดปัญหา ต่อมา workload ปกติเริ่มทำให้ virtual disk stall อย่างรุนแรง โดย CPU iowait แตะ 100%, Linux I/O pressure เกือบ 100%, read latency สูงถึง 18.7 วินาที และ flush latency เกิน 53 วินาที

FDCServersVPSLinuxดิสก์ I/ODevOps
31 สิงหาคม 256913 นาทีในการอ่าน

VPS ของ REGXA ที่ผมใช้มี CPU Steal 94% แม้ไม่มีทราฟฟิก

ระหว่างตรวจสอบปัญหาประสิทธิภาพรุนแรงบน KVM VPS ของ REGXA ผมพบ CPU steal 92–94%, request ผ่าน localhost ที่กินเวลาหลายวินาที, queue การเชื่อมต่อที่เพิ่มขึ้น และ HTTP 504 ที่ใช้เวลามากกว่าสองนาที หลังเอา production traffic ออกทั้งหมด CPU steal กลับเพิ่มเป็น 94.17% และภายหลัง REGXA ระบุว่าเกิดจาก resource contention บน shared infrastructure ของตน

REGXAVPSLinuxCPU stealเวอร์ชวลไลเซชัน
28 สิงหาคม 256918 นาทีในการอ่าน

สองเดือนกับ Bunny Storage หลัง Nginx: ทำไมผมย้ายรูป วิดีโอ และเสียงไปยังเซิร์ฟเวอร์มีเดียแยก

ผมใช้ Bunny Storage เป็น private origin หลัง cache ของ Nginx เองอยู่สองเดือน โดยไม่ได้ใช้ Bunny CDN. Production log แสดงทั้ง long-tail connection timeout ของ cold media และปัญหา MP4 อีกแบบที่เกี่ยวกับ Nginx Slice กับ ETag ที่ไม่สอดคล้องกัน สุดท้ายผมจึงย้ายไปใช้ private media origin ที่เรียบง่ายกว่าอย่างมาก

Bunny StorageNginxแคชวิดีโอCache missเซิร์ฟเวอร์มีเดีย
20 สิงหาคม 256915 นาทีในการอ่าน

การใช้ SSIMULACRA2 เมื่อแปลง WebP เป็น AVIF: ทำไมผมใช้ 60 กับต้นฉบับ และ 65 กับไฟล์ที่ผ่านการบีบอัดแบบ lossy มาแล้ว

เมื่อสร้าง AVIF จาก WebP ที่ผ่านการบีบอัดแบบ lossy มาแล้ว SSIMULACRA2 จะวัดเฉพาะความเสียหายของการเข้ารหัสรุ่นที่สอง ผมจึงใช้ 60/58 กับ source ที่สะอาด และ 65/63 กับ known lossy derivative

AVIFWebPSSIMULACRA2การบีบอัดภาพประสิทธิภาพเว็บ
17 สิงหาคม 256920 นาทีในการอ่าน

DeepSeek ขึ้นราคา — ผมเจอ V4 Flash ตัวเดิมที่ถูกกว่าราคาเก่าเสียอีก

เช้าวันที่ 17 สิงหาคม ผมพบว่าค่าใช้จ่าย DeepSeek API เพิ่มขึ้นเป็นประมาณห้าเท่าของปกติ หลังจากนั้นผมพบและทดลอง provider อีกรายที่ให้ checkpoint เดียวกันคือ DeepSeek-V4-Flash-0731 โดยราคาปัจจุบันต่ำกว่าราคาเก่าของ DeepSeek ราว 45%

DeepSeekRunwareLLM APIโครงสร้างพื้นฐาน AIโมเดล Open-weight
13 สิงหาคม 256931 นาทีในการอ่าน

วิธีแปลง WebP แบบเคลื่อนไหว, GIF และ APNG เป็น H.264 MP4 โดยไม่ทำให้เฟรมหรือเวลาเสีย

กระบวนการใช้งานจริงของผมสร้างเฟรมเต็มที่ผู้ใช้เห็นจริงขึ้นใหม่ รักษาเวลาเดิม เลือก CFR หนึ่งค่าต่อ MP4 สุดท้าย ใช้แคนวาสร่วมที่เล็กที่สุดโดยไม่ขยายภาพ เข้ารหัสเซกเมนต์ H.264 ที่เข้ากันได้ ต่อเข้าด้วยกันโดยไม่เข้ารหัสแบบสูญเสียรอบสอง และตรวจทั้งไฟล์กับการส่งผ่าน HTTP ในผลที่วัดจริงหนึ่งครั้ง WebP แบบเคลื่อนไหว 217 ไฟล์รวม 1.49 GB กลายเป็น H.264 MP4 ขนาด 78.49 MB หนึ่งไฟล์

H.264FFmpegMP4WebP แบบเคลื่อนไหวGIFAPNGการบีบอัดวิดีโอการประมวลผลสื่อ
13 สิงหาคม 256939 นาทีในการอ่าน

ผมเคยแจ้งเตือนทุกข้อผิดพลาดของเบราว์เซอร์: จากสัญญาณรบกวนสู่การมอนิเตอร์โปรดักชันที่ใช้ได้จริง

ตัวรายงานฝั่งฟรอนต์เอนด์รุ่นแรกของผมมองการบล็อกโฆษณา ปัญหา GTM, AbortError, Script error ที่แทบไม่มีข้อมูล และความล้มเหลวของชังก์ Next.js จริง ๆ ว่าเหมือนกันทั้งหมด ผมจึงออกแบบการแจ้งเตือนใหม่โดยดูว่าเป็นของใคร กระทบผู้ใช้แค่ไหน หลักฐานดีเพียงใด เหตุการณ์เชื่อมโยงกันหรือไม่ และระบบกู้คืนได้หรือเปล่า

การมอนิเตอร์ข้อผิดพลาดเบราว์เซอร์การสังเกตการณ์ฝั่งฟรอนต์เอนด์ข้อผิดพลาด JavaScriptการมอนิเตอร์โปรดักชันNext.jsประสิทธิภาพเว็บ
13 สิงหาคม 256949 นาทีในการอ่าน

ทำไมแท็บ Next.js เก่าจึงพังหลังดีพลอย: HTML ที่ค้างอยู่ ชังก์ที่หายไป และเวอร์ชันไม่ตรงกัน

หลังการดีพลอยครั้งหนึ่ง ระบบเฝ้าระวังบนโปรดักชันของผมบันทึกว่าชังก์ของแอป Next.js เองโหลดไม่สำเร็จ ล็อกยืนยันได้ว่าเกิดความล้มเหลว แต่ไม่ได้ยืนยันสาเหตุ บทความนี้ใช้เหตุการณ์นั้นอธิบายแท็บที่เปิดค้าง HTML ที่ล้าสมัย ทรัพยากร /_next/static ที่หายไป เวอร์ชันไม่ตรงกัน การเก็บไฟล์เก่า deploymentId ลำดับการเผยแพร่ การเฝ้าระวัง และการกู้คืนแบบควบคุม

Next.jsการดีพลอยเวอร์ชันไม่ตรงกันแคชเว็บความน่าเชื่อถือส่วนหน้าทรัพยากรสแตติก
13 สิงหาคม 256927 นาทีในการอ่าน

หนึ่ง tick ที่ทำให้ CFR ของผมพัง: ทำไม 5580 ไม่ใช่ 5625 และ 3751 ไม่ใช่ 3750

ตัวตรวจสอบของผมปฏิเสธ MP4 16 fps ซ้ำ ๆ เพราะแพ็กเก็ตหนึ่งมีระยะเวลา 5580 tick แทนที่จะเป็น 5625 ต่อมายังพบ 3751 tick ในจุดที่ 24 fps ควรเป็น 3750 พอดี สองเหตุการณ์นี้ทำให้ผมแยกการกำหนดเวลาของต้นทาง การควอนไทซ์เป็น CFR ฐานเวลาของ MP4, PTS/DTS, การมัลติเพล็กซ์ และการตรวจสอบระดับแพ็กเก็ตออกจากกันอย่างชัดเจน

FFmpegH.264CFRไทม์สแตมป์วิดีโอPTS และ DTSการตรวจสอบ MP4
13 สิงหาคม 256928 นาทีในการอ่าน

ผมลดวิดีโอที่ใช้งานจริงจากประมาณ 280 MB เหลือประมาณ 50 MB ด้วย H.264 ได้อย่างไร

วิดีโอจริงจากระบบใช้งานจริงหนึ่งไฟล์ลดจากประมาณ 280 MB เหลือประมาณ 50 MB หลังจากผมปรับโครงสร้างการตั้งค่า H.264 ใหม่โดยใช้ CRF 28, x264 veryslow, เพดานความละเอียดระดับ 720p, อัตราเฟรมที่มีประโยชน์จริง และข้อกำหนดการถอดรหัสที่ไม่หนักเกินไป ก่อนหน้านั้นตัวอย่างเดียวกันเคยลดจากราว 350 MB เหลือ 238 MB แล้ว และการตรวจคลังเก่ายังพบว่า H.264 ที่มีอัตราหลายเมกะบิตต่อวินาทีเป็นเรื่องปกติ

H.264FFmpegx264การบีบอัดวิดีโอประสิทธิภาพเว็บการปรับสื่อให้เหมาะสม
16 เมษายน 256911 นาทีในการอ่าน

ผมสร้าง Gitae เพื่อวิเคราะห์ปัญหาเว็บไซต์ให้ลึกกว่าแค่ “up หรือ down”

ผมสร้าง Gitae เพื่อหาคำตอบให้คำถามที่ใช้งานจริง: เว็บไซต์ล่มจริงหรือปัญหาอยู่แค่ฝั่ง local? เครื่องมือนี้ใช้ VDS ภายนอกใน Moscow และ Helsinki ร่วมกับการตรวจ DNS, HTTPS/TLS, port, routing, IP, hosting และสัญญาณ CMS โดยมองผลแต่ละอย่างเป็นหลักฐานประกอบ ไม่ใช่ข้อสรุปเด็ดขาด

GitaeWebsite diagnosticsWebsite monitoringDNSSSLPingTraceroutePort checkHostingSEO
14 เมษายน 25699 นาทีในการอ่าน

ทำไม TypeScript ถึงทำงานร่วมกับ Codex ได้ดีมากในการพัฒนาซอฟต์แวร์ production

สำหรับงาน production, TypeScript ให้สิ่งที่ prompt ดี ๆ ก็ทดแทนไม่ได้ทั้งหมดแก่ Codex: contract ที่ตรวจสอบด้วยเครื่องได้, feedback จาก compiler ที่รวดเร็ว และเส้นทางที่ปลอดภัยกว่าสำหรับ refactor ขนาดใหญ่

TypeScriptCodexการเขียนโค้ดด้วย AIการส่งมอบซอฟต์แวร์JavaScriptเวิร์กโฟลว์นักพัฒนา
6 เมษายน 256910 นาทีในการอ่าน

ผมสร้าง Jurfi.com: สตูดิโอบนเบราว์เซอร์สำหรับร่างเอกสารกฎหมายแบบมีโครงสร้าง

ผมสร้าง Jurfi.com เพื่อเปลี่ยนแบบฟอร์มและเทมเพลตให้เป็นร่างเอกสารกฎหมายแบบมีโครงสร้างในเบราว์เซอร์ เก็บร่างไว้ในเครื่องได้ และทำให้การตรวจทานเป็นส่วนที่ชัดเจนของกระบวนการ โดยไม่อ้างว่าซอฟต์แวร์แทนทนายได้

JurfiJurfi.comเอกสารกฎหมายLegalTechSaaSการร่างเอกสารเครื่องมือบนเบราว์เซอร์
5 เมษายน 25699 นาทีในการอ่าน

รายได้ SaaS ครั้งแรกของผม: การชำระเงินหนึ่งครั้งพิสูจน์อะไรได้จริง

การชำระเงินครั้งแรกจากผลิตภัณฑ์ SaaS ที่ผมสร้างเองมีมูลค่าไม่มาก แต่ทำให้คุณภาพของหลักฐานที่ผมมีเปลี่ยนไป บทความนี้อธิบายว่าธุรกรรมหนึ่งครั้งยืนยันอะไรได้ อะไรยังพิสูจน์ไม่ได้ และเหตุใดการเกิดซ้ำจึงสำคัญกว่าตัว milestone เอง

SaaSรายได้แรกนักพัฒนาอินดี้การตรวจสอบผลิตภัณฑ์การสร้างโปรดักต์เส้นทางสตาร์ตอัปประสบการณ์นักพัฒนา
3 เมษายน 256914 นาทีในการอ่าน

ผมใช้ Codex รีวิว 15 โปรเจกต์อย่างไร โดยยังเก็บการควบคุมขั้นสุดท้ายไว้กับตัวเอง

การรีวิวซอฟต์แวร์ 15 โปรเจกต์เมื่อก่อนหมายถึงการจมอยู่กับงานตรวจซ้ำๆ Codex ช่วยให้ผมตรวจบั๊ก เทสต์ SEO การแปล โลคัลไลเซชัน และความสอดคล้องได้เร็วขึ้นมาก แต่ทุก finding จาก AI ผมมองเป็นเบาะแส ไม่ใช่คำตัดสิน และทุกการแก้ไขต้องผ่านการตรวจของผมเอง

CodexAI codingCode reviewSoftware testingDeveloper workflowLocalizationTechnical SEODeveloper productivity
2 เมษายน 256914 นาทีในการอ่าน

ทำไมผมถึงใช้ 3–5% สุดท้ายของลิมิต Codex ใน ChatGPT Plus กับงานวิศวกรรมขนาดใหญ่ — อัปเดต: ช่วงฤดูร้อนปี 2026 วิธีนี้ใช้ไม่ได้แล้ว

อัปเดต: ภายในช่วงฤดูร้อนปี 2026 workflow นี้ไม่ใช่วิธีที่เชื่อถือได้สำหรับผมอีกต่อไป ตัวนับ 5 ชั่วโมงหายไปจากบัญชี เหลือเพียงลิมิตรายสัปดาห์ และงานยาวอาจหยุดเมื่อใช้ลิมิตรายสัปดาห์หมด

CodexChatGPT Plusเครื่องมือ AI สำหรับเขียนโค้ดWorkflow นักพัฒนาวิศวกรรมซอฟต์แวร์TypeScript migrationESLint cleanupRefactoringลิมิตการใช้งาน Codexอัปเดต 2026
1 เมษายน 256920 นาทีในการอ่าน

ผมเผยแพร่บทความ SEO ด้วย AI 10,000 บทความ แล้วสุดท้ายเว็บไซต์เหลือ 0 หน้าในดัชนี Google

การทำคอนเทนต์จำนวนมากด้วย AI ตอนแรกดูเหมือนทางลัด: Google crawl URL บทความที่สร้างครบทั้ง 10,000 URL แต่มีเพียงประมาณ 1,000 หน้าเท่านั้นที่ถูก index จริง ปรากฏใน Search และสร้าง traffic จริง จากนั้นหน้าเหล่านั้นก็ค่อย ๆ หายไป จนทั้งเว็บไซต์เหลือ 0 หน้าที่ถูกทำดัชนี ประสบการณ์นี้เปลี่ยนวิธีที่ผมมอง AI, SEO, การแปล และความรับผิดชอบด้านเนื้อหา

AI SEOGenerative AIGoogle Searchคอนเทนต์จำนวนมากการจัดทำดัชนีการเขียนด้วย AISEO หลายภาษา
31 มีนาคม 256913 นาทีในการอ่าน

5 ปีกับ MacBook M1 รุ่น 8GB/256GB: ทำไมผมยังไม่เปลี่ยนเครื่อง

ผมซื้อ MacBook M1 รุ่นพื้นฐานที่มีหน่วยความจำ 8GB และ SSD 256GB ในราคาประมาณ 1,000 ดอลลาร์ และใช้วันละราว 15 ชั่วโมงกับงานพัฒนาซอฟต์แวร์ งานวิดีโอและเสียง ประมวลผลภาพ เขียน เรียนรู้ และทำโปรเจกต์ส่วนตัว ห้าปีต่อมาผมเห็นข้อจำกัดชัดเจน แต่เหตุผลที่คิดอัปเกรดคือ workload ของผมโตขึ้น ไม่ใช่เพราะเครื่องหมดประโยชน์

MacBookAppleM1Apple Siliconการพัฒนาซอฟต์แวร์รีวิวระยะยาวอายุการใช้งานฮาร์ดแวร์
30 มีนาคม 25698 นาทีในการอ่าน

ผมแปลบล็อกเป็น 20 ภาษาด้วย ChatGPT แล้วเริ่มได้ทราฟฟิกจากการค้นหาทั่วโลก

AI เปลี่ยนต้นทุนของการทำคอนเทนต์หลายภาษาไปอย่างสิ้นเชิงสำหรับผม จากบล็อกภาษาเดียว ผมเริ่มเผยแพร่แต่ละบทความได้สูงสุด 20 ภาษา และแต่ละหน้ากลายเป็นทางเข้าใหม่จาก organic search.

AI localizationSEO หลายภาษาChatGPTNext.jsInternational SEOบล็อก
27 มีนาคม 25699 นาทีในการอ่าน

ผมเปิดตัว QRViz เป็นเครื่องสร้าง QR แบบคงที่ฟรี และฝากการกระจายไว้กับ SEO

QRViz เป็น browser-based static QR code generator ไม่ใช่ campaign platform รองรับ URL, Wi-Fi, vCard, PDF, menu, event, packaging และ stable destination อื่น ๆ สามารถปรับ size, quiet zone, error correction, สี, gradient, eye style และตำแหน่ง logo แล้ว export เป็น PNG, SVG หรือ PDF. ผมเปิดตัว qrviz.com เป็นเครื่องสร้างคิวอาร์โค้ดฟรี โดยไม่มีงบโฆษณา แผนซื้อทราฟฟิก หรือฟันเนลหารายได้ การค้นพบโปรดักต์จึงพึ่ง SEO ทั้งหมด และนี่คือความไม่แน่นอนที่ใหญ่ที่สุดของโปรเจกต์.

เครื่องสร้างคิวอาร์โค้ดQrvizเปิดตัวโปรดักต์SEOโปรเจกต์ข้างเคียงพัฒนาเว็บพัฒนาโปรดักต์
18 กุมภาพันธ์ 25699 นาทีในการอ่าน

ทำไมผมรู้สึกว่าการหาลูกค้ายากกว่าการสร้าง SaaS

บทเรียนจากประสบการณ์สร้าง SaaS ของผมเอง: งานวิศวกรรมให้ฟีดแบ็กที่ชัดและตรวจสอบได้ แต่การกระจายสินค้า Positioning, Messaging และ Retention ต้องใช้วงจรอีกแบบที่คาดเดายากกว่ามาก

การเติบโตของ SaaSการหาลูกค้าการตลาดโปรดักต์บูตสแตรปสร้างต่อหน้าสาธารณะการกระจายสินค้า
17 กุมภาพันธ์ 25699 นาทีในการอ่าน

ผมสร้างผลิตภัณฑ์ SaaS คนเดียว และพอเปิดรับชำระเงิน งานก็เปลี่ยนไป

ผมสร้างผลิตภัณฑ์นี้คนเดียวในช่วงเย็น วันหยุดสุดสัปดาห์ และวันหยุดหลายวัน เมื่อระบบชำระเงินเปิดใช้งาน บั๊ก onboarding การดูแลเนื้อหา retention และความไว้ใจก็ไม่ใช่เรื่องไว้แก้ทีหลังอีกต่อไป แต่กลายเป็นส่วนหนึ่งของการดูแลผลิตภัณฑ์จริง

SaaSSolo developmentเปิดตัวผลิตภัณฑ์PaymentsReliabilityการดำเนินงานผลิตภัณฑ์
22 มกราคม 25694 นาทีในการอ่าน

I Got 550 Views from One Image, Voiceover, and Subtitles: What Three Shorts Tests Actually Taught Me

A simple YouTube Short built from one static image, a voiceover, and subtitles reached 550 views. After three early tests, the useful lesson was not a proven formula, but a repeatable way to experiment without confusing a promising signal with proof.

YouTube ShortsContent ExperimentsShort-form VideoVideo EditingCapCutCreator Workflow
20 มกราคม 256910 นาทีในการอ่าน

ผมเห็นเกือบ 6,000 ใบสมัครในงาน Frontend ที่มอสโก ตัวเลขนี้บอกอะไร — และไม่บอกอะไร — เกี่ยวกับตลาด IT รัสเซีย

ปลายปี 2023 รีครูตเตอร์บอกผมว่า 300–500 ใบสมัครต่อหนึ่งตำแหน่งก็มากแล้ว แต่วันที่ 20 มกราคม 2026 ผมเห็นตำแหน่ง Frontend ระดับกลางในมอสโกมีตัวเลขเกือบ 6,000 ใบสมัครภายในไม่กี่ชั่วโมง บทความนี้แยกให้ชัดว่าตัวเลขนั้นเป็นสัญญาณของอะไร อะไรที่มันพิสูจน์ไม่ได้ และผมจะอ่านตัวเลขแบบนี้อย่างไรในฐานะผู้สมัคร

อาชีพตลาดงาน ITFrontendรัสเซียมอสโกการจ้างงานหางาน
1 มกราคม 25698 นาทีในการอ่าน

DeepSeek เปลี่ยน workflow Node.js ของผมอย่างไร: มากกว่า 4,000 commits ในหกเดือน

กราฟ GitHub ของผมในปี 2025 จากแทบว่างเปล่ากลายเป็นมากกว่า 4,000 commits ในครึ่งหลังของปี บทความนี้อธิบายว่า AI coding เปลี่ยน workflow ของ side project Node.js อย่างไร ตรงไหนช่วยประหยัดเวลา ตรงไหนพลาด และทำไม verification ยังสำคัญกว่าความเร็วในการ generate code

Node.jsDeepSeekAI CodingDeveloper ProductivitySide ProjectsSoftware Engineering
30 ธันวาคม 25686 นาทีในการอ่าน

My First TikTok at 28: What a Vertical Product Demo Taught Me About Traffic

At 28, I posted my first TikTok and cross-posted the same product demo to Reels and Shorts. The useful lesson was not the view count: it was how much a 9:16 frame changes a desktop interface, and how to measure short-form traffic without confusing reach with acquisition.

TikTokProduct MarketingProduct DemosAnalyticsIndie Dev
16 พฤศจิกายน 25689 นาทีในการอ่าน

ผมซื้อโดเมนอายุ 25 ปี แล้ว URL ที่ตายไปแล้วโดนยิงวันละ 1,000+ request

หลังเปิดเว็บไซต์ใหม่บนโดเมนที่จดครั้งแรกในปี 2000 ผมเห็น request มากกว่า 1,000 ครั้งต่อวันไปยัง URL เก่า และ Yandex Webmaster มี error มากกว่า 900 รายการในคืนเดียว บทความนี้แยกสิ่งที่พิสูจน์ได้จริงออกจากข้อสันนิษฐาน อธิบายเหตุผลที่ใช้ 410 แบบเจาะจง และวิธีที่ผมจะ audit โดเมนเก่าในวันนี้

SEOHTTPDevOpsโดเมนWeb Crawling
14 พฤศจิกายน 256812 นาทีในการอ่าน

Yandex ทำดัชนี 12,500 หน้าแล้ว แต่ทราฟฟิกจากรัสเซียแทบเป็นศูนย์: ปัญหา Cloudflare ที่ฉันมองข้าม

Yandex ทำดัชนี 12,500 หน้าแล้ว แต่ทราฟฟิกจากรัสเซียแทบเป็นศูนย์ ฉันไล่ปัญหาจนถึงเส้นทางเครือข่าย ปิด proxy ของ Cloudflare ย้าย cache การบีบอัด และการป้องกันพื้นฐานไปที่ Nginx บน VDS ของตัวเอง แล้วกู้การเข้าถึงกลับมาได้ บทเรียนสำคัญคือ index, reachability และ traffic ต้องแยกกันดู

DevOpsSEONginxCloudflareเครือข่ายโครงสร้างพื้นฐาน
27 ตุลาคม 25689 นาทีในการอ่าน

เว็บ Next.js แบบสแตติกของผมโดนสแกนช่องโหว่นับพันครั้งต่อวัน แต่ Nginx แทบไม่สะเทือน

ในล็อกมี probe ที่ตามหา WordPress, PHP backdoor, .env และ .git/config เต็มไปหมด แต่บนสแตก Next.js แบบสแตติก + Nginx ของผม ส่วนใหญ่จบเป็น miss และ 404 ที่มีต้นทุนต่ำ ขณะที่โหลด CPU ไม่เปลี่ยนในช่วงที่สังเกต นี่คือสิ่งที่ประสบการณ์นี้บอกได้จริงเกี่ยวกับความปลอดภัยของเว็บสแตติก และสิ่งที่มันไม่ได้พิสูจน์

ความปลอดภัยNext.jsNginxDevOpsStatic HostingAttack Surface
27 ตุลาคม 25688 นาทีในการอ่าน

Yandex เริ่มส่งทราฟฟิกให้เว็บไซต์ใหม่ของผม ขณะที่ Google แทบไม่ขยับ

ในโปรเจกต์ใหม่เดียวกัน Google มีเพียงราว 300 คลิกตลอดช่วงเวลายาว ๆ ขณะที่ Yandex Webmaster แสดงแนวโน้มเพิ่มขึ้นชัดเจน และเคยขึ้นถึง +500% ในจำนวนคลิก ประเด็นสำคัญคือแยกให้ออกว่าตัวเลขเหล่านี้ยืนยันอะไรได้จริง และอะไรยังเป็นเพียงข้อสันนิษฐาน

SEOGoogle SearchYandexGoogle Search ConsoleYandex WebmasterTechnical SEO
17 ตุลาคม 256812 นาทีในการอ่าน

Yandex จัดทำดัชนีหน้า Next.js ของผม 4,278 หน้าในคืนเดียว — สิ่งนี้พิสูจน์อะไรจริง ๆ

Yandex นำหน้าเว็บที่ผมสร้างแบบสแตติกด้วย Next.js จำนวน 4,278 หน้าเข้าสู่ดัชนีแทบพร้อมกัน นี่เป็นหมุดหมายทางเทคนิคที่ชัดเจน แต่ไม่ใช่หลักฐานว่าหน้าเหล่านั้นมีอันดับหรือทราฟฟิกแล้ว บทความนี้แยกให้ชัดว่าผลลัพธ์ดังกล่าวบอกอะไรเกี่ยวกับ SSG และ Programmatic SEO และอะไรที่ยังสรุปไม่ได้

SEONext.jsSSGYandexProgrammatic SEOการจัดทำดัชนี
16 ตุลาคม 256812 นาทีในการอ่าน

เดือนแรกที่ผมทดลอง SEO: ผู้เข้าชมออร์แกนิก 632 คน และบทเรียนจากทราฟฟิกที่น่าสงสัย

ผมใช้ side project ส่วนตัวเพื่อเตรียมตัวสำหรับงาน SEO ที่ใหญ่ขึ้นในที่ทำงาน หลังหนึ่งเดือนมีผู้เข้าชมออร์แกนิก 632 คน แต่วันที่มีผู้เข้าชม 83 คนทำให้เห็นว่าทราฟฟิกที่น่าสงสัยและข้อจำกัดของเครื่องมือ analytics สามารถทำให้ภาพของผลลัพธ์คลาดเคลื่อนได้ง่ายแค่ไหน

SEOWeb AnalyticsทราฟฟิกบอตYandex Metricaการทดลอง SEO
6 ตุลาคม 25687 นาทีในการอ่าน

ผมเกือบมองข้าม Yandex Webmaster แต่สองสัปดาห์ต่อมากลับส่งทราฟฟิกมากกว่า Google

ผมทำ side project ด้วย Next.js เพื่อเก็บประสบการณ์ก่อนเริ่มโปรเจกต์งานที่ SEO สำคัญมาก ช่วงสองสัปดาห์แรกมีผู้เข้าชมจาก Google 58 คน และจาก Yandex 200 คน ทำให้ผมเห็นชัดว่าทราฟฟิก การทำดัชนี และการวินิจฉัยต้องแยกกันดู

SEONext.jsGoogle SearchYandexSearch ConsoleIndexing
5 ตุลาคม 256810 นาทีในการอ่าน

Yandex Metrica vs. Google Analytics: ทำไมหลังใช้หนึ่งสัปดาห์ผมถึงชอบ Metrica มากกว่า

ผมรัน Google Analytics และ Yandex Metrica ควบคู่กันหนึ่งสัปดาห์บนโปรเจกต์ใหม่ สิ่งที่ทำให้ผมหยิบ Metrica มาใช้บ่อยกว่าคือ Webvisor และ session replay แต่ข้อสรุปนี้สะท้อน workflow ของผม ไม่ใช่หลักฐานว่าแพลตฟอร์มหนึ่งดีกว่าสำหรับทุกคน

เว็บแอนะลิติกส์UXSession ReplayYandex MetricaGoogle AnalyticsGA4
3 ตุลาคม 25688 นาทีในการอ่าน

Yandex ครอลบล็อกของฉันโดยไม่มี /en และ 308 Redirect ช่วยไม่ให้ URL กลายเป็น 404

หลังเพิ่มหน้าประมาณ 3,000 หน้าในรูปแบบ /en/blog/... ลงใน sitemap ฉันเห็น Yandex พยายามเข้าพาธที่สอดคล้องกันใน /blog/.... 308 Redirect ที่ตั้งไว้ล่วงหน้าช่วยให้ request เหล่านั้นไม่จบที่ 404 บทเรียนสำคัญไม่ใช่ว่า Yandex “ทำ sitemap พัง” แต่คือ redirect layer ที่ออกแบบดีช่วยเพิ่มความทนทานให้โครงสร้าง URL ได้มากแค่ไหน

SEOYandexSitemap308 RedirectTechnical SEOCrawling
2 ตุลาคม 256810 นาทีในการอ่าน

สองเว็บไซต์ใหม่พุ่งแรงบน Google ก่อนทราฟฟิกลดลงราว 10 เท่าในไม่กี่วัน

ในการเปิดตัวสองครั้งติดกัน ผมเห็น impressions จาก Google พุ่งขึ้นทันที ก่อนทราฟฟิกจะลดลงเหลือประมาณหนึ่งในสิบภายในไม่กี่วัน รูปแบบนี้เกิดขึ้นจริง แต่ผมพิสูจน์ไม่ได้ว่าเป็น “ช่วงฮันนีมูนของ Google”

SEOGoogle SearchSearch Consoleทราฟฟิกออร์แกนิกTechnical SEO
1 ตุลาคม 25688 นาทีในการอ่าน

2,000 หน้าหายจากการค้นหา Yandex ในคืนเดียว สิ่งที่ผมสรุปได้จริง ๆ คืออะไร

ผมเปิด Yandex Webmaster แล้วพบว่า 2,000 จากประมาณ 8,000 หน้าไม่ได้เข้าร่วมการค้นหาอีกต่อไป การลดลง 25% ดูรุนแรง แต่บทเรียนสำคัญกว่าคืออย่าสับสนระหว่างการเปลี่ยนแปลงสถานะใน search ที่สังเกตเห็นกับสาเหตุที่พิสูจน์แล้ว

SEOYandex WebmasterIndexingการมองเห็นในผลค้นหาTechnical SEO
11 กรกฎาคม 25684 นาทีในการอ่าน

ผมถามมากกว่า 10 คำถามที่ MoscowJS 66 และได้รางวัลสองชิ้น

ที่ MoscowJS 66 ผมถามมากกว่า 10 คำถามระหว่างทอล์กเรื่อง Telegram bot, LangChain.js, สถาปัตยกรรม site builder และการทดสอบ type ของ TypeScript สองคำถามถูกเลือกเป็นคำถามยอดเยี่ยม และผมได้รางวัลกลับมาสองชิ้น

อีเวนต์JavaScriptTypeScriptAILangChain.jsชุมชนMoscowJS
23 มิถุนายน 256810 นาทีในการอ่าน

สิ่งที่ผมได้จาก PiterJS #79: Legacy Monolith, FrontOps, Web Performance และคำถามที่ดีขึ้น

PiterJS #79 ที่เซนต์ปีเตอร์สเบิร์กโฟกัสที่การดูแลระบบที่มีอยู่แล้ว: legacy monolith, FrontOps และ web performance metrics ผมกลับมาพร้อมโน้ตที่นำไปคิดต่อได้จริง รางวัลสองชิ้นจาก Q&A และการย้ำเตือนว่าการมีส่วนร่วมทำให้ meetup แบบออฟไลน์มีคุณค่ามากขึ้น

PiterJSJavaScriptFrontOpsDockerWeb Performanceชุมชนนักพัฒนา
17 มิถุนายน 25689 นาทีในการอ่าน

ฉันเปิดบล็อก Next.js 21 ภาษา: 439 อิมเพรสชันจาก Google บอกอะไรฉันจริง ๆ

ในสัปดาห์แรก บล็อก Next.js 21 ภาษาของฉันได้ 439 อิมเพรสชันและ 5 คลิกจาก Google ต่อมามี 436 จาก 471 หน้าที่ถูกจัดทำดัชนี บทเรียนสำคัญคือการแยก visibility, indexing และผลลัพธ์จากการค้นหาจริงออกจากกัน

Next.jsSEOI18nSEO หลายภาษาGoogle Searchการพัฒนาเว็บ
7 มิถุนายน 25686 นาทีในการอ่าน

MoscowJS 65 หลังทำงานกับ JavaScript มา 6 ปี: ทำไมผมยังไปมีตอัปในชุมชน

เมื่อวันที่ 5 มิถุนายน 2025 ผมไปร่วม MoscowJS 65 ที่ T Bank ทั้ง 4 เซสชันมอง AI จากคนละมุม แต่สิ่งที่ผมได้กลับมาจริง ๆ ง่ายกว่านั้น: มีตอัปในชุมชนยังให้บางอย่างที่เอกสารและวิดีโอบันทึกแทนได้ไม่ทั้งหมด

JavaScriptMoscowJSมีตอัปชุมชนนักพัฒนาAI