WooCommerce: Cara Mengubah Struktur Permalink

Diterbitkan: 2021-09-28

Struktur permalink WooCommerce mungkin tampak tidak biasa bagi pendatang baru. Bagian /product/ dan /product-category/ dari URL tersebut adalah fitur khas yang terkenal, tetapi beberapa ahli tidak setuju bahwa ini adalah cara paling nyaman untuk menangani permalink dari segi SEO.

Pemikiran yang populer adalah selalu menjaga struktur URL sesederhana mungkin dan menghapus bagian yang tidak perlu. Anda tidak perlu mengambil kata dari para ahli atau saya karena pedoman resmi dari Google menyarankan untuk menghindari URL yang panjang dengan parameter yang tidak perlu.

Jadi, apa sebenarnya artinya itu bagi pembuat toko WooCommerce?

Pertama-tama, basis URL seperti /shop/ , /product-category/ dan /product/ dapat dianggap tidak perlu karena Google tahu cara mendefinisikan halaman toko dan produk tanpa perlu menentukannya di dalam URL.

Dan mungkin Anda tidak ingin membuat persepsi yang salah tentang kedalaman situs untuk perayap sehingga mereka tidak menilai laman tersebut lebih rendah dari yang seharusnya. Sekali lagi, aturan yang terkenal – halaman yang lebih dekat ke folder utama (domain) lebih berarti bagi mesin pencari.

Jika Anda setuju dengan pernyataan seperti itu, akan sangat membantu untuk memahami cara mendesain ulang struktur permalink di WooCommerce. Jadi baca dulu untuk mencari tahu tentang itu.

Apa struktur permalink WooCommerce default?

Mari kita lihat bagaimana permalink bekerja sekarang dan apa yang dapat kita lakukan untuk membuatnya lebih ramah pengguna.

Ada beberapa hal yang harus Anda pastikan untuk ditunjukkan saat membuat pengaturan tautan permanen:

  • basis kategori produk (yang secara default adalah /product-category/ )
  • basis tag produk ( /tag-produk/ secara default)
  • basis halaman produk (bisa /product/ , /shop/ atau basis kustom lainnya)

Anda tidak dapat mengosongkan opsi ini atau menggunakan ( /shop/ , misalnya) yang sama untuk kedua permalink. Produk, kategori, dan basis tag harus unik agar tidak menimbulkan konflik antara taksonomi, postingan, dan halaman.

Jadi, URL default untuk halaman toko mungkin sebagai berikut:

  • Untuk halaman kategori: site.com/ product-category /category-slug
  • Untuk halaman tag: site.com/ product-tag /tag-slug
  • Untuk halaman produk: site.com/ product /product-slug

Meskipun itu baik-baik saja untuk halaman tag (Anda mungkin memerlukan beberapa dasar untuk menentukan perbedaan antara kategori dan koleksi), mungkin berlebihan menggunakan basis tersebut untuk URL halaman kategori dan produk.

Mengapa mempertimbangkan untuk mengubah permalink default

Terkadang pengguna WooCommerce mendesak untuk menyingkirkan /product-category/ dan /product/ base atau memanipulasi struktur URL standar dengan cara lain. Itu terjadi karena dua alasan penting:

  • Mereka ingin melihat URL yang sederhana dan jelas , yang juga dapat mengambil manfaat dari sudut pandang SEO
  • Jika beralih dari CMS lain ke WP\Woo dan ingin mempertahankan struktur URL yang sama

Masih bisa diperdebatkan apakah menghapus bagian URL tersebut dapat meningkatkan hasil SEO Anda. Tapi itu alasan paling populer orang bahkan mempertimbangkan untuk merusak struktur permalink default WooCommerce.

Ada beberapa sumber terkemuka yang memberi tahu kami cara menyusun permalink dan mengapa URL yang lebih pendek lebih baik – Faktor peringkat mesin pencari Backlinko (poin #10), praktik terbaik Moz untuk penataan URL (poin #6 dan #11).

Jika Anda memulai situs web baru, aman untuk menjalankan eksperimen semacam itu dan melihat bagaimana hal itu membantu SEO Anda. Sedangkan mengubah permalink di situs web yang sudah mapan bisa menjadi urusan yang berisiko. Saya akan menjelaskan kekhawatiran saya lebih lanjut.

Sehubungan dengan mengubah permalink agar sesuai dengan URL situs web lama Anda, di sisi lain, itu tampaknya masuk akal dan memberi Anda lebih banyak peluang untuk tidak merusak rekam jejak SEO Anda.

Cara menghapus /product-category/ dan /product/ dari permalink WooCommerce

Metode berikut aman digunakan di situs web baru saat Anda tidak perlu bermain-main dengan pengalihan 301 agar pengguna dan perayap Anda mengetahui bahwa URL telah diubah.

Hal pertama yang perlu Anda lakukan adalah pergi ke Pengaturan WP> Permalinks dan gulir ke " Basis kategori produk " dan tulis "." (titik) sebagai basis kustom.

Kemudian, tempel cuplikan ini ke file functions.php Anda:

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;

});

Kemudian tambahkan filter untuk menghapus /product/ base dari URL halaman produk:

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 );

Cuplikan diambil dari diskusi StackOverflow ini dan tampaknya berfungsi dengan baik untuk sebagian besar pengguna kecuali untuk beberapa kasus:

  • URL tradisional akan merespons dengan kesalahan 404. Jadi, jika Anda telah mengindeks halaman tersebut sebelumnya, pastikan untuk membuat 301 redirect ke halaman yang sesuai.
  • Ini mungkin tidak berfungsi dengan pagination atau menyebabkan masalah dengan filter, tergantung pada tema dan plugin yang Anda gunakan.

Cara mengatur aturan permalinks lanjutan dengan Permalinks Kustom untuk WooCommerce

Meskipun WooCommerce dalam dokumentasi mereka memperingatkan kami tentang menghapus /product/ , /product-category/ , atau /shop/ dari URL, Anda dapat pergi dan mencari Permalinks Kustom untuk ekstensi WooCommerce di dalam pasar resmi mereka. Ini memberi Anda cara teraman untuk mengubah opsi tautan permanen default untuk kategori dan halaman produk.

Beberapa varian permalink untuk halaman kategori tersedia di sini:

Kategori slug saja berarti menghapus /product-category/ bagian dari semua URL, meninggalkan domain + slug kategori.

Jalur lengkap berarti menghapus /product-category/ dan menambahkan slug kategori induk (jika kategori memilikinya) sebelum slug kategori yang sesuai.

Ada juga beberapa pilihan untuk halaman produk:

Product slug sendiri akan menghapus bagian URL yang berlebihan dan hanya menyisakan domain + product slug saja.

Siput produk dengan nama kategori akan membuat versi paling populer dari URL produk: domain + siput kategori + siput produk .

Jalur lengkap bekerja dengan cara yang sama seperti opsi # 2 dengan satu pengecualian – ia memperluas URL dengan siput kategori induk jika kategori produk asli memilikinya.

Plugin ini menghilangkan masalah pagination dan penyaringan, ia beroperasi secara independen dari tema Anda dan mengamankan Anda dari kemungkinan konsekuensi yang dibuat perayap.

Satu-satunya hal yang harus diwaspadai saat mengubah permalink tersebut adalah URL duplikat. Periksa kembali apakah Anda tidak memiliki halaman atau jenis posting dengan slug yang sama dengan kategori atau produk. Jika Anda menemukan beberapa, pastikan untuk mengubah siput itu menjadi unik untuk menghindari duplikat.

Cara menambahkan ekstensi seperti .html ke URL

Sejujurnya, saya tidak tahu apakah ada manfaat atau kekurangan dari melakukan SEO-bijaksana ini. Tapi banyak orang yang menanyakan itu, jadi kita tidak bisa mengabaikan topik ini.

Mungkin alasan utama Anda mencari solusi untuk ini adalah migrasi dari CMS lain . Jika Anda memutuskan untuk pindah dari platform lain ke WooCommerce, Anda mungkin ingin mereplikasi URL lama Anda (mis. URL dengan .html di bagian akhir).

Tentu saja, Anda dapat menggunakan pengalihan 301 untuk memberi tahu semua orang tentang URL baru Anda, tetapi kami sering melihat penurunan kecil dalam lalu lintas dan posisi SERP setelah mengisi situs web dengan sekelompok pengalihan 301 untuk beberapa waktu. Mungkin itu tidak ada hubungannya dengan pengalihan itu sendiri karena, seperti yang dikatakan Google, mereka tidak menghukum PageRank karena menggunakan pengalihan lagi.

Tetapi karena alasan lain yang terkait dengan migrasi konten, UI baru, dan kemungkinan tautan rusak, Anda mungkin tidak ingin mengambil risiko dan mencoba membuat ulang URL yang sama dengan yang Anda miliki.

Permalinks Kustom untuk WooCommerce memberi Anda kesempatan untuk menambahkan ekstensi apa pun di akhir URL, apakah itu .html, .php., .htm, atau apa pun yang Anda butuhkan:

Bagaimana menghindari masalah SEO setelah mengubah permalink

Bagian rumit dari mengubah URL adalah duplikat konten, kesalahan 404, dan pengalihan.

Saat Anda memanipulasi URL di situs web yang baru dibuat tanpa rekam jejak untuk domain, peringkat halaman, dan URL di indeks Google, maka Anda tidak perlu khawatir. Anda dapat merasa bebas untuk melakukan eksperimen dan mengambil kombinasi tautan permanen apa pun yang Anda suka.

Tetapi ketika harus mengubah permalink di situs web dengan riwayat dan posisi SERP tingkat tinggi , Anda harus memeriksa ulang empat pilar ini dengan cermat:

  1. Apakah ada halaman, posting, taksonomi, jenis posting khusus, atau entitas lain yang mungkin dengan siput yang sama dengan kategori atau halaman produk? Jika Anda menemukan beberapa, pertimbangkan untuk mengubah siput menjadi yang unik untuk menghindari konflik.
  2. Buka konsol pencarian Google Anda dan periksa halaman dengan 404 tanggapan. Jika Anda menemukan beberapa tautan yang rusak , Anda harus memindai file sitemap.xml untuk mencari tautan tersebut atau halaman situs web lainnya, tempat Anda dapat menempatkan tautan lama secara manual.
  3. Jika ada kemungkinan URL lama masih dapat ditemukan di suatu tempat, pastikan untuk menyertakan tag 'rel=canonical' . Itu diperlukan untuk memberi tahu perayap halaman mana yang harus dikreditkan untuk konten, dan kemudian Google tidak akan menghukum Anda karena membuat duplikat.
  4. Jangan lupa tentang pengalihan 301 sama sekali. Ini penting untuk pengunjung situs web dan juga untuk perayap. Setelah Anda mengubah permalink, yang lama tidak akan dapat diakses lagi, jadi semua orang, termasuk perayap, akan mendapatkan 404 kesalahan saat mengunjunginya. Jika Anda mengubah permalinks dengan skrip, saya sarankan menginstal plugin Redirection untuk menangani redirects .

Tapi Anda bisa tidur nyenyak: Permalinks Kustom untuk WooCommerce akan membuat 301 redirect dan 'rel=canonical' untuk URL lama setelah Anda mengubah struktur permalink. Dan juga, bersama dengan plugin Yoast, mereka akan membuat peta situs baru atas nama Anda dengan URL yang sesuai di dalamnya.

Kesimpulan

WooCommerce memperingatkan kami tentang konsekuensi dari perubahan permalink – pelambatan situs web dan konflik URL. Tetapi mengingat bahwa pernyataan itu dibuat sejak lama, dan sejak itu, mereka memverifikasi plugin premium ini yang melakukan hal itu, mungkin WooCommerce berubah pikiran tentang masalah permalink.

Apakah ini akan membantu SEO Anda?

Nah, itu pertanyaan yang lebih kompleks. Beberapa peneliti mengatakan ya; beberapa pakar SEO merekomendasikan untuk mengurangi jumlah folder di jalur ke produk dan kategori dan merancang URL yang lebih pendek. Tapi saya serahkan keputusan ini kepada Anda. Akhirnya, tidak ada kebenaran mutlak dalam hal SEO.

Dan jika Anda memilih untuk mencobanya, bagaimana melakukannya dengan aman?

Jika Anda sedang membangun situs web baru, Anda dapat memilih metode apa pun yang Anda suka – menambahkan cuplikan kode atau memasang plugin, keduanya tampaknya aman. Jangan lupa untuk memeriksa apakah semuanya ada di sitemap.xml dan apakah ada komentar di sisi konsol pencarian Google.

Jika Anda mempertimbangkan manipulasi permalinks di situs yang ada, saya sangat menyarankan Anda menggunakan plugin terverifikasi. Anda mungkin tidak ingin mencobai nasib dan mengacaukan tautan yang rusak, duplikat konten, atau secara tidak sengaja membuat loop pengalihan.

Plugin ini dapat memenuhi semua kebutuhan Anda, dan dukungan yang tersedia di WooCommerce.com akan membantu Anda mengatasi potensi masalah. Karena permalink sangat penting untuk SEO, akan menjadi mimpi buruk untuk dibiarkan sendirian dengan masalah seperti itu.