Cara menambahkan WordPress meta description dalam head
Cara menambahkan WordPress meta description dalam theme Newspaper Tagdiv

- Fauzan My
- 4 min read

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 fungsiinsert_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 nilaiget_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 fungsiinsert_meta_desc
tadi harus dirender dalam bagianwp_head
yang berada di<head></head>
sebuah berkas HTML. Sedangkan nilai1
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.