ปิดการใช้งาน Wordpress URL อัตโนมัติเสร็จสมบูรณ์


15

ฉันเพิ่งสังเกตเห็นว่า Wordpress พยายามกรอก URL โดยอัตโนมัติเมื่อไม่ได้ส่งทั้งหมด เช่นฉันมี URL โพสต์ที่มีลักษณะเช่นนี้:

http://www.mysite.com/some-post-title

ถ้าฉันเรียกดู URL ต่อไปนี้:

http://www.mysite.com/some-post-ti

ฉันสามารถดูว่า URL ที่ถูกส่งไปยัง Wordpress Wordpress แต่ที่จะทำ 301 http://www.mysite.com/some-post-titleเปลี่ยนเส้นทางไปยัง

ฉันจะปิดใช้งานพฤติกรรมนี้ได้อย่างไร


โซลูชันที่ทดสอบแล้วซึ่งไม่ได้ปิดการใช้งานระบบ URL แบบบัญญัติทั้งหมด แต่ปิดใช้งานเฉพาะส่วน "การเดา" ที่เติมข้อความอัตโนมัติเท่านั้นที่แสดงไว้ที่นี่
Hauke ​​P.

คำตอบ:


19

ผมเชื่อว่าเป็นฟังก์ชั่นติดยาเสพติดredirect_canonical template_redirectคุณควรปิดการใช้งานด้วย:

remove_filter('template_redirect', 'redirect_canonical'); 

แต่คุณควรคิดเกี่ยวกับว่าคุณต้องการทำเช่นนั้นเพราะมันค่อนข้างซับซ้อนและมีฟังก์ชั่น SEO ที่สำคัญ:

เปลี่ยนเส้นทางลิงก์ขาเข้าไปยัง URL ที่ถูกต้องตาม URL ของไซต์

เสิร์ชเอ็นจิ้นพิจารณา www.somedomain.com และ somedomain.com เป็น URL ที่ต่างกันสองรายการเมื่อทั้งคู่ไปยังตำแหน่งเดียวกัน การเพิ่มประสิทธิภาพ SEO นี้ป้องกันการลงโทษสำหรับเนื้อหาที่ซ้ำกันโดยเปลี่ยนเส้นทางลิงก์ขาเข้าทั้งหมดไปยังหนึ่งหรืออื่น ๆ

ป้องกันการเปลี่ยนเส้นทางสำหรับฟีด trackbacks การค้นหาป๊อปอัพความคิดเห็นและ URL ผู้ดูแลระบบ ห้ามเปลี่ยนเส้นทางใน IIS 7 ที่ไม่สนับสนุนการลิงก์หน้าตัวอย่าง / โพสต์ตัวอย่างผู้ดูแลระบบ WP, Trackbacks, robots.txt, การค้นหาหรือคำขอ POST

จะพยายามค้นหาลิงค์ที่ถูกต้องเมื่อผู้ใช้ป้อน URL ที่ไม่มีอยู่ตามแบบสอบถาม WordPress ที่แน่นอน จะพยายามแยกวิเคราะห์ URL หรือแบบสอบถามแทนเพื่อพยายามหาหน้าที่ถูกต้องเพื่อไปยัง

http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/canonical.php#L13

ต่อไปนี้อาจฆ่าการเติมข้อความอัตโนมัติโดยไม่ยุ่งกับองค์ประกอบ SEO แต่ฉันไม่สามารถรับประกันได้ รหัสถูกทดสอบแทบจะไม่ได้เพราะฉันไม่เคยต้องการที่จะปิดการใช้งานนี้ ฉันต้องเรียนredirect_canonicalเพื่อให้แน่ใจในสิ่งใด

function kill_404_redirect_wpse_92103() {
  if (is_404()) {
   add_action('redirect_canonical','__return_false');
  }
}
add_action('template_redirect','kill_404_redirect_wpse_92103',1);

ฉันเพิ่มข้อมูลโค้ดนี้ไว้ท้ายไฟล์ /wp-includes/canonical.php ของฉันและการเปลี่ยนเส้นทางยังคงเกิดขึ้น ฉันกำลังทำอะไรผิดหรือเปล่า? มีใครอีกไหมที่ไม่สามารถปิดใช้งานพฤติกรรมนี้ได้
user1380540

4

ดูเหมือนว่าไม่รับผิดชอบอย่างยิ่งที่จะมี "การคาดเดา" นี้เกิดขึ้นโดยอัตโนมัติ ฉันจะเปิดกว้างมากขึ้นหากมีวิธีการกำหนดซึ่งเป็นหน้าที่ถูกต้องไป

ฉันมีหน้ามากมายที่สร้างขึ้นตามลำดับและการคาดเดาอัตโนมัตินี้ไม่ถูกต้องเลือกที่จะตอบสนองกับหน้าเว็บที่ (สุ่ม?) ที่ใดที่หนึ่งในลำดับเมื่อเทียบกับหน้าเริ่มต้น

อัปเดต: นี่เป็นพฤติกรรมที่รู้จักและกำลังได้รับการพิจารณาที่นี่: https://core.trac.wordpress.org/ticket/16557


2

ตามคำตอบของ FitPM - มีการสร้างปลั๊กอินที่ปิดใช้งานพฤติกรรมการคาดเดาอัตโนมัติ

มันใช้งานได้ดีสำหรับฉันใน Wordpress 4.8 ตั้งแต่วันที่ 2 สิงหาคม 2017 ปลั๊กอินอยู่ที่นี่: https://wordpress.org/plugins/disable-url-autocorrect-guessing/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.