Cara menambahkan WordPress meta description dalam head

Cara menambahkan WordPress meta description dalam theme Newspaper Tagdiv

Secara default, sistem WP dan theme Newspapper tidak menambah meta description dalam head wp theme buatan TagDiv. Padahal tag meta description sangat menentukan SEO.

Kalau begitu theme Newspaper Tagdiv tidak SEO dong?

Tidak juga, tapi menuruti selera pengguna WordPress self hosted yang selalu bergantung pada Plugin yoast SEO untuk masalah SEO, terutama untuk menggenerate <meta name="description" content="Your SEO description with main keyword" /> dalam page HTML.

Nah… Supaya tidak double auto generate meta description dalam head theme, developer theme Newspaper Tagdiv menghilangkan script itu dalam theme buatan mereka.

Terus, kalau tidak menggunakan plugin yoast SEO, bagaimana cara menambahkan script meta deskription tampa plugin?

Ada banyak cara untuk add meta descripsi dalam theme wordpress, Berikut ‘super simple code’ yang saya pakai dalam website berbasis WordPress, theme Newspaper.

function insert_meta_desc() {
	$site_description = get_bloginfo('description');
	$single_description = get_the_excerpt();
	if ( is_single() ) {
	echo '<meta name="description" content="' . $single_description . '" />';
	} else { 
		echo '<meta name="description" content="' . $site_description . '" />';
	}
}
add_action('wp_head', 'insert_meta_desc', 1);

Insert code tersebut dalam file function.php theme wordpress kamu.

Save. Selesai.

Penjelasan kode?

  • Baris code function insert_meta_desc() {} untuk membuat sebuah function di php dengan nama fungsi insert_meta_desc(). Penamaan nama fungsi ini boleh apa saja, termasuk nama mantanmu, pokoknya terserah kita, asal sesuai dengan kaidah pemograman PHP.
  • Baris kode $site_description = get_bloginfo('description'); meciptakan sebuah variable baru terserah kita yang bernama $site_description. Tugas si variable tersebut untuk menampung nilai get_bloginfo('description') sintak khusus sytem Wordpress yang berisi nilai inputan ’tagline dalam kolom setting site’.
  • Bais kode $single_description = get_the_excerpt(); menciptakan sebuah variable baru lagi yang akan menampung value dari meta descripsi yang di imput dari dalam kolom excerpt.
  • Menambahkan sebuah kondisi if ( is_single() ) { echo '<meta name="description" content="' . $single_description . '" />'; } jika berada di halaman single, maka ceta meta deskripsi berdasarkan isi halaman posting
  • Dan jika berada pada halaman utama /home else { echo '<meta name="description" content="' . $site_description . '" />';} tampilkan meta descrisi dari nilai variable tagline situs.
  • Baris terakhir add_action('wp_head', 'insert_meta_desc', 1); memerintahkan ke system WP, bahwa sebuah fungsi insert_meta_desc tadi harus dirender dalam bagian wp_head yang berada di <head></head> sebuah berkas HTML. Sedangkan nilai 1 urutan baris yang akan dicetak lebih dulu. Angka ini opsional, boleh ada boleh tidak, tergantung di baris keberapa meta tersebut dicetak.

Simple saja, tapi ada syarat satu lagi harus terpenuhi agar script tersebut bekerja dengan baik.

Apa itu?

Insert secara manual meta descripsi pada kolom Excerpt di bawah halaman posting artikel, panjang meta descripsi tidak lebih 160 karakter.

Kalau kolom excerpt kosong, maka akan ditampilkan excertp secara defaul berjumlam 55 kata. Ini kurang bagus untuk SEO.

Kok tambah ribet?

Tidaklah, justru kolom Excerpt itu wajib diisi, karena kolom tersebut bawaan system wordpress, sayang kan kalau tidak diisi.

Memamfaatkan suber daya yang ada itu lebih bagus. Menambah-nambah plugin itu yang kurang bagus.

Pengembangan code lebih lanjut.

function insert_meta_desc() {
	$site_description = get_bloginfo('description');
	$single_description = get_the_excerpt();
	$single_description = strip_shortcodes($single_description);
	if ( is_single() ) {
	echo '<meta name="description" content="' . wp_trim_words( $single_description , '22' ) . '" />';
	} else { 
		echo '<meta name="description" content="' . $site_description . '" />';
		echo '<meta property="og:image" content="your-link-images" />';
	}
}
add_action('wp_head', 'insert_meta_desc', 2);

Function wp_trim_words() berfungsi untuk memangkas jumlah string dari variable $single_description, '22' yag seara default berjumlah 55 kata menjadi 22 kata saja.

Jumlah 22 kata kira-kira akan menghasilkan kurang lebih 140-180 karakter.

Cara 3, pengembangan lanjutan

function insert_meta_desc(){

	if( is_home() || is_front_page() ){
		$site_desc = get_bloginfo('description');
		echo '<meta name="description" content="' . $site_desc . '" />';
		echo '<meta property="og:image" content="https://www.pikiranmerdeka.co/wp-content/uploads/2018/03/Epaper-Pikiran-Merdeka-Edisi-204.jpg" />';
	}

	if( is_single() ){
		$single_desc = get_the_excerpt();
		if( has_excerpt()  ){
			echo '<meta name="description" content="' . $single_desc . '" />';
		} else {

    $single_desc = strip_shortcodes($single_desc);
    $single_desc = str_replace(array("\n", "\r", "\t"), ' ', $single_desc);
    $single_desc = wp_trim_words($single_desc, 22);
			echo '<meta name="description" content="' . $single_desc . '" />';
		}
	}
}

add_action( 'wp_head', 'insert_meta_desc', 2 );

Kalau memangkas berdasarkan jumlah karakter, gunakan fungsi substr($variable, 0, 0).

Jadi, baris kode $single_desc = wp_trim_words($single_desc, 22); dengan $single_desc = substr($single_desc, 0, 200);.

Demikian.

comments powered by Disqus
Fauzan My avatar

Ditulis oleh Fauzan My

Saya terobsesi dengan seni desain yang elegan dan sederhana, baik yang melibatkan proses kreatif rumit maupun yang sederhana. Di sini, saya menggabungkan keduanya, desain dan coding: mencari best practice.

Tulisan lainnya Fauzan My

Ilustrasi composer matrix style.
Tutorial Cara Install Composer Secara Visual di macOS
Gambar oprimasi mesin pencari.
Menggali Lebih Dalam tentang Skema Microdata untuk SEO
Twitter Icon X di layar smartphone.
Icon Twitter X SVG Bootstrap

Related Post