Cara Membuat Plugin WordPress untuk Menambahkan Atribut Alt dan Deskripsi Media Gambar Secara Masal

Gambar 1342. Salah satu cara untuk meningkatkan SEO gambar adalah dengan menambahkan atribut alt dan deskripsi gambar secara lengkap dan relevan.

Pengoptimalan SEO pada gambar adalah aspek penting dalam menjaga kualitas situs web, terutama untuk memastikan gambar dapat diindeks dengan baik oleh mesin pencari. Salah satu cara untuk meningkatkan SEO gambar adalah dengan menambahkan atribut alt dan deskripsi gambar secara lengkap dan relevan.

Pada tutorial kali ini, kita akan membahas bagaimana cara membuat plugin WordPress yang dapat membantu Anda menambahkan atribut alt dan deskripsi gambar secara massal. Plugin ini akan secara otomatis menganalisa dan menghasilkan template untuk setiap gambar yang belum memiliki atribut tersebut.

Persiapan Awal

Sebelum mulai membuat plugin, Anda harus memastikan bahwa WordPress Anda sudah terpasang dan dapat mengakses folder plugin. Plugin ini akan melibatkan pemrograman PHP, dan diharapkan Anda memiliki pengetahuan dasar tentang pengembangan plugin WordPress.

Struktur Dasar Plugin

Mulailah dengan membuat folder untuk plugin Anda di dalam direktori wp-content/plugins. Misalnya, buat folder dengan nama bulk-media-alt-description.

Kemudian, buat file utama plugin dengan nama bulk-media-alt-description.php di dalam folder tersebut. Berikut adalah struktur dasar dari plugin:

<?php
/**
 * Plugin Name: Bulk Media Alt and Description Generator
 * Description: Plugin untuk menambahkan atribut alt dan deskripsi gambar secara massal berdasarkan analisis konten.
 * Version: 1.0
 * Author: Nama Anda
 */

// Jangan biarkan file ini dieksekusi langsung.
if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit jika diakses langsung
}

// Hook untuk menambahkan menu ke admin dashboard
function bm_add_menu() {
    add_menu_page(
        'Bulk Media Generator', 
        'Bulk Media Generator', 
        'manage_options', 
        'bulk-media-alt-description', 
        'bm_generate_alt_and_description_page', 
        'dashicons-image-filter', 
        20
    );
}
add_action( 'admin_menu', 'bm_add_menu' );

// Halaman untuk konfigurasi plugin
function bm_generate_alt_and_description_page() {
    ?>
    <div class="wrap">
        <h2>Bulk Media Alt and Description Generator</h2>
        <form method="post">
            <input type="submit" name="bm_generate" class="button-primary" value="Generate Alt & Description"/>
        </form>
        <?php
        if ( isset( $_POST['bm_generate'] ) ) {
            bm_generate_alt_and_description();
        }
        ?>
    </div>
    <?php
}

// Fungsi untuk menghasilkan alt dan deskripsi secara massal
function bm_generate_alt_and_description() {
    // Ambil data dari judul halaman, post, dan blog
    $site_title = get_bloginfo( 'name' );
    $posts = get_posts( array( 'posts_per_page' => -1, 'post_status' => 'publish' ) );
    $pages = get_pages( array( 'post_status' => 'publish' ) );

    $content_titles = array();
    $content_titles[] = $site_title;
    
    foreach ( $posts as $post ) {
        $content_titles[] = get_the_title( $post );
    }
    
    foreach ( $pages as $page ) {
        $content_titles[] = get_the_title( $page );
    }

    // Generate templates untuk alt dan deskripsi
    $templates = bm_generate_templates( $content_titles );

    // Cari semua media gambar yang belum memiliki atribut alt atau deskripsi
    $media_query = new WP_Query( array( 'post_type' => 'attachment', 'posts_per_page' => -1 ) );
    foreach ( $media_query->posts as $media ) {
        $alt_text = get_post_meta( $media->ID, '_wp_attachment_image_alt', true );
        $description = get_post_meta( $media->ID, '_wp_attachment_post_excerpt', true );

        if ( empty( $alt_text ) ) {
            // Generate alt secara acak berdasarkan template
            $random_alt = bm_generate_random_text( $templates['alt_templates'] );
            update_post_meta( $media->ID, '_wp_attachment_image_alt', $random_alt );
        }

        if ( empty( $description ) ) {
            // Generate deskripsi berdasarkan template
            $random_description = bm_generate_random_text( $templates['description_templates'] );
            update_post_meta( $media->ID, '_wp_attachment_post_excerpt', $random_description );
        }
    }

    echo '<div class="updated"><p>Alt dan deskripsi media gambar telah diperbarui!</p></div>';
}

// Fungsi untuk menghasilkan template
function bm_generate_templates( $content_titles ) {
    $alt_templates = array();
    $description_templates = array();

    foreach ( $content_titles as $title ) {
        $alt_templates[] = 'Gambar terkait dengan ' . $title;
        $description_templates[] = 'Deskripsi gambar untuk ' . $title . ' dengan gambar yang relevan';
    }

    return array(
        'alt_templates' => $alt_templates,
        'description_templates' => $description_templates
    );
}

// Fungsi untuk menghasilkan teks acak dari template
function bm_generate_random_text( $templates ) {
    $random_template = $templates[array_rand($templates)];
    return $random_template;
}
?>

Penjelasan Kode

Halaman Pengaturan Plugin

Fungsi bm_generate_alt_and_description_page() akan membuat halaman di dashboard WordPress yang memungkinkan pengguna mengklik tombol untuk memulai proses pengisian atribut alt dan deskripsi gambar secara massal.

Menganalisa Konten

Fungsi bm_generate_alt_and_description() menganalisis judul situs, semua halaman, dan semua postingan yang telah diterbitkan untuk menghasilkan template berdasarkan judul-judul tersebut.

Menghasilkan Atribut Alt dan Deskripsi

Berdasarkan template yang dihasilkan, plugin ini kemudian akan memeriksa setiap gambar media (attachment) yang ada di WordPress dan memeriksa apakah atribut alt dan deskripsi sudah diisi. Jika belum, plugin akan mengisi atribut tersebut secara acak menggunakan template yang telah dihasilkan.

Generate Template

Fungsi bm_generate_templates() akan membuat beberapa template yang dapat digunakan untuk atribut alt dan deskripsi. Setiap template akan disesuaikan dengan judul yang ditemukan selama analisis.

Generate Teks Acak

Fungsi bm_generate_random_text() memilih secara acak sebuah template dan menggantinya sebagai alt atau deskripsi gambar.

Pengujian Plugin

Setelah Anda selesai menulis kode, aktifkan plugin Anda melalui dashboard WordPress. Pergi ke menu Bulk Media Generator yang muncul di sidebar admin dan klik tombol untuk memulai proses pembuatan atribut alt dan deskripsi untuk semua gambar media yang belum memiliki atribut tersebut.

Kesimpulan

Plugin ini memungkinkan Anda untuk melakukan pembaruan atribut alt dan deskripsi gambar secara massal, yang sangat membantu untuk pengelolaan SEO media di WordPress. Dengan menggabungkan analisis konten dan pembuatan template, plugin ini dapat mempercepat proses pengoptimalan gambar di situs Anda.

Post Terkait
Author

Administrator

07 Januari 2025

Hey..... Apa kabar? Semua artikel dan layanan yang kami sediakan di sini semata-mata untuk kepentingan pengguna dan klien. Jadi jika Anda merasa membutuhkan pelayanan kami silahkan jangan ragu untuk menghubungi. Kami juga bersedia untuk melayani konsultasi online melalui media sosial, melalui komentar dan melalui halaman testimonial yang telah kami sediakan. Selain itu Anda juga dapat menggunakan kontak form yang tersedia.

Jika apa yang anda dapatkan dari situs ini bermanfaat, silahkan dukung dengan like dan share . Terimakasih telah berkunjung, silahkan kembali kapanpun anda merasa membutuhkan layanan yang kami sediakan.

Status Akun Iklan 11 Juni 2024

Saya sampaikan bahwa status akun iklan sudah saya cek dan saya kelola. Sehingga pagi ini siap untuk di jalankan.

Abaikan notifikasi/tanda yang ada; Dibatasi anggaran, merah, kuning, apapun itu mohon di abaikan. Saya sudah pertimbangkan dan sesuaikan di masing-masing akun. Pagi ini, pukul 04.45 WIB saya baru selesai periksa dan setting semua akun. Sehingga tidak ada lagi yang perlu di tanyakan. Silahkan jalankan iklan.
Ingin berbagi dengan multibisnisindo dan memberikan kontribusi....? Tulis pengalamanmu Di Sini

Terimakasih
JOPanda

Tidak ada komentar terkait posting ini, Ingin memberi komentar?