WordPress: ค้นหาและแทนที่ลิงก์ถาวรทั้งหมดในฐานข้อมูลของคุณโดยใช้นิพจน์ทั่วไป (ตัวอย่าง: /YYYY/MM/DD)
สำหรับไซต์ใดๆ ที่มีอายุมากกว่าทศวรรษ ไม่ใช่เรื่องแปลกที่จะมีการเปลี่ยนแปลงมากมายในโครงสร้างลิงก์ถาวร ในยุคแรกๆของ WordPressมันไม่ใช่เรื่องแปลกสำหรับ โครงสร้าง permalink สำหรับโพสต์บล็อกที่จะกำหนดเป็นเส้นทางที่มีปี เดือน วัน และสัญลักษณ์ของโพสต์:
/%year%/%monthnum%/%day%/%postname%/
นอกจากจะยาวเกินความจำเป็นแล้ว URLมีปัญหาอื่นๆ อีก XNUMX-XNUMX ข้อเกี่ยวกับเรื่องนี้:
- ผู้ที่อาจเป็นผู้เยี่ยมชมเห็นลิงก์ไปยังบทความของคุณบนไซต์อื่นหรือบนเครื่องมือค้นหา และพวกเขาไม่ได้เข้าชมเพราะพวกเขาเห็นปี เดือน และวันที่บทความของคุณเขียนขึ้น แม้ว่าจะเป็นบทความที่น่าทึ่งและยอดเยี่ยม… พวกเขาไม่คลิกเพราะโครงสร้างลิงก์ถาวร
- เครื่องมือค้นหาอาจถือว่าเนื้อหานั้นไม่สำคัญเพราะเนื้อหานั้น ตามลำดับชั้น ห่างจากโฮมเพจหลายโฟลเดอร์
เมื่อปรับปรุงไซต์ของลูกค้าของเรา เราขอแนะนำให้พวกเขาอัปเดตโครงสร้างลิงก์ถาวรเป็น:
/%postname%/
แน่นอนว่าการเปลี่ยนแปลงครั้งใหญ่เช่นนี้อาจทำให้เกิดความพ่ายแพ้ แต่เราเห็นว่าเมื่อเวลาผ่านไป ข้อดีมีมากกว่าความเสี่ยง โปรดทราบว่าการอัปเดตโครงสร้างลิงก์ถาวรจะไม่เปลี่ยนเส้นทางผู้เยี่ยมชมไปยังลิงก์เก่าเหล่านั้น และจะไม่อัปเดตลิงก์ภายในภายในเนื้อหาของคุณ
วิธีอัปเดตลิงก์ถาวรในเนื้อหา WordPress ของคุณ
เมื่อคุณทำการเปลี่ยนแปลงนี้ คุณอาจเห็นว่าการจัดอันดับของเครื่องมือค้นหาของคุณในโพสต์เหล่านั้นลดลง เนื่องจากการเปลี่ยนเส้นทางลิงก์อาจทำให้อำนาจบางอย่างลดลงจากลิงก์ย้อนกลับ สิ่งหนึ่งที่สามารถช่วยได้คือการเปลี่ยนเส้นทางการเข้าชมที่มาถึงลิงก์เหล่านั้นอย่างเหมาะสม และแก้ไขลิงก์ในเนื้อหาของคุณ
- การเปลี่ยนเส้นทางลิงก์ภายนอก – คุณต้องสร้างการเปลี่ยนเส้นทางบนไซต์ของคุณที่ค้นหารูปแบบนิพจน์ทั่วไป และเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าที่เหมาะสมอย่างเหมาะสม แม้ว่าคุณจะแก้ไขลิงก์ภายในทั้งหมด คุณก็ยังต้องทำสิ่งนี้กับลิงก์ภายนอกที่ผู้เยี่ยมชมของคุณกำลังคลิกอยู่ ฉันได้เขียนเกี่ยวกับวิธีเพิ่มนิพจน์ทั่วไป (นิพจน์ทั่วไป) เปลี่ยนเส้นทางใน WordPress และโดยเฉพาะเกี่ยวกับ วิธีเปลี่ยนเส้นทาง /YYYY/MM/DD/.
- ลิงค์ภายใน – หลังจากที่คุณอัปเดตโครงสร้างลิงก์ถาวรแล้ว คุณยังอาจมีลิงก์ภายในในเนื้อหาที่มีอยู่ซึ่งชี้ไปยังลิงก์เก่า หากคุณไม่ได้ตั้งค่าการเปลี่ยนเส้นทาง พวกเขาจะส่งผลให้คุณได้รับ 404 ไม่พบข้อผิดพลาด หากคุณตั้งค่าการเปลี่ยนเส้นทางแล้ว ก็ยังไม่ดีเท่ากับการอัปเดตลิงก์ของคุณจริงๆ ลิงก์ภายในได้รับการพิสูจน์แล้วว่าเป็นประโยชน์ต่อผลการค้นหาทั่วไปของคุณ ดังนั้นการลดจำนวนการเปลี่ยนเส้นทางจึงเป็นขั้นตอนที่ดีในการทำให้เนื้อหาของคุณสะอาดและถูกต้อง
ประเด็นคือคุณต้องค้นหาตารางข้อมูลโพสต์ของคุณ ระบุรูปแบบใดๆ ที่ดูเหมือน /YYYY/MM/DD แล้วแทนที่อินสแตนซ์นั้น นี่คือที่มาของ Regular Expression ที่สมบูรณ์แบบ… แต่คุณยังต้องการโซลูชันในการวนซ้ำผ่านเนื้อหาโพสต์ของคุณ แล้วจึงอัปเดตอินสแตนซ์ของลิงก์ – โดยไม่ทำให้เนื้อหาของคุณยุ่งเหยิง
โชคดีที่มีทางออกที่ดีสำหรับเรื่องนี้ WP โยกย้าย Pro. ด้วย WP Migrate Pro:
- เลือกตารางที่คุณต้องการอัปเดต ในกรณีนี้ wp_posts. เมื่อเลือกตารางเดียว คุณจะลดทรัพยากรที่กระบวนการจะใช้ให้เหลือน้อยที่สุด
- ใส่นิพจน์ทั่วไปของคุณ ฉันใช้เวลาทำงานเล็กน้อยเพื่อให้ไวยากรณ์ถูกต้อง แต่ฉันพบผู้เชี่ยวชาญ regex ที่ยอดเยี่ยมบน Fiverr และพวกเขาทำให้ regex เสร็จภายในเวลาไม่กี่นาที ในฟิลด์ค้นหา ให้ใส่ข้อมูลต่อไปนี้ (ปรับแต่งสำหรับโดเมนของคุณ):
/martech\.zone\/\d{4}\/\d{2}\/\d{2}\/(.*)/
- (.*) เป็นตัวแปรที่จะจับ slug จากสตริงต้นทาง ดังนั้นคุณต้องเพิ่มตัวแปรนั้นในสตริงแทนที่:
martech.zone/$1
- คุณต้องคลิกที่ปุ่ม .* ทางด้านขวาของฟิลด์แทนที่ เพื่อให้แอปพลิเคชันทราบว่านี่เป็นนิพจน์ทั่วไป ค้นหาและแทนที่.
- หนึ่งในคุณสมบัติที่ดีที่สุดของปลั๊กอินนี้คือคุณสามารถดูตัวอย่างการเปลี่ยนแปลงก่อนที่จะดำเนินการ ในกรณีนี้ ฉันสามารถดูได้ทันทีว่าจะมีการแก้ไขใดบ้างในฐานข้อมูล
เมื่อใช้ปลั๊กอิน ฉันสามารถอัปเดตลิงก์ภายใน 746 ลิงก์ในเนื้อหาของฉันได้ภายในหนึ่งนาทีหรือมากกว่านั้น มันง่ายกว่าการค้นหาแต่ละลิงค์และพยายามแทนที่มันมาก! นี่เป็นเพียงคุณสมบัติเล็ก ๆ อย่างหนึ่งในปลั๊กอินการโยกย้ายและสำรองข้อมูลอันทรงพลังนี้ เป็นหนึ่งในรายการโปรดของฉันและอยู่ในรายการของฉัน ปลั๊กอิน WordPress ที่ดีที่สุดสำหรับธุรกิจ.
การเปิดเผยข้อมูล: Martech Zone เป็น บริษัท ในเครือของ WP โยกย้าย และกำลังใช้มันและลิงค์พันธมิตรอื่น ๆ ในบทความนี้