
เมื่อเว็บไซต์ WordPress เติบโตขึ้นและมีคนทำงานร่วมกันหลายคน — นักเขียน บรรณาธิการ นักการตลาด ทีมพัฒนา หรือแม้แต่ลูกค้าที่มาสมัครสมาชิก — คำถามสำคัญที่ตามมาคือ "ใครควรเข้าถึงอะไรได้บ้าง" นี่คือจุดที่ระบบ User Roles ของ WordPress เข้ามาช่วย การตั้งค่าสิทธิ์ที่ถูกต้องไม่ใช่แค่เรื่องความสะดวกในการทำงาน แต่เป็นเกราะป้องกันความปลอดภัยชั้นแรกของเว็บไซต์ เพราะบัญชีที่มีสิทธิ์เกินความจำเป็นคือช่องโหว่ที่แฮกเกอร์ชอบใช้ประโยชน์มากที่สุด
ทำไม User Roles ถึงสำคัญต่อความปลอดภัยและการจัดการทีม
WordPress ออกแบบระบบสิทธิ์แบบ Role-Based Access Control (RBAC) มาตั้งแต่ต้น เพื่อให้เจ้าของเว็บไซต์แบ่งงานและจำกัดขอบเขตการเข้าถึงของแต่ละคนได้อย่างชัดเจน แทนที่จะให้ทุกคนที่ต้อง Login เข้าระบบมีสิทธิ์เท่ากันหมด (ซึ่งเสี่ยงมาก) WordPress แบ่งผู้ใช้ออกเป็นกลุ่มตามหน้าที่ แต่ละกลุ่มมองเห็นเมนูและทำสิ่งต่างๆ ได้ไม่เท่ากัน
ประโยชน์หลักมี 2 ด้าน ด้านแรกคือ ความปลอดภัย — ถ้าบัญชีนักเขียนคนหนึ่งถูกขโมยรหัสผ่านไป แฮกเกอร์จะทำได้แค่เขียน/แก้บทความของตัวเอง ไม่สามารถลบปลั๊กอิน เปลี่ยนธีม หรือลบผู้ใช้อื่นได้ ความเสียหายจึงถูกจำกัดวงแคบ ด้านที่สองคือ ความเป็นระเบียบในการทำงานเป็นทีม — บรรณาธิการรู้ว่าต้องตรวจบทความของใครก่อนเผยแพร่ นักเขียนอิสระโฟกัสแค่การเขียนโดยไม่ต้องกังวลเรื่องตั้งค่าเทคนิค และผู้บริหารเว็บก็มั่นใจได้ว่าไม่มีใครไปแตะการตั้งค่าที่ไม่ควรแตะ
Roles มาตรฐานของ WordPress มีอะไรบ้าง
WordPress ติดตั้งมาพร้อม 5 Roles หลักสำหรับเว็บไซต์เดี่ยว (Single Site) และมี Role พิเศษอีก 1 ตัวที่ปรากฏเฉพาะบน WordPress Multisite เท่านั้น
1. Administrator (ผู้ดูแลระบบ)
Administrator คือ Role สูงสุดในเว็บไซต์เดี่ยว มีสิทธิ์ทำได้ทุกอย่างไม่มีข้อจำกัด: ติดตั้ง/ลบปลั๊กอินและธีม แก้ไฟล์ธีมผ่านตัวแก้ไขในตัว (Theme Editor) จัดการผู้ใช้ทุกคนรวมถึงลบบัญชี เปลี่ยนการตั้งค่าเว็บไซต์ทั้งหมด นำเข้า/ส่งออกข้อมูล และแน่นอนว่าจัดการเนื้อหาทุกประเภทของทุกคนได้ ปกติควรมอบให้เฉพาะเจ้าของเว็บไซต์หรือผู้ดูแลระบบตัวจริงเท่านั้น
2. Editor (บรรณาธิการ)
Editor ควบคุมเนื้อหาทั้งหมดในเว็บไซต์ได้ ไม่ว่าจะเป็นของตัวเองหรือของคนอื่น: เขียน แก้ไข ลบ และเผยแพร่บทความ/หน้าเว็บของทุกคน จัดการ Comment ทั้งหมด (อนุมัติ/ลบ/ตอบกลับ) จัดการ Category และ Tag แต่ ไม่มีสิทธิ์ เข้าถึงการตั้งค่าปลั๊กอิน ธีม หรือจัดการผู้ใช้ เหมาะกับหัวหน้าทีมเนื้อหาที่ต้องตรวจงานคนอื่นก่อนเผยแพร่
3. Author (ผู้เขียน)
Author เขียน แก้ไข และเผยแพร่บทความของตัวเองได้ทันทีโดยไม่ต้องรอใครอนุมัติ อัปโหลดไฟล์แนบได้ แต่แก้ไขหรือลบบทความของคนอื่นไม่ได้ และไม่มีสิทธิ์จัดการ Category ใหม่ (เลือกได้แค่ Category ที่มีอยู่แล้ว) เหมาะกับนักเขียนประจำที่ได้รับความไว้วางใจให้เผยแพร่เนื้อหาเองได้เลย
4. Contributor (ผู้ร่วมเขียน)
Contributor เขียนและแก้ไขบทความของตัวเองได้ แต่กด Publish เองไม่ได้ — บทความที่เขียนเสร็จจะถูกส่งเข้าสถานะ "Pending Review" รอให้ Editor หรือ Administrator ตรวจและอนุมัติก่อนถึงจะเผยแพร่จริง นอกจากนี้ Contributor ยังอัปโหลดไฟล์แนบ (เช่นรูปภาพ) เข้า Media Library ไม่ได้ด้วย ต้องให้ผู้มีสิทธิ์สูงกว่าช่วยแนบให้ เหมาะกับนักเขียนรับเชิญหรือฟรีแลนซ์ที่ยังต้องการการตรวจสอบก่อนเผยแพร่
5. Subscriber (สมาชิก)
Subscriber คือ Role ต่ำสุด เข้าสู่ระบบได้เพียงเพื่อจัดการโปรไฟล์ของตัวเอง เปลี่ยนรหัสผ่าน และดูเนื้อหาที่จำกัดสิทธิ์เฉพาะสมาชิก (Member-only content) เท่านั้น ไม่มีสิทธิ์เขียนหรือแก้ไขเนื้อหาใดๆ เหมาะกับเว็บไซต์ที่เปิดให้ผู้อ่านสมัครสมาชิกเพื่อ Comment หรือรับข่าวสาร รวมถึงเป็น Role เริ่มต้นที่ WordPress กำหนดให้ผู้ใช้ใหม่ที่สมัครเองผ่านหน้าเว็บ
Super Admin — เฉพาะ WordPress Multisite เท่านั้น
Super Admin ไม่ใช่ Role มาตรฐานที่ปรากฏในเว็บไซต์เดี่ยวทั่วไป แต่จะโผล่มาเฉพาะเมื่อเปิดใช้งาน WordPress Multisite (เครือข่ายหลายเว็บไซต์ในระบบเดียว) เท่านั้น Super Admin ควบคุมทั้งเครือข่าย สร้าง/ลบเว็บไซต์ย่อยได้ ติดตั้งปลั๊กอินและธีมระดับเครือข่าย และจัดการผู้ใช้ข้ามทุกเว็บไซต์ในเครือข่าย ถือเป็นสิทธิ์สูงสุดที่เหนือกว่า Administrator ของแต่ละเว็บไซต์ย่อย
จำง่ายๆ: เรียงจากสิทธิ์มากไปน้อยคือ Super Admin (เฉพาะ Multisite) → Administrator → Editor → Author → Contributor → Subscriber ยิ่งอยู่บนสุด ยิ่งควบคุมได้กว้าง ยิ่งอยู่ล่างสุด ยิ่งจำกัดแค่ตัวเอง
ตารางเปรียบเทียบ: แต่ละ Role ทำอะไรได้และทำอะไรไม่ได้
ตารางด้านล่างสรุปความสามารถหลักที่ควรรู้เมื่อต้องตัดสินใจว่าจะมอบ Role ไหนให้ใคร:
| ความสามารถ | Admin | Editor | Author | Contributor | Subscriber |
|---|---|---|---|---|---|
| เผยแพร่บทความของตัวเอง | ✓ | ✓ | ✓ | ✗ | ✗ |
| แก้ไข/ลบบทความของคนอื่น | ✓ | ✓ | ✗ | ✗ | ✗ |
| อัปโหลดไฟล์แนบ/รูปภาพ | ✓ | ✓ | ✓ | ✗ | ✗ |
| สร้าง Category/Tag ใหม่ | ✓ | ✓ | ✗ | ✗ | ✗ |
| จัดการ Comment ทั้งหมด | ✓ | ✓ | ✗ | ✗ | ✗ |
| ติดตั้ง/ลบปลั๊กอิน | ✓ | ✗ | ✗ | ✗ | ✗ |
| เปลี่ยน/แก้ไขธีม | ✓ | ✗ | ✗ | ✗ | ✗ |
| จัดการผู้ใช้ (เพิ่ม/ลบ/เปลี่ยน Role) | ✓ | ✗ | ✗ | ✗ | ✗ |
| แก้ไขการตั้งค่าเว็บไซต์ | ✓ | ✗ | ✗ | ✗ | ✗ |
| แก้ไขโปรไฟล์ตัวเอง | ✓ | ✓ | ✓ | ✓ | ✓ |
วิธีกำหนดหรือเปลี่ยน Role ให้ผู้ใช้
WordPress ทำให้การจัดการ Role เป็นเรื่องง่าย ไม่ต้องแตะโค้ดใดๆ ทำได้ 2 กรณีหลัก:
เปลี่ยน Role ของผู้ใช้ที่มีอยู่แล้ว
- เข้าสู่ระบบ WordPress admin dashboard ด้วยบัญชี Administrator
- ไปที่เมนู Users → All Users
- คลิกชื่อผู้ใช้ที่ต้องการแก้ไข (หรือคลิก "Edit" ที่แสดงเมื่อ hover เมาส์)
- เลื่อนลงมาที่ส่วน "Role" แล้วเลือก Role ใหม่จาก dropdown
- กด "Update User" ที่ด้านล่างสุดของหน้า
ถ้าต้องการเปลี่ยน Role หลายบัญชีพร้อมกัน ให้เลือก checkbox หน้าชื่อผู้ใช้ที่ต้องการในหน้า All Users แล้วเลือก "Change role to…" จาก Bulk Actions dropdown ด้านบนตาราง จากนั้นกด "Change" — ประหยัดเวลาได้มากเมื่อต้องจัดการทีมขนาดใหญ่
สร้างผู้ใช้ใหม่พร้อมกำหนด Role
- ไปที่ Users → Add New
- กรอก Username, Email, และรายละเอียดอื่นๆ ตามต้องการ
- เลือก Role ที่ต้องการมอบให้จาก dropdown "Role" ก่อนกด "Add New User"
- ระบบจะส่งอีเมลแจ้งผู้ใช้ใหม่พร้อมลิงก์ตั้งรหัสผ่าน (ถ้าเปิด "Send User Notification" ไว้)
ความเสี่ยงด้านความปลอดภัยเมื่อให้สิทธิ์เกินความจำเป็น
หลักการที่ผู้เชี่ยวชาญด้านความปลอดภัยแนะนำเสมอคือ Principle of Least Privilege — มอบสิทธิ์ให้แต่ละคนเท่าที่จำเป็นต่อการทำงานเท่านั้น ไม่มากไปกว่านั้น เหตุผลที่การให้ทุกคนเป็น Administrator เป็นความเสี่ยงใหญ่มีดังนี้:
- พื้นผิวการโจมตีที่กว้างขึ้น — ยิ่งมีบัญชี Administrator เยอะ ยิ่งมีจุดที่แฮกเกอร์สามารถโจมตีด้วย Brute Force หรือ Phishing เพื่อเข้าถึงสิทธิ์สูงสุดได้มากขึ้น
- ความเสียหายจากรหัสผ่านหลุด — ถ้าพนักงานคนหนึ่งใช้รหัสผ่านซ้ำกับเว็บอื่นที่เคยรั่วไหล แฮกเกอร์ที่ได้รหัสผ่านไปสามารถ Login เข้า WordPress ด้วยสิทธิ์ Admin เต็มรูปแบบทันที ลบเว็บไซต์ทั้งหมดได้ในไม่กี่คลิก
- ความผิดพลาดจากมนุษย์ — พนักงานที่ไม่เข้าใจเทคนิคอาจลบปลั๊กอินสำคัญ เปลี่ยนธีมโดยไม่ตั้งใจ หรือแก้การตั้งค่าที่ทำให้เว็บล่ม ทั้งที่ไม่มีเจตนาร้าย
- ตรวจสอบย้อนหลังยากขึ้น — เมื่อทุกคนมีสิทธิ์เท่ากันหมด การหาว่า "ใครเป็นคนทำ" เมื่อเกิดปัญหาจะยากขึ้นมาก เพราะทุกคนสามารถทำทุกอย่างได้เหมือนกัน
แนวทางที่ถูกต้องคือมอบ Role ตามหน้าที่จริง เช่น นักเขียนได้ Author หรือ Contributor ไม่ใช่ Administrator ทีมการตลาดที่จัดการ SEO ได้ Editor ไม่ใช่สิทธิ์เต็ม และเก็บบัญชี Administrator ไว้ให้น้อยที่สุดเท่าที่จำเป็นจริงๆ (แนะนำ 1-2 บัญชีสำหรับเว็บไซต์ทั่วไป)
การสร้าง Custom Roles และ Capabilities
บางครั้ง 6 Role มาตรฐานของ WordPress ก็ไม่ตอบโจทย์ทุกกรณี เช่น อยากให้ Editor แก้ไขบทความได้แต่ห้ามลบ Comment หรืออยากสร้าง Role ใหม่ชื่อ "SEO Manager" ที่เข้าถึงได้แค่บางเมนู ในกรณีนี้สามารถใช้ปลั๊กอินฟรีที่เป็นที่รู้จักกันดีในวงการ WordPress ได้ เช่น User Role Editor และ Members ซึ่งทั้งสองตัวมี Interface แบบลากวางหรือติ๊กเลือก Capability ทีละอย่างโดยไม่ต้องเขียนโค้ด
ปลั๊กอินเหล่านี้ทำให้ผู้ดูแลเว็บสามารถ:
- สร้าง Role ใหม่ที่ไม่มีในระบบเดิม พร้อมตั้งชื่อเองได้ตามต้องการ
- ถอด Capability บางอย่างออกจาก Role ที่มีอยู่แล้ว (เช่น ถอดสิทธิ์ลบ Comment ออกจาก Editor)
- เพิ่ม Capability พิเศษให้ Role ใดก็ได้ (เช่น ให้ Author เข้าถึงเมนู Plugins แบบดูอย่างเดียว)
- Export/Import การตั้งค่า Role เพื่อใช้ซ้ำระหว่างเว็บไซต์หลายแห่ง
สำหรับนักพัฒนาที่ถนัดเขียนโค้ด ก็สามารถใช้ฟังก์ชัน add_role() และ add_cap() ใน functions.php เพื่อสร้าง Role และ Capability แบบกำหนดเองได้เช่นกัน แต่สำหรับผู้ใช้ทั่วไปที่ไม่ถนัดโค้ด ปลั๊กอินคือทางเลือกที่ปลอดภัยและเร็วกว่ามาก
ข้อแนะนำ: ถ้าเว็บไซต์รันบน AsiaGB WordPress Hosting ที่มี Softaculous ติดตั้งปลั๊กอินอย่าง User Role Editor หรือ Members ทำได้ในไม่กี่คลิกจากหน้า DirectAdmin โดยไม่ต้องยุ่งกับไฟล์ระบบเอง
Bonus: Roles พิเศษเมื่อใช้ WooCommerce
ถ้าเว็บไซต์ WordPress ติดตั้งปลั๊กอิน WooCommerce เพื่อขายสินค้าออนไลน์ ระบบจะเพิ่ม Role ใหม่เข้ามาโดยอัตโนมัติเพื่อรองรับการทำงานของร้านค้า:
Shop Manager
Shop Manager คือ Role ที่ WooCommerce สร้างขึ้นสำหรับพนักงานที่ดูแลร้านค้าโดยเฉพาะ มีสิทธิ์:
- จัดการสินค้าทั้งหมด (เพิ่ม/แก้ไข/ลบ/จัดหมวดหมู่)
- จัดการคำสั่งซื้อ อัปเดตสถานะการจัดส่ง ออกใบเสร็จ
- สร้างและจัดการคูปองส่วนลด
- ดูรายงานยอดขายและสถิติร้านค้า
- จัดการรีวิวสินค้า
แต่ Shop Manager ไม่มีสิทธิ์ เข้าถึงการตั้งค่าปลั๊กอิน ธีม หรือจัดการผู้ใช้ระดับ Administrator — เหมาะมากสำหรับมอบให้ทีมขายหรือทีมคลังสินค้าที่ต้องอัปเดตสินค้า/คำสั่งซื้อทุกวัน โดยไม่ต้องเสี่ยงให้เข้าถึงส่วนอื่นของเว็บไซต์
Customer
Customer คือ Role ที่มอบให้ลูกค้าที่สมัครสมาชิกผ่านหน้าร้านค้าอัตโนมัติเมื่อสั่งซื้อครั้งแรก มีสิทธิ์แค่ดูประวัติคำสั่งซื้อของตัวเอง จัดการที่อยู่จัดส่ง และแก้ไขข้อมูลบัญชีส่วนตัว ไม่มีสิทธิ์เข้าถึงหน้า Admin Dashboard เลย เทียบเท่ากับ Subscriber แต่เพิ่มความสามารถเฉพาะด้าน E-Commerce เข้ามา
Checklist แนวทางปฏิบัติที่ดีในการจัดการ User Roles
- ยึดหลัก Principle of Least Privilege — มอบสิทธิ์เท่าที่จำเป็นต่องานเสมอ
- จำกัดจำนวนบัญชี Administrator ให้เหลือน้อยที่สุด (แนะนำ 1-2 บัญชีสำหรับเว็บทั่วไป)
- ทบทวนรายชื่อผู้ใช้และ Role เป็นระยะ ลบบัญชีที่ไม่ได้ใช้งานแล้ว (เช่น พนักงานที่ลาออก)
- ใช้รหัสผ่านที่รัดกุมและเปิด Two-Factor Authentication โดยเฉพาะบัญชี Administrator
- อย่าแชร์บัญชี Login ร่วมกันหลายคน — สร้างบัญชีแยกให้แต่ละคนเพื่อตรวจสอบย้อนหลังได้
- ใช้ปลั๊กอิน Custom Role เมื่อ Role มาตรฐานไม่ตอบโจทย์ แทนที่จะมอบสิทธิ์เกินจำเป็น
- สำหรับ WooCommerce มอบ Shop Manager ให้ทีมขาย ไม่ใช่ Administrator
- สำรองข้อมูลเว็บไซต์สม่ำเสมอ เผื่อกรณีมีการเปลี่ยนแปลง Role ผิดพลาดหรือบัญชีถูกโจมตี
คำถามที่พบบ่อย (FAQ)
User Role กับ Capability ต่างกันอย่างไร
Role คือชุดของ Capability ที่รวมกันไว้ล่วงหน้า เช่น Editor รวม capability ประมาณ 30 อย่าง ส่วน Capability คือสิทธิ์เดี่ยวๆ เช่น edit_posts, delete_users ผู้ดูแลสามารถปรับแต่ง Capability ในแต่ละ Role ได้อีกทีด้วย plugin เช่น User Role Editor
ทำไมไม่ควรตั้งให้พนักงานทุกคนเป็น Administrator
เพราะ Administrator ลบปลั๊กอิน เปลี่ยนธีม ลบผู้ใช้คนอื่น และแก้ไฟล์ผ่านตัวแก้ไขในตัวได้ทั้งหมด ถ้าบัญชีถูกแฮกหรือพนักงานทำผิดพลาด ความเสียหายจะเกิดกับทั้งเว็บไซต์ทันที การให้สิทธิ์เท่าที่จำเป็น (Principle of Least Privilege) ช่วยจำกัดความเสียหายได้มาก
Contributor กับ Author ต่างกันอย่างไร
Contributor เขียนและแก้ไขบทความของตัวเองได้ แต่กด Publish เองไม่ได้ ต้องรอ Editor หรือ Administrator ตรวจและเผยแพร่ให้ ส่วน Author เขียน แก้ไข และ Publish บทความของตัวเองได้ทันทีโดยไม่ต้องรออนุมัติ
จะเปลี่ยน Role ของผู้ใช้ที่มีอยู่แล้วได้อย่างไร
ไปที่ Users → All Users คลิกชื่อผู้ใช้ที่ต้องการแก้ไข เลื่อนไปที่ช่อง Role เลือก Role ใหม่จาก dropdown แล้วกด Update User หรือเลือกหลายบัญชีพร้อมกันแล้วใช้ Bulk Action → Change role to
Super Admin คืออะไร ต่างจาก Administrator อย่างไร
Super Admin มีเฉพาะใน WordPress Multisite เท่านั้น เป็น Role ระดับเครือข่าย (Network) ที่ควบคุมทุกเว็บไซต์ย่อยในเครือข่ายได้ รวมถึงติดตั้ง/ลบปลั๊กอินระดับเครือข่ายและสร้างเว็บไซต์ใหม่ ส่วน Administrator ควบคุมได้แค่เว็บไซต์เดียวที่ตนมีสิทธิ์
ถ้าใช้ WooCommerce ต้องตั้ง Role พนักงานร้านค้าอย่างไร
WooCommerce เพิ่ม Role ใหม่ชื่อ Shop Manager ให้อัตโนมัติ ซึ่งจัดการสินค้า คำสั่งซื้อ คูปอง และรายงานยอดขายได้ แต่เข้าไม่ถึงการตั้งค่าปลั๊กอิน ธีม หรือผู้ใช้ระดับ Administrator เหมาะสำหรับมอบให้ทีมขายหรือคลังสินค้าโดยไม่ต้องให้สิทธิ์เต็ม
เริ่มจัดการทีม WordPress อย่างปลอดภัยวันนี้
เว็บไซต์ WordPress ที่มี Hosting เสถียรจาก AsiaGB ราคาเพียง 500 บาท/ปี พร้อม DirectAdmin, SSD, Softaculous ติดตั้งปลั๊กอินจัดการ Role ได้ในไม่กี่คลิก, Backup 2 ครั้ง/เดือน, Uptime 99%
ดูแพ็กเกจ WordPress Hosting