กลับไปที่บล็อก
14 พฤศจิกายน 2568Sergei Solod12 นาทีในการอ่าน

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

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

DevOpsSEONginxCloudflareเครือข่ายโครงสร้างพื้นฐาน

ในโปรเจกต์ SEO หนึ่งของฉัน Yandex ทำดัชนีไปแล้ว 12,500 หน้า ถ้ามองแค่ตัวเลขนี้ เว็บไซต์ก็ดูปกติดี แต่ทราฟฟิกจริงจากรัสเซียกลับแทบเป็นศูนย์

ฉันสร้างโปรเจกต์ SEO ขนาดใหญ่นี้ขึ้นมาส่วนหนึ่งเพื่อพัฒนาทักษะของตัวเองในฐานะ frontend developer

ตอนแรกฉันคิดว่าเป็นปัญหา SEO แต่เมื่อไล่ตรวจสอบต่อ กลับเจอปัญหาที่พื้นฐานกว่านั้น คือเส้นทางเครือข่าย เว็บไซต์อยู่หลัง Cloudflare และผู้ใช้จากรัสเซียไม่สามารถเข้าถึงได้อย่างเสถียร ฉันอาศัยอยู่นอกรัสเซีย จึงแทบมองไม่เห็นความผิดปกตินี้จากสภาพแวดล้อมที่ตัวเองทำงานอยู่

เหตุการณ์นี้ทำให้ฉันต้องแยกสามสัญญาณที่ก่อนหน้านี้มองคล้ายกันเกินไปออกจากกัน ได้แก่ การทำดัชนี การเข้าถึงได้ และทราฟฟิก ทั้งสามอย่างไม่ใช่เรื่องเดียวกัน หน้าเว็บอาจยังอยู่ใน index แต่ผู้ใช้จริงในบางเครือข่ายอาจโหลดหน้าไม่ได้

สิ่งที่ฉันยืนยันได้จริง

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

หลังเปลี่ยนเส้นทางนี้ การเข้าถึงจากรัสเซียกลับมาทันที นี่คือข้อสรุปที่แข็งแรงที่สุดที่ฉันยืนยันได้จากเคสนี้: การเปลี่ยนเส้นทางการส่งข้อมูลทำให้การเข้าถึงกลับมา

สิ่งที่เคสนี้พิสูจน์ไม่ได้ก็สำคัญเหมือนกัน ฉันไม่สามารถบอกจำนวน visit ที่หายไปอย่างแม่นยำ ระบุทุกเครือข่ายในรัสเซียที่ได้รับผลกระทบ หรือบอกว่าทราฟฟิก organic ฟื้นกลับมาเท่าไรในภายหลัง เพราะสิ่งที่ฉันสังเกตคือปัญหาการเข้าถึงและทราฟฟิกเกือบศูนย์ ไม่ใช่การทดลอง SEO แบบควบคุม

หลักฐานสาธารณะชัดเจนกว่าคำอธิบายเดิมของฉัน

เดิมฉันอธิบายว่า Roskomnadzor บล็อกช่วง IP บางส่วนของ Cloudflare แต่เมื่อดูจากหลักฐานที่ฉันสามารถรองรับได้จริง คำอธิบายนี้เฉพาะเจาะจงเกินไป

Cloudflare เผยแพร่รายงานของตัวเองเมื่อวันที่ 26 มิถุนายน 2025 โดยระบุว่าตั้งแต่ 9 มิถุนายน 2025 ผู้ใช้ในรัสเซียที่เชื่อมต่อไปยังบริการที่อยู่หลัง Cloudflare ถูก throttling โดย ISP รัสเซีย จากการวิเคราะห์ภายในของ Cloudflare ในการเชื่อมต่อที่ได้รับผลกระทบบางส่วน จะโหลดทรัพยากรเว็บได้เพียง 16 KB แรก ซึ่งมากพอที่จะทำให้หลายหน้าใช้งานตามปกติไม่ได้ รายละเอียดอยู่ใน รายงานของ Cloudflare เกี่ยวกับข้อจำกัดการเชื่อมต่อในรัสเซีย

คำอธิบายนี้สอดคล้องกับลักษณะปัญหาที่ฉันเห็น แต่ไม่ได้พิสูจน์กลไกที่แน่นอนของ ISP ทุกแห่ง และไม่ได้ทำให้ฉันสรุปได้ว่าทราฟฟิกที่หายไปทั้งหมดเกิดจาก Roskomnadzor โดยตรง ข้อความที่แม่นยำกว่าคือ เส้นทางของเว็บไซต์ฉันที่ผ่าน proxy ของ Cloudflare ใช้งานจากรัสเซียได้ไม่เสถียร และเมื่อข้าม proxy นี้ การเข้าถึงก็กลับมาในกรณีของฉัน

ทำไมมี 12,500 หน้าใน index จึงไม่ได้แปลว่าเว็บไซต์ปกติ

นี่คือความต่างเชิงแนวคิดที่ฉันประเมินต่ำไป ฉันเห็น 12,500 หน้าอยู่ใน index แล้วใช้เป็นสัญญาณว่าคนทั่วไปก็น่าจะเข้าถึงเว็บไซต์ได้ แต่การ crawl ของ search engine กับการเชื่อมต่อของผู้ใช้ปลายทางเป็นคนละระบบ

Search engine อาจเคย crawl URL มาก่อน อาจเข้าผ่านเส้นทางเครือข่ายคนละแบบ หรืออาจเก็บหน้าไว้ใน index ต่อแม้ว่าผู้ใช้บางส่วนจะรับ response ได้ไม่ครบ ดังนั้น URL ที่อยู่ใน index จึงไม่ได้พิสูจน์ว่าผู้ใช้ของ ISP รัสเซียรายใดรายหนึ่งจะเปิดหน้าได้ในวันนี้ ในเคสของฉันสองเรื่องนี้เกิดขึ้นพร้อมกัน: Yandex มี 12,500 หน้าใน index แต่ทราฟฟิกผู้ใช้จริงจากรัสเซียแทบเป็นศูนย์

Indexing ไม่เท่ากับ reachability และ reachability ไม่เท่ากับ traffic

สิ่งที่ฉันเปลี่ยน

  1. ปิด proxy ของ Cloudflare ทั้งหมด HTTP/HTTPS traffic ไม่ต้องผ่าน Cloudflare ก่อนถึง infrastructure ของฉันอีกต่อไป
  2. ย้ายหน้าที่ที่ยังต้องใช้ไปไว้ใน Nginx ฉันตั้งค่า cache การบีบอัด และการควบคุมความปลอดภัยพื้นฐานบน VDS ของตัวเอง

ประเด็นไม่ใช่ว่า Nginx “ดีกว่า” Cloudflare แต่คือฉันตัด dependency ทางเครือข่ายที่กลายเป็นปัญหาในตลาดที่สำคัญสำหรับฉันออก

การเข้าถึงกลับมา แต่ความรับผิดชอบก็กลับมาด้วย

การข้าม reverse proxy ไม่ใช่การอัปเกรดฟรี เอกสารปัจจุบันของ Cloudflare อธิบายว่า DNS-only จะพาผู้ใช้ไปที่ origin โดยตรงและ HTTP/HTTPS traffic จะไม่วิ่งผ่าน Cloudflare อีก นั่นหมายถึงประโยชน์ที่พึ่ง proxy เช่น cache และการป้องกันหลายอย่างจะหายไปจากด้านหน้า origin และ origin IP อาจถูกเปิดเผย ดูได้จาก เอกสาร Proxy status อย่างเป็นทางการ

Nginx ทำบางสิ่งที่ฉันต้องการแทนได้ เช่น local cache การบีบอัด การจัดการ request และ filtering พื้นฐาน แต่ไม่ได้สร้าง global network ของ Cloudflare, managed DDoS capacity หรือ security feature ทุกอย่างขึ้นมาใหม่โดยอัตโนมัติ การย้ายครั้งนี้จึงเป็นการแลก: ฉันได้ควบคุมเส้นทางส่งข้อมูลโดยตรงมากขึ้น แต่ต้องรับผิดชอบงาน infrastructure เองมากขึ้นด้วย

สำหรับโปรเจกต์นี้ การแลกแบบนั้นคุ้มค่าเพราะปัญหาเร่งด่วนคือการเข้าถึงจากรัสเซีย แต่ไม่ได้แปลว่า VDS + Nginx เป็นสถาปัตยกรรมที่ปลอดภัยที่สุดสำหรับทุกคน

ถ้าเจอปัญหาแบบนี้อีก ฉันจะตรวจอย่างไร

ถ้าทราฟฟิกลดฮวบเฉพาะประเทศหรือ region หนึ่ง ฉันจะไม่เริ่มจากแก้ title หรือเขียน content ใหม่ แต่จะแยกเป็นชั้นก่อน:

  1. เปิดหน้าได้จากประเทศเป้าหมาย และควรทดสอบผ่านมากกว่าหนึ่ง ISP หรือไม่?
  2. Client ได้รับ response body ครบ หรือแค่ HTTP 200?
  3. พฤติกรรมเปลี่ยนหรือไม่เมื่อ bypass CDN หรือ reverse proxy ในการทดสอบที่ควบคุม?
  4. URL ยังถูก crawl และ index อยู่หรือไม่?
  5. หลังยืนยัน reachability แล้ว ค่อยดูว่า impression, click และ session เปลี่ยนจริงหรือไม่?

บทเรียนเชิงปฏิบัติคือ ต้องวัดจากตลาดที่คุณสนใจ การทดสอบจากประเทศอื่นอาจบอกได้ว่า origin ยังทำงาน แต่พลาดปัญหาการเชื่อมต่อที่เกิดเฉพาะภูมิภาคไปทั้งหมด

สิ่งที่ฉันได้จากเหตุการณ์นี้

ตอนแรกมันดูเหมือนปริศนา SEO: 12,500 หน้าอยู่ใน index แต่แทบไม่มีทราฟฟิกจากรัสเซีย คำตอบที่มีประโยชน์จริงกลับอยู่ต่ำลงไปใน stack

เมื่อปิด proxy ของ Cloudflare และสร้างฟังก์ชันที่จำเป็นใหม่ด้วย Nginx บน VDS การเข้าถึงจากรัสเซียกลับมาทันที นี่คือผลลัพธ์ที่ฉันยืนยันได้ แต่ฉันไม่สามารถขยายให้กลายเป็นหลักฐานว่ารanking ของ Google หรือ Yandex ได้รับผลอย่างไร ไม่สามารถพิสูจน์กลไกการบล็อกของหน่วยงานกำกับดูแลแบบเจาะจง และไม่สามารถสรุปว่า “ทุกคนควรเลิกใช้ Cloudflare”

กฎของฉันหลังจากเคสนี้ง่ายขึ้นมาก: ถ้าตลาดหนึ่งสำคัญ ให้วัด reachability จากตลาดนั้น จำนวนหน้าที่อยู่ใน index ไม่ได้ตอบว่าผู้ใช้จริงรับหน้าเว็บได้ครบหรือไม่