Web Push Notification คืออะไร?
Web Push Notification คือการแจ้งเตือนที่ปรากฏขึ้นบนหน้าจอคอมพิวเตอร์หรือมือถือของผู้เข้าชมเว็บ แม้ว่าเขาจะไม่ได้เปิดหน้าเว็บไซต์ของคุณอยู่ในขณะนั้น คล้ายกับการแจ้งเตือนของแอปพลิเคชันบนมือถือ แต่ใช้งานได้ผ่านเบราว์เซอร์โดยตรง
ประโยชน์ของ Web Push Notification สำหรับเว็บไซต์:
- เพิ่ม Traffic กลับเว็บ — ผู้อ่านที่สมัครรับการแจ้งเตือนจะได้รับข้อความทันทีเมื่อมีบทความใหม่
- ไม่ต้องพึ่ง Email — Delivery rate สูงกว่า Email Newsletter มาก
- ใช้งานฟรี — OneSignal มีแพลนฟรีรองรับ Subscriber ได้ไม่จำกัด
- ตั้งค่าง่าย — ไม่ต้องเขียนโค้ด ติดตั้งผ่าน Plugin WordPress ได้เลย
- เข้าถึงได้หลายอุปกรณ์ — ทั้ง Desktop และ Mobile (Android/iOS)
เตรียมความพร้อมก่อนติดตั้ง
ก่อนเริ่มตั้งค่า Web Push Notification ให้เตรียมสิ่งเหล่านี้ให้พร้อม:
- เว็บไซต์ WordPress ที่ใช้ HTTPS (SSL) — เบราว์เซอร์สมัยใหม่กำหนดให้เว็บต้องมี SSL จึงจะส่ง Push ได้
- บัญชี OneSignal (สมัครฟรีได้ที่ onesignal.com)
- สิทธิ์ Admin ใน WordPress Dashboard
- Hosting ที่รองรับการติดตั้ง Plugin (Shared Hosting ทั่วไปรองรับได้ทั้งหมด)
สมัครบัญชี OneSignal และสร้าง App
OneSignal เป็นบริการ Push Notification ที่ได้รับความนิยมสูงสุด มีแพลนฟรีที่รองรับ Subscriber ไม่จำกัด ทำตามขั้นตอนนี้:
- ไปที่ onesignal.com แล้วคลิก Sign Up Free
- กรอก Email และ Password เพื่อสร้างบัญชี
- หลังเข้าสู่ระบบ คลิก New App / Website
- ตั้งชื่อ App เป็นชื่อเว็บไซต์ของคุณ เช่น "My Blog Thailand"
- เลือก Platform เป็น Web แล้วคลิก Next: Configure Your Platform
- เลือก WordPress Plugin or Website Builder
- กรอก Site URL ของเว็บไซต์คุณ เช่น
https://yourdomain.com - คลิก Save & Continue
- ระบบจะแสดง App ID และ REST API Key — จดไว้ใช้ในขั้นตอนถัดไป
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx — เก็บไว้ในที่ปลอดภัย อย่าเปิดเผย REST API Keyติดตั้ง Plugin OneSignal ใน WordPress
เมื่อมี App ID แล้ว ให้ติดตั้ง Plugin ใน WordPress Dashboard ทำตามนี้:
- เข้า WordPress Dashboard → Plugins → Add New
- ค้นหาคำว่า "OneSignal"
- คลิก Install Now ที่ Plugin ชื่อ OneSignal – Web Push Notifications
- รอสักครู่แล้วคลิก Activate
- ไปที่ OneSignal Push → Configuration ในเมนูซ้าย
- กรอก App ID และ REST API Key ที่ได้จาก OneSignal Dashboard
- คลิก Save
หลังจาก Save แล้ว Plugin จะโหลด Script ที่จำเป็นลงในเว็บไซต์โดยอัตโนมัติ
ตั้งค่า Prompt ขอสมัคร Subscription
เมื่อผู้เข้าชมมาที่เว็บไซต์ เบราว์เซอร์จะแสดงกล่องขอสิทธิ์ส่งการแจ้งเตือน ปรับแต่งได้ดังนี้:
- ไปที่ OneSignal Push → Configuration → Prompt Settings
- เลือกรูปแบบ Prompt:
- Slide Prompt — กล่องเล็กแบบ Slide ขึ้นมาที่มุมล่างซ้าย (แนะนำ)
- Bell Prompt — ปุ่มกระดิ่งลอยอยู่มุมล่างขวา
- Custom Link — ลิงก์ที่คุณวางเองในหน้าเว็บ
- ปรับ Auto Prompt Delay เป็น 10 วินาที เพื่อไม่รบกวนผู้ใช้ทันทีที่เข้าเว็บ
- ตั้งค่าข้อความภาษาไทย เช่น
"รับการแจ้งเตือนบทความใหม่ก่อนใคร" / "ยินยอม" / "ไม่ใช่ตอนนี้" - คลิก Save
ส่ง Push Notification ครั้งแรก
เมื่อมี Subscriber แล้ว ทดลองส่ง Push Notification ด้วยตัวเองได้จาก Dashboard:
- ไปที่ OneSignal Dashboard → Messages → Push
- คลิก New Push
- กรอก Title (หัวข้อ) และ Message (ข้อความ)
- เพิ่ม Launch URL เป็น URL ของบทความที่ต้องการให้ผู้ใช้ไป
- เพิ่ม Icon เป็น Logo ของเว็บไซต์ (ขนาดแนะนำ 192×192 px)
- เลือก Audience: All Subscribers
- คลิก Send Message
ภายในไม่กี่วินาที ผู้ที่สมัครรับการแจ้งเตือนไว้จะได้รับ Notification บนอุปกรณ์ทันที
ตั้งค่าส่ง Notification อัตโนมัติเมื่อโพสต์บทความใหม่
ฟีเจอร์ที่ดีที่สุดของ Plugin OneSignal คือส่ง Notification อัตโนมัติทุกครั้งที่คุณ Publish บทความใหม่:
- ไปที่ OneSignal Push → Configuration → Automatic Notifications
- เปิดใช้ Send notification when a new post is published
- เลือก Post Types ที่ต้องการ เช่น Posts เท่านั้น หรือทั้ง Posts และ Pages
- ตั้งค่า Title Template เช่น
บทความใหม่: {post_title} - ตั้งค่า Message Template เช่น
{post_excerpt}หรือเขียนคงที่ก็ได้ - คลิก Save
ตั้งแต่นี้ทุกครั้งที่กด Publish บทความใหม่ใน WordPress จะมีการส่ง Push Notification ไปยัง Subscriber ทุกคนโดยอัตโนมัติ
ตรวจสอบว่า Push Notification ทำงานถูกต้อง
ทดสอบและตรวจสอบสถานะด้วยวิธีเหล่านี้:
# ตรวจสอบ Script ถูกโหลดในหน้าเว็บ
# เปิด Browser Developer Tools (F12) แล้วไปที่แท็บ Console พิมพ์:
OneSignal.getNotificationPermission()
# ผลลัพธ์ที่ถูกต้อง: "granted" หรือ "default"
# ตรวจว่า Service Worker ทำงานอยู่
# ใน Developer Tools ไปที่ Application > Service Workers
# ควรเห็น: OneSignalSDKWorker.js สถานะ "activated"
# ทดสอบ API ด้วย curl (แทนที่ APP_ID และ API_KEY)
curl -X POST \
"https://onesignal.com/api/v1/notifications" \
-H "Authorization: Basic YOUR_REST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"app_id":"YOUR_APP_ID","included_segments":["Test Users"],"contents":{"en":"Test notification"}}'
# ดู Subscriber ในปัจจุบัน
curl "https://onesignal.com/api/v1/apps/YOUR_APP_ID" \
-H "Authorization: Basic YOUR_REST_API_KEY"
# ดูที่ "players" หรือ "messageable_players"
แก้ปัญหาที่พบบ่อย
Error: "Notifications are blocked"
ผู้ใช้กดบล็อกการแจ้งเตือนไปแล้ว แก้ไขได้โดย:
- ใน Chrome: คลิกไอคอนแม่กุญแจ → Notifications → Reset / Allow
- ใน Firefox: คลิก Shield icon → Allow Notifications
- เว็บไซต์ไม่สามารถ Reset สิทธิ์ได้เอง ต้องให้ผู้ใช้ทำด้วยตัวเอง
Error: "Service Worker registration failed"
มักเกิดจากปัญหา HTTPS หรือเส้นทาง Service Worker ผิด:
- ตรวจสอบว่าเว็บใช้ HTTPS จริง (ไม่มี Mixed Content)
- ไปที่ cPanel → File Manager ตรวจว่ามีไฟล์
OneSignalSDKWorker.jsอยู่ที่ Root ของเว็บ - ถ้าเว็บอยู่ใน Subdirectory ให้ตั้งค่า Service Worker Path ใน Plugin ให้ถูกต้อง
Error: "No App ID configured"
Plugin ยังไม่ได้บันทึก App ID:
- ไปที่ OneSignal Push → Configuration แล้วกรอก App ID อีกครั้ง
- ตรวจว่า App ID ถูกต้อง ไม่มีช่องว่างพิเศษ
- ลองปิด-เปิด Plugin แล้วกรอก App ID ใหม่
Push Notification ไม่ส่งอัตโนมัติเมื่อโพสต์บทความ
ตรวจสอบสิ่งเหล่านี้:
- ตรวจว่าเปิดใช้ Send notification when a new post is published แล้ว
- ตรวจว่า Post Type ที่โพสต์ตรงกับที่ตั้งค่าไว้
- ใน WordPress → OneSignal Logs ดู Error ที่อาจเกิดขึ้น
- ตรวจว่า REST API Key ถูกต้อง ไม่ใช่ App ID
iOS ไม่ได้รับ Push Notification
iOS Safari รองรับ Web Push ตั้งแต่ iOS 16.4 ขึ้นไปเท่านั้น:
- ผู้ใช้ต้อง Add to Home Screen ก่อนถึงจะรับ Push ได้บน iOS
- แนะนำให้เพิ่มข้อความ "เพิ่มลงหน้าจอหลักเพื่อรับการแจ้งเตือน" บนเว็บไซต์
- iPhone ที่ใช้ iOS ต่ำกว่า 16.4 ไม่รองรับ Web Push เลย
คำถามที่พบบ่อย (FAQ)
Q: OneSignal ฟรีมีข้อจำกัดอะไรบ้าง?
A: OneSignal แพลนฟรีรองรับ Subscriber ไม่จำกัดและส่งการแจ้งเตือนได้ไม่จำกัด ข้อจำกัดหลักคือ Segmentation และ A/B Testing ขั้นสูงจะต้องใช้แพลนเสียเงิน สำหรับเว็บไซต์ทั่วไปของคนไทย แพลนฟรีเพียงพอแน่นอน
Q: Push Notification ส่งผลต่อ SEO ไหม?
A: ไม่มีผลกระทบต่อ SEO โดยตรง แต่การส่ง Push ทำให้ผู้อ่านกลับมาเว็บบ่อยขึ้น ซึ่งเพิ่ม Traffic และ Time on Site ซึ่งส่งผลดีต่อ SEO ทางอ้อม อย่างไรก็ตาม หากส่งการแจ้งเตือนบ่อยเกินไปอาจทำให้ผู้ใช้ Unsubscribe ได้
Q: ผู้ใช้กด "Block" ไปแล้ว จะทำให้กลับมา Subscribe ใหม่ได้ไหม?
A: ไม่สามารถทำได้โดยอัตโนมัติ ผู้ใช้ต้องไปปลดบล็อกด้วยตัวเองในการตั้งค่าเบราว์เซอร์ วิธีป้องกันคือตั้งค่า Auto Prompt Delay ให้นานพอ เช่น 15-30 วินาที เพื่อให้ผู้ใช้ได้ดูเนื้อหาก่อนแล้วค่อยถามขอสิทธิ์