Yoast SEO อาจกระทบ WooCommerce Reset Password แก้ไขอย่างไร?

เมื่อ Yoast SEO ไปตัด Query String ของ WooCommerce: ปัญหา Reset Password ที่หลายเว็บไม่รู้ว่ามี¶
หลายคนที่ใช้ WooCommerce + Yoast SEO อาจไม่เคยรู้เลยว่า… วันหนึ่งลูกค้ากด “ลืมรหัสผ่าน” แล้วรีเซ็ตไม่ได้ เพราะลิงก์ที่ระบบส่งไปทางอีเมล โดนรีไดเรกต์ผิดหน้า โดยไม่รู้ตัว
สาเหตุไม่ได้อยู่ที่ WooCommerce เอง แต่เกิดจากฟีเจอร์ใหม่ใน Yoast SEO เวอร์ชัน 20.4 เป็นต้นมา ที่ชื่อว่า Remove unregistered URL parameters (อยู่ในเมนู Crawl Optimization) ของ Yoast SEO ซึ่งเปิดใช้งานไว้เป็นค่าเริ่มต้น
ฟีเจอร์นี้คืออะไร?¶
Yoast อธิบายไว้ว่า ฟีเจอร์ Advanced crawl settings / Permalink cleanup มีไว้เพื่อ:
- ลบ query string ที่ไม่จำเป็นออกจาก URL (เช่น
?utm_source=facebook
หรือ?replytocom=123
) - ป้องกัน duplicate content ที่ต่างกันแค่พารามิเตอร์
- ช่วยให้ Google ไม่ต้องเสียเวลา crawl URL ขยะหรือแอบสุ่ม (ประหยัด crawl budget)
ประโยชน์ด้าน SEO:
- ทำให้โครงสร้าง URL ของเว็บสะอาด
- Google จัดการ index ง่ายขึ้น
- ลดปัญหาหน้าซ้ำที่ไม่มีประโยชน์ต่อการค้นหา
แล้วทำไม WooCommerce ถึงพัง?¶
เพราะ WooCommerce ใช้ query string ในการทำงานจริง เช่นเวลาลืมรหัสผ่าน
ตัวอย่าง URL:
/my-account/lost-password/?reset-link-sent=true /my-account/lost-password/?key=xxx&id=57&login=user
เมื่อ Yoast มองว่า reset-link-sent
หรือ key
เป็น “พารามิเตอร์ไม่รู้จัก” → มัน redirect ไป /my-account/
ทันที
ผลลัพธ์:
- ผู้ใช้กดลิงก์รีเซ็ต → กลับไปหน้า Account เฉย ๆ
- แบบฟอร์มรีเซ็ตพาสเวิร์ดไม่แสดง
- ลูกค้าทำธุรกรรมต่อไม่ได้
นี่คือ Silent Bug ที่หลายเว็บไม่รู้ว่ามี เพราะเดี๋ยวนี้ผู้ใช้ส่วนใหญ่ให้ Google/Browser จำรหัสแทน → เลยไม่ค่อยกดลืมรหัส
วิธีทดสอบว่าเว็บของคุณเจอปัญหานี้หรือไม่¶
- ไปที่
/my-account/lost-password/
- กรอกอีเมลเพื่อขอรีเซ็ต
- เปิดอีเมลแล้วกดลิงก์ → สังเกตว่าไปหน้า Reset จริง หรือโดนโยนกลับ
/my-account/
- เปิด DevTools (F12 → Network → Preserve log → filter “Doc”) จะเห็นว่า request มีพารามิเตอร์
reset-link-sent
,key
,login
และถูก redirect
วิธีแก้ไข¶
แนวทาง 1: ปิดฟีเจอร์นี้ไปเลย
- ไปที่ Yoast SEO → Settings → Advanced → Crawl Optimization
- ปิด Remove unregistered URL parameters
- ปลอดภัยสุด ไม่พัง flow แต่เสียโอกาส SEO เล็กน้อย
แนวทาง 2: เปิดไว้ แต่ใส่ Allowlist ให้ครบ
- เพิ่มพารามิเตอร์ที่ต้องใช้จริง โดยใส่ทีละค่าแล้ว Enter ก่อนใส่ค่าต่อไป เช่น:
key
login
id
show-reset-form
reset-link-sent
action
wp_lang
fbclid
key login id show-reset-form reset-link-sent action wp_lang gclid fbclid utm_source utm_medium utm_campaign
- วิธีนี้ได้ประโยชน์ SEO และ flow เว็บก็ยังปกติ
บทเรียนจากกรณีนี้¶
- ฟีเจอร์ SEO อาจไปกระทบ UX ที่สำคัญ โดยไม่รู้ตัว
- เจ้าของเว็บ/แอดมินควรมี Checklist เทส flow พื้นฐานทุกครั้งหลังอัปเดตปลั๊กอินหลัก ๆ ได้แก่:
- Login
- Logout
- Register
- Reset Password
- Checkout
- ปัญหานี้เกิดขึ้นจริงหลายเว็บ แต่แทบไม่มีใครรู้จนกว่าจะมีผู้ใช้มาบอกว่าล็อกอินไม่ได้
WinWebSEO ช่วยอะไรได้บ้าง¶
เราเจอเคสแบบนี้บ่อยในเว็บที่มี WooCommerce, Yoast และปลั๊กอินแคชหลายชั้น (เช่น WP Rocket + Cloudflare + SiteGround)
บริการของเรา:
- ตรวจสอบ flow การใช้งาน (Login, Reset, Checkout) หลังอัปเดตปลั๊กอิน/ธีม
- Audit การตั้งค่า Yoast SEO, Crawl Optimization, Canonical, Redirect
- กำหนด Allowlist พารามิเตอร์ให้เหมาะสม ไม่ให้ SEO กระทบ UX
- ทดสอบความเร็ว/ความเสถียร พร้อมรายงาน Before–After
เพราะเว็บที่เร็วและไม่พัง flow สำคัญ คือหัวใจของทั้ง SEO และ ยอดขายออนไลน์
บทสรุป
Yoast SEO ตั้งใจช่วยทำให้เว็บสะอาดขึ้นในสายตา Google แต่ถ้าไม่เข้าใจการทำงาน อาจทำให้ระบบ WooCommerce อย่าง Reset Password ทำงานไม่ตรงกับค่าดั้งเดิมได้ ดังนั้นการตรวจสอบ/แก้ไขอย่างเป็นระบบจึงสำคัญมาก
อ้างอิง
https://yoast.com/help/advanced-crawl-settings-permalink-cleanup/