Membuat navigasi SEO breadcrumb tanpa plugin di wordpress

Mengapa Kita Perlu Pasang Breadcrumb dan Apa Manfaatnya?

Breadcrumb merupakan sebuah navigasi pada website atau blog yang letaknya berada di dalam suatu page halaman yang menunjukkan dimana letak posisi artikel postingan yang dibaca saat ini. Breadcrumb berfungsi sebagai letak spesifik dimana si pembaca berada (alamat url). Breadcrumb adalah salah satu element penting dalam sebuah blog atau website, sehingga dapat meningkatkan kualitas seo (seo friendly) dari suatu website tersebut.

Dalam sebuah artikel mungkin Anda pernah menemukan contoh tampilan teks seperti dibawah ini:

Beranda > Artikel > Cara Membuat Breadcrumb

Tampilan teks diatas biasanya terletak tepat di atas judul artikel. itulah namanya Breadcrumb.

Oke sobat.., langsung saja, disini kami akan share kode breadcrumbs tanpa instalasi plugin yang ada di wordpress, Menurut penulis memasang breadcrumb tanpa pasang plugin ini lebih SEO dibanding cara lainnya. Sehingga kecepatan loading website terasa lebih ringan tanpa di bebani banyak plugin. Berikut langkah-langkah nya :

  1. Akses ke File Functions.php Theme WordPress Anda dan Copy-Paste Kode yang Sudah Disediakan

Membuat breadcrumb di WordPress sangat mudah. Pertama yang harus Anda lakukan, masuklah ke Dashboard WordPress Anda, klik Appearance => Editor. Di bagian Editor, silahkan klik functions.php. Silahkan copy kode di bawah ini dan letakkan di bagian paling bawah functions.php

Jika melalui control panel hosting ISPManager, anda cukup masuk ke File Explorer yang ada di hosting anda, lalu masuk ke Menu WWW => www-domain, atau lebih tepatnya masuk ke folder /www/domainanda .com/wp-content/themes

Silahkan Copy dan paste kode dibawah ini ke dalam functions.php

function get_hansel_and_gretel_breadcrumbs()

{

// Set variables for later use

$home_link        = home_url(‘/’);

$home_text        = __( ‘<i class=”fa fa-home pr-1″ aria-hidden=”true”></i>Home’ );

$link_before      = ‘<span class=”px-1″ typeof=”v:Breadcrumb”>’;$link_after       = ‘</span>’;

$link_attr        = ‘ rel=”v:url” property=”v:title”‘;

$link             = $link_before . ‘<a’ . $link_attr . ‘ href=”%1$s”>%2$s</a>’ . $link_after;

$delimiter        = ‘ &raquo; ‘;              // Delimiter between crumbs

$before           = ‘<span class=”current pl-1″>’; // Tag before the current crumb

$after            = ‘</span>’;                // Tag after the current crumb

$page_addon       = ”;                       // Adds the page number if the query is paged

$breadcrumb_trail = ”;

$category_links   = ”;

$wp_the_query   = $GLOBALS[‘wp_the_query’];

$queried_object = $wp_the_query->get_queried_object();

if ( is_singular() ) 

{

$post_object = sanitize_post( $queried_object );

$title          = apply_filters( ‘the_title’, $post_object->post_title );

$parent         = $post_object->post_parent;

$post_type      = $post_object->post_type;

$post_id        = $post_object->ID;

$post_link      = $before . $title . $after;

$parent_string  = ”;

$post_type_link = ”;

if ( ‘post’ === $post_type )  { $categories = get_the_category( $post_id ); if ( $categories ) {

$category  = $categories[0];

$category_links = get_category_parents( $category, true, $delimiter );

$category_links = str_replace( ‘<a’,   $link_before . ‘<a’ . $link_attr, $category_links );

$category_links = str_replace( ‘</a>’, ‘</a>’ . $link_after, $category_links );

} }

if ( !in_array( $post_type, [‘post’, ‘page’, ‘attachment’] ) ) {

$post_type_object = get_post_type_object( $post_type );

$archive_link     = esc_url( get_post_type_archive_link( $post_type ) );

$post_type_link   = sprintf( $link, $archive_link, $post_type_object->labels->singular_name );}

if ( 0 !== $parent ) { $parent_links = []; while ( $parent ) {

$post_parent = get_post( $parent );

$parent_links[] = sprintf( $link, esc_url( get_permalink( $post_parent->ID ) ), get_the_title( $post_parent->ID ) );

$parent = $post_parent->post_parent;}

$parent_links = array_reverse( $parent_links );

$parent_string = implode( $delimiter, $parent_links );

}

if ( $parent_string ) {$breadcrumb_trail = $parent_string . $delimiter . $post_link;} else {$breadcrumb_trail = $post_link;}

if ( $post_type_link )$breadcrumb_trail = $post_type_link . $delimiter . $breadcrumb_trail;

if ( $category_links )$breadcrumb_trail = $category_links . $breadcrumb_trail;}

if( is_archive() ) { if (is_category()) {

$term_object        = get_term( $queried_object );

$taxonomy           = $term_object->taxonomy;

$term_id            = $term_object->term_id;

$term_name          = $term_object->name;

$term_parent        = $term_object->parent;

$taxonomy_object    = get_taxonomy( $taxonomy );

$current_term_link  = $before . $taxonomy_object->labels->singular_name . ‘: ‘ . $term_name . $after;

$parent_term_string = ”;

if ( 0 !== $term_parent ){

$parent_term_links = [];

while ( $term_parent ) {

$term = get_term( $term_parent, $taxonomy );

$parent_term_links[] = sprintf( $link, esc_url( get_term_link( $term ) ), $term->name );

$term_parent = $term->parent;}

$parent_term_links  = array_reverse( $parent_term_links );

$parent_term_string = implode( $delimiter, $parent_term_links );}

if ( $parent_term_string ) {$breadcrumb_trail = $parent_term_string . $delimiter . $current_term_link;} else {$breadcrumb_trail = $current_term_link;}

} elseif ( is_author() ) {$breadcrumb_trail = __( ‘Author archive for ‘) .  $before . $queried_object->data->display_name . $after;

} elseif ( is_date() ) {

$year     = $wp_the_query->query_vars[‘year’];

$monthnum = $wp_the_query->query_vars[‘monthnum’];

$day      = $wp_the_query->query_vars[‘day’];

if ( $monthnum ) {

$date_time  = DateTime::createFromFormat( ‘!m’, $monthnum );

$month_name = $date_time->format( ‘F’ );}

if ( is_year() ) {$breadcrumb_trail = $before . $year . $after;

} elseif( is_month() ) {

$year_link        = sprintf( $link, esc_url( get_year_link( $year ) ), $year );

$breadcrumb_trail = $year_link . $delimiter . $before . $month_name . $after;

} elseif( is_day() ) {

$year_link        = sprintf( $link, esc_url( get_year_link( $year ) ),             $year       );

$month_link       = sprintf( $link, esc_url( get_month_link( $year, $monthnum ) ), $month_name );

$breadcrumb_trail = $year_link . $delimiter . $month_link . $delimiter . $before . $day . $after;

}

} elseif ( is_post_type_archive() ) {

$post_type        = $wp_the_query->query_vars[‘post_type’];

$post_type_object = get_post_type_object( $post_type );

$breadcrumb_trail = $before . $post_type_object->labels->singular_name . $after;

} }   

if ( is_search() ) {$breadcrumb_trail = __( ‘Search query for: ‘ ) . $before . get_search_query() . $after;}

if ( is_404() ) { $breadcrumb_trail = $before . __( ‘Error 404’ ) . $after; }

if ( is_paged() ) {  $current_page = get_query_var( ‘paged’ ) ? get_query_var( ‘paged’ ) : get_query_var( ‘page’ ); $page_addon   = $before . sprintf( __( ‘ ( Page %s )’ ), number_format_i18n( $current_page ) ) . $after; }

$breadcrumb_output_link  = ”;

$breadcrumb_output_link .= ‘<div class=”breadcrumb”>’;

if ( is_home() || is_front_page() ) { if ( is_paged() ) {$breadcrumb_output_link .= ‘<a class=”pr-1″  href=”‘ . $home_link . ‘”>’ . $home_text . ‘</a>’;$breadcrumb_output_link .= $page_addon;}

} else {

$breadcrumb_output_link .= ‘<a class=”pr-1″  href=”‘ . $home_link . ‘” rel=”v:url” property=”v:title”>’ . $home_text . ‘</a>’;

$breadcrumb_output_link .= $delimiter;

$breadcrumb_output_link .= $breadcrumb_trail;

$breadcrumb_output_link .= $page_addon;}

$breadcrumb_output_link .= ‘</div><!– .breadcrumbs –>’;

return $breadcrumb_output_link;}

2. Akses Content-Single.php atau Single.php atau Content.php atau Theme File Sejenisnya

Setelah Anda copy kode di atas di bagian paling bawah functions.php Anda,

maka selanjutnya anda buka file single.php atau file sejenis nya, kemudian paste kode di bawah ini tepat di bawah kode 

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> atau sejenisnya.

<?php echo get_hansel_and_gretel_breadcrumbs(); ?>

Dengan 2 langkah di atas anda sudah berhasil membuat breadcrumb navigasi pada website atau blog anda, cara manual seperti ini di percaya lebih SEO dibandingkan kita memasang plugin breadcrumb yang tersedia di wordpress.

Selamat mencoba dan semoga sukses

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.