WooCommerce: วิธีการเปลี่ยนโครงสร้าง Permalink
เผยแพร่แล้ว: 2021-09-28โครงสร้างลิงก์ถาวรของ WooCommerce อาจดูผิดปกติสำหรับผู้มาใหม่ ส่วน /product/ และ /product-category/ ของ URL เป็นคุณลักษณะเด่นที่รู้จักกันดี แต่ผู้เชี่ยวชาญบางคนไม่เห็นด้วยว่านี่เป็นวิธีที่สะดวกที่สุดในการจัดการลิงก์ถาวร SEO อย่างชาญฉลาด
แนวคิดที่นิยมคือการรักษาโครงสร้าง URL ให้เรียบง่ายที่สุดเท่าที่จะเป็นไปได้ และลบส่วนที่ไม่จำเป็นออก คุณไม่จำเป็นต้องใช้คำพูดของผู้เชี่ยวชาญเหล่านั้นหรือฉัน เนื่องจากแนวทางอย่างเป็นทางการจาก Google แนะนำให้หลีกเลี่ยง URL ที่มีความยาวซึ่งมีพารามิเตอร์ที่ไม่จำเป็น
นั่นหมายความว่าอย่างไรสำหรับผู้สร้างร้านค้า WooCommerce?
ประการแรก ฐาน URL เช่น /shop/ , /product-category/ และ /product/ ถือได้ว่าไม่จำเป็น เนื่องจาก Google รู้วิธีกำหนดหน้าร้านค้าและหน้าผลิตภัณฑ์โดยไม่จำเป็นต้องระบุสิ่งนั้นภายใน URL
และบางทีคุณอาจไม่ต้องการสร้างการรับรู้ที่ผิดๆ เกี่ยวกับความลึกของไซต์สำหรับโปรแกรมรวบรวมข้อมูล ดังนั้นพวกเขาจึงไม่ได้ให้คะแนนหน้าเว็บเหล่านั้นต่ำกว่าที่ควรจะเป็น อีกครั้ง กฎที่รู้จักกันดี – หน้าที่ใกล้กับโฟลเดอร์หลัก (โดเมน) มีความหมายมากกว่าสำหรับเครื่องมือค้นหา
หากคุณเห็นด้วยกับข้อความดังกล่าว คุณควรทำความเข้าใจวิธีออกแบบโครงสร้างลิงก์ถาวรใน WooCommerce ใหม่ ดังนั้นอ่านล่วงหน้าเพื่อหาข้อมูลเกี่ยวกับสิ่งนั้น
โครงสร้างลิงก์ถาวรของ WooCommerce เริ่มต้นคืออะไร
มาดูกันว่า Permalinks ทำงานอย่างไรในตอนนี้ และสิ่งที่เราสามารถทำได้เพื่อให้เป็นมิตรกับผู้ใช้มากขึ้น
มีบางสิ่งที่คุณต้องระบุเมื่อสร้างการตั้งค่าลิงก์ถาวร:
- ฐานหมวดหมู่ผลิตภัณฑ์ (ซึ่งก็คือ /product-category/ โดยค่าเริ่มต้น)
- ฐานแท็กผลิตภัณฑ์ ( /product-tag/ โดยค่าเริ่มต้น)
- ฐานหน้าผลิตภัณฑ์ (อาจเป็น /product/ , /shop/ หรือฐานที่กำหนดเองอื่น ๆ )
คุณไม่มีทางปล่อยให้ตัวเลือกเหล่านี้ว่างหรือใช้ตัวเลือกเดียวกัน ( /shop/ เช่น ) สำหรับลิงก์ถาวรทั้งสอง ฐานผลิตภัณฑ์ หมวดหมู่ และแท็กควรไม่ซ้ำกันเพื่อไม่ให้เกิดความขัดแย้งระหว่างการจัดหมวดหมู่ โพสต์ และเพจ
ดังนั้น URL เริ่มต้นสำหรับหน้าร้านค้าอาจเป็นดังนี้:
- สำหรับหน้าหมวดหมู่: site.com/ product-category /category-slug
- สำหรับหน้าแท็ก: site.com/ product-tag /tag-slug
- สำหรับหน้าผลิตภัณฑ์: site.com/ product /product-slug
ในขณะที่มันใช้ได้ดีสำหรับหน้าแท็ก (คุณอาจต้องการฐานบางส่วนเพื่อกำหนดความแตกต่างระหว่างหมวดหมู่และคอลเลกชัน) มันอาจจะซ้ำซากโดยใช้ฐานเหล่านั้นสำหรับ URL หน้าหมวดหมู่และหน้าผลิตภัณฑ์
เหตุใดจึงควรพิจารณาเปลี่ยนลิงก์ถาวรเริ่มต้น
บางครั้งผู้ใช้ WooCommerce แนะนำให้กำจัด /product-category/ และ /product/ bases หรือจัดการโครงสร้าง URL มาตรฐานด้วยวิธีอื่น มันเกิดขึ้นเนื่องจากเหตุผลสำคัญสองประการ:
- พวกเขาต้องการเห็น URL ที่เรียบง่ายและชัดเจน ซึ่งสามารถใช้ประโยชน์จากจุดยืนของ SEO ได้เช่นกัน
- กรณีเปลี่ยนจาก CMS อื่นเป็น WP\Woo และต้องการ คงโครงสร้าง URL เดิมไว้
เป็นที่ถกเถียงกันว่าการลบส่วนต่างๆ ของ URL นั้นสามารถปรับปรุงผลลัพธ์ SEO ของคุณได้หรือไม่ แต่นี่เป็นเหตุผลยอดนิยมที่ผู้คนกำลังพิจารณาที่จะทำลายโครงสร้างลิงก์ถาวรเริ่มต้นของ WooCommerce
มีแหล่งข้อมูลที่น่าเชื่อถือไม่กี่แห่งที่บอกเราถึงวิธีจัดโครงสร้างลิงก์ถาวร และเหตุใด URL ที่สั้นกว่าจึงดีกว่า – ปัจจัยการจัดอันดับของเครื่องมือค้นหา Backlinko (จุดที่ 10) แนวทางปฏิบัติที่ดีที่สุดของ Moz สำหรับการจัดโครงสร้าง URL (จุดที่ #6 และ #11)
ในกรณีที่คุณเริ่มต้นเว็บไซต์ใหม่ การทดสอบดังกล่าวจะปลอดภัยและดูว่าจะช่วย SEO ของคุณได้อย่างไร ในขณะที่การเปลี่ยนลิงก์ถาวรในเว็บไซต์ที่เป็นที่ยอมรับแล้วอาจเป็นเรื่องที่มีความเสี่ยง ฉันจะอธิบายข้อกังวลของฉันเพิ่มเติม
ในส่วนที่เกี่ยวกับการเปลี่ยนลิงก์ถาวรให้ตรงกับ URL ของเว็บไซต์เก่าของคุณนั้นดูสมเหตุสมผลและทำให้คุณมีโอกาสมากขึ้นที่จะไม่ทำลายประวัติ SEO ของคุณ
วิธีลบ /product-category/ และ /product/ จากลิงก์ถาวรของ WooCommerce
วิธีการต่อไปนี้ปลอดภัยที่จะใช้ในเว็บไซต์ใหม่เมื่อคุณไม่จำเป็นต้องเล่นกับการเปลี่ยนเส้นทาง 301 เพื่อให้ผู้ใช้และโปรแกรมรวบรวมข้อมูลของคุณทราบว่า URL นั้นมีการเปลี่ยนแปลง
สิ่งแรกที่คุณต้องทำคือไปที่ WP Settings > Permalinks และเลื่อนไปที่ “ Product category base ” และเขียน “” (จุด) เป็นฐานที่กำหนดเอง
จากนั้นวางข้อมูลโค้ดนี้ลงในไฟล์ functions.php ของคุณ:
add_filter( 'request', function( $vars ) {
global $wpdb;
if( ! empty( $vars['pagename'] ) || ! empty( $vars['category_name'] ) || ! empty( $vars['name'] ) || ! empty( $vars['attachment'] ) ) {
$slug = ! empty( $vars['pagename'] ) ? $vars['pagename'] : ( ! empty( $vars['name'] ) ? $vars['name'] : ( !empty( $vars['category_name'] ) ? $vars['category_name'] : $vars['attachment'] ) );
$exists = $wpdb->get_var( $wpdb->prepare( "SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s" ,array( $slug )));
if( $exists ){
$old_vars = $vars;
$vars = array('product_cat' => $slug );
if ( !empty( $old_vars['paged'] ) || !empty( $old_vars['page'] ) )
$vars['paged'] = ! empty( $old_vars['paged'] ) ? $old_vars['paged'] : $old_vars['page'];
if ( !empty( $old_vars['orderby'] ) )
$vars['orderby'] = $old_vars['orderby'];
if ( !empty( $old_vars['order'] ) )
$vars['order'] = $old_vars['order'];
}
}
return $vars;
});
จากนั้นเพิ่มตัวกรองเพื่อลบ /product/ base จาก URL หน้าผลิตภัณฑ์:
function na_remove_slug( $post_link, $post, $leavename ) {
if ( 'product' != $post->post_type || 'publish' != $post->post_status ) {
return $post_link;
}
$post_link = str_replace( '/product/', '/', $post_link );
return $post_link;
}
add_filter( 'post_type_link', 'na_remove_slug', 10, 3 );
function change_slug_struct( $query ) {
if ( ! $query->is_main_query() || 2 != count( $query->query ) || ! isset( $query->query['page'] ) ) {
return;
}
if ( ! empty( $query->query['name'] ) ) {
$query->set( 'post_type', array( 'post', 'product', 'page' ) );
} elseif ( ! empty( $query->query['pagename'] ) && false === strpos( $query->query['pagename'], '/' ) ) {
$query->set( 'post_type', array( 'post', 'product', 'page' ) );
// We also need to set the name query var since redirect_guess_404_permalink() relies on it.
$query->set( 'name', $query->query['pagename'] );
}
}
add_action( 'pre_get_posts', 'change_slug_struct', 99 );
ตัวอย่างข้อมูลนำมาจากการสนทนาของ StackOverflow และดูเหมือนว่าจะทำงานได้ดีสำหรับผู้ใช้ส่วนใหญ่ ยกเว้นในบางกรณี:
- URL ดั้งเดิมจะตอบสนองด้วยข้อผิดพลาด 404 ดังนั้น หากคุณมีหน้าเหล่านั้นที่จัดทำดัชนีไว้ก่อนหน้านี้ อย่าลืมสร้างการเปลี่ยนเส้นทาง 301 ไปยังหน้าที่เกี่ยวข้อง
- อาจไม่ทำงานกับการแบ่งหน้าหรือทำให้เกิดปัญหากับตัวกรอง ทั้งนี้ขึ้นอยู่กับธีมและปลั๊กอินที่คุณใช้
วิธีตั้งค่ากฎ Permalinks ขั้นสูงด้วย Custom Permalinks สำหรับ WooCommerce
แม้ว่า WooCommerce ในเอกสารของพวกเขาจะเตือนเราเกี่ยวกับการลบ /product/ , /product-category/ หรือ /shop/ ออกจาก URL คุณสามารถไปและค้นหา Custom Permalinks สำหรับส่วนขยาย WooCommerce ในตลาดซื้อขายอย่างเป็นทางการ เป็นวิธีที่ปลอดภัยที่สุดในการเปลี่ยนตัวเลือกลิงก์ถาวรเริ่มต้นสำหรับหมวดหมู่และหน้าผลิตภัณฑ์
ลิงก์ถาวรบางส่วนสำหรับหน้าหมวดหมู่มีอยู่ที่นี่:
Category slug เพียงอย่างเดียวหมายถึง การลบ /product-category/ part จาก URL ทั้งหมด ออกจากโดเมน + หมวดหมู่ slug
พาธแบบเต็มหมายถึงการลบ /product-category/ และเพิ่ม slug หมวดหมู่หลัก (หากมีหมวดหมู่) ก่อน slug หมวดหมู่ที่เกี่ยวข้อง
นอกจากนี้ยังมีตัวเลือกมากมายสำหรับหน้าผลิตภัณฑ์:
บุ้งผลิตภัณฑ์เพียงอย่างเดียวจะลบส่วนที่เกินของ URL และปล่อยให้โดเมน + บุ้งผลิตภัณฑ์เท่านั้น
ตัวบุ้งผลิตภัณฑ์ที่มีชื่อหมวดหมู่จะสร้าง URL ผลิตภัณฑ์ที่ได้รับความนิยมสูงสุด: โดเมน + บุ้งหมวดหมู่ + บุ้งผลิตภัณฑ์
เส้นทางแบบเต็มทำงานในลักษณะเดียวกับตัวเลือก #2 โดยมีข้อยกเว้นหนึ่งข้อ – จะขยาย URL ด้วยกระสุนหมวดหมู่หลักหากหมวดหมู่ผลิตภัณฑ์ดั้งเดิมมี
ปลั๊กอินนี้ช่วยขจัดปัญหาการแบ่งหน้าและการกรอง ทำงานโดยไม่ขึ้นอยู่กับธีมของคุณ และปกป้องคุณจากผลที่ตามมาของโปรแกรมรวบรวมข้อมูลที่อาจเกิดขึ้น
สิ่งเดียวที่ควรระวังขณะเปลี่ยนลิงก์ถาวรคือ URL ที่ซ้ำกัน ตรวจสอบอีกครั้งว่าคุณไม่มีหน้าหรือประเภทโพสต์ที่มีทากเดียวกันกับหมวดหมู่หรือผลิตภัณฑ์ หากคุณพบบางตัว อย่าลืมเปลี่ยนทากเหล่านั้นให้มีลักษณะเฉพาะเพื่อหลีกเลี่ยงไม่ให้ซ้ำกัน
วิธีเพิ่มนามสกุลเช่น .html ให้กับ URL
สุจริตฉันไม่ทราบว่ามีประโยชน์หรือข้อบกพร่องใด ๆ ในการทำ SEO นี้ แต่มีคนถามหากันเยอะมาก เราจึงมองข้ามหัวข้อนี้ไปไม่ได้
อาจเป็นสาเหตุหลักที่คุณอาจมองหาวิธีแก้ปัญหานี้เพราะการ ย้ายจาก CMS อื่น หากคุณตัดสินใจย้ายจากแพลตฟอร์มอื่นไปยัง WooCommerce คุณอาจต้องการจำลอง URL เก่าของคุณ (เช่น URL ที่มี .html ต่อท้าย)
แน่นอน คุณสามารถใช้การเปลี่ยนเส้นทาง 301 เพื่อให้ทุกคนทราบเกี่ยวกับ URL ใหม่ของคุณ แต่เรามักจะสังเกตเห็นการลดลงของปริมาณการใช้ข้อมูลและตำแหน่ง SERP เล็กน้อยหลังจากกรอกเว็บไซต์ที่มีการเปลี่ยนเส้นทาง 301 จำนวนมากในบางครั้ง อาจไม่มีอะไรเกี่ยวข้องกับการเปลี่ยนเส้นทาง เพราะอย่างที่ Google บอก พวกเขาไม่ได้ลงโทษ PageRank สำหรับการใช้การเปลี่ยนเส้นทางอีกต่อไป
แต่เนื่องจากเหตุผลอื่นๆ ที่เกี่ยวข้องกับการย้ายเนื้อหา UI ใหม่ และโอกาสที่ลิงก์เสีย คุณอาจไม่ต้องการเสี่ยงและพยายามสร้าง URL เดิมที่คุณมีขึ้นใหม่
ลิงก์ถาวรที่กำหนดเองสำหรับ WooCommerce ให้โอกาสคุณในการเพิ่มส่วนขยายใดๆ ที่ส่วนท้าย URL ไม่ว่าจะเป็น .html, .php., .htm หรือสิ่งที่คุณต้องการ:
วิธีหลีกเลี่ยงปัญหา SEO หลังจากเปลี่ยนลิงก์ถาวร
ส่วนที่ยุ่งยากในการเปลี่ยน URL คือเนื้อหาที่ซ้ำกัน ข้อผิดพลาด 404 และการเปลี่ยนเส้นทาง
เมื่อคุณจัดการ URL บนเว็บไซต์ที่เพิ่งสร้างโดยไม่มีประวัติสำหรับโดเมน อันดับของหน้า และ URL ในดัชนีของ Google คุณจะไม่มีอะไรต้องกังวล คุณสามารถทำการทดลองและเลือกชุดค่าผสมของลิงก์ถาวรได้ตามต้องการ
แต่เมื่อพูดถึง การเปลี่ยนลิงก์ถาวรบนเว็บไซต์ที่มีประวัติและตำแหน่ง SERP ระดับสูง คุณควรตรวจสอบเสาหลักสี่เหล่านี้อย่างละเอียดถี่ถ้วน:
- มีเพจ โพสต์ การจัดหมวดหมู่ ประเภทโพสต์ที่กำหนดเอง หรือเอนทิตีที่เป็นไปได้อื่นๆ ที่มีกระสุนเดียวกัน กับหมวดหมู่หรือหน้าผลิตภัณฑ์หรือไม่ หากคุณพบบางตัว ให้ลองเปลี่ยนทากเป็นแบบพิเศษเพื่อหลีกเลี่ยงความขัดแย้ง
- ไปที่คอนโซลการค้นหาของ Google และตรวจสอบหน้าที่มีการตอบสนอง 404 หากคุณพบ ลิงก์เสีย คุณควรสแกนไฟล์ sitemap.xml เพื่อค้นหาลิงก์เหล่านั้นหรือหน้าเว็บไซต์อื่นๆ ซึ่งคุณสามารถวางลิงก์เก่าด้วยตนเองได้
- ในกรณีที่มีโอกาสพบ URL เก่าจากที่ใดที่หนึ่ง อย่าลืม ใส่แท็ก 'rel=canonical' ซึ่งเป็นสิ่งจำเป็นเพื่อให้โปรแกรมรวบรวมข้อมูลทราบว่าจะให้เครดิตกับเนื้อหาจากหน้าใด จากนั้น Google จะไม่ลงโทษคุณสำหรับการสร้างรายการที่ซ้ำกัน
- อย่าลืมเกี่ยวกับการเปลี่ยนเส้นทาง 301 ทุกครั้ง เป็นสิ่งสำคัญสำหรับผู้เยี่ยมชมเว็บไซต์และสำหรับโปรแกรมรวบรวมข้อมูล หลังจากที่คุณเปลี่ยนลิงก์ถาวรแล้ว ลิงก์เก่าจะไม่สามารถเข้าถึงได้อีกต่อไป ดังนั้นทุกคน รวมถึงโปรแกรมรวบรวมข้อมูล จะได้รับข้อผิดพลาด 404 ข้อผิดพลาดในการเข้าชมลิงก์เหล่านั้น หากคุณเปลี่ยนลิงก์ถาวรด้วยสคริปต์ ขอแนะนำให้ติดตั้งปลั๊กอินการเปลี่ยนเส้นทางเพื่อ จัดการการเปลี่ยนเส้นทาง
แต่คุณสามารถนอนหลับได้ดี: ลิงก์ถาวรที่กำหนดเองสำหรับ WooCommerce จะสร้างการเปลี่ยนเส้นทาง 301 และ 'rel=canonical' สำหรับ URL เก่าเมื่อคุณเปลี่ยนโครงสร้างลิงก์ถาวร และเมื่อใช้ร่วมกับปลั๊กอิน Yoast พวกเขาจะสร้างแผนผังเว็บไซต์ใหม่ในนามของคุณพร้อม URL ที่เหมาะสม
บทสรุป
WooCommerce เตือนเราเกี่ยวกับผลที่ตามมาของการเปลี่ยนแปลงลิงก์ถาวร – การชะลอตัวของเว็บไซต์และความขัดแย้งของ URL แต่เมื่อพิจารณาว่าคำกล่าวนั้นทำขึ้นเมื่อนานมาแล้ว และตั้งแต่นั้นมา พวกเขาได้ตรวจสอบปลั๊กอินระดับพรีเมียมนี้ซึ่งกำลังทำสิ่งนั้นอยู่พอดี บางที WooCommerce อาจเปลี่ยนใจในเรื่องลิงก์ถาวร
มันจะช่วย SEO ของคุณหรือไม่?
นั่นเป็นคำถามที่ซับซ้อนกว่า นักวิจัยบางคนตอบว่าใช่ ผู้เชี่ยวชาญ SEO บางคนแนะนำให้ลดจำนวนโฟลเดอร์ในเส้นทางไปยังผลิตภัณฑ์และหมวดหมู่ และออกแบบ URL ที่สั้นลง แต่ฉันปล่อยให้การตัดสินใจนี้ขึ้นอยู่กับคุณ ในที่สุดก็ไม่มีความจริงที่แน่นอนเมื่อพูดถึง SEO
และถ้าคุณเลือกที่จะยิง ทำอย่างไรให้ปลอดภัย?
หากคุณกำลังสร้างเว็บไซต์ใหม่ คุณสามารถเลือกวิธีการใดก็ได้ที่คุณต้องการ เพิ่มข้อมูลโค้ดหรือติดตั้งปลั๊กอิน ซึ่งทั้งสองวิธีดูเหมือนจะปลอดภัย อย่าลืมตรวจสอบว่าทุกอย่างอยู่ใน sitemap.xml หรือไม่ และมีความคิดเห็นใดๆ เกี่ยวกับคอนโซลการค้นหาของ Google หรือไม่
หากคุณพิจารณาการปรับเปลี่ยนลิงก์ถาวรบนไซต์ที่มีอยู่ เราขอแนะนำให้คุณใช้ปลั๊กอินที่ผ่านการตรวจสอบแล้ว คุณอาจไม่ต้องการล่อใจโชคชะตาและทำให้ลิงก์เสีย เนื้อหาซ้ำซ้อน หรือสร้างการวนซ้ำโดยไม่ได้ตั้งใจ
ปลั๊กอินสามารถครอบคลุมทุกความต้องการของคุณ และการสนับสนุนที่มีอยู่บน WooCommerce.com จะช่วยคุณจัดการกับปัญหาที่อาจเกิดขึ้น เนื่องจากลิงก์ถาวรมีความสำคัญสำหรับ SEO การถูกทิ้งให้อยู่ตามลำพังกับปัญหาดังกล่าวจึงเป็นฝันร้าย