Bash Script untuk Mengekstrak Seluruh URL Produk Woocommerce

Salah seorang rekan menanyakan apakah bisa seluruh produk yg telah dipublish di web woocommercenya diekstrak dan disimpan dalam sebuah file? Mengingat kalo mau dibuka satu per satu di browser dan copy url nya tentu tidak mungkin karena ada sekitar 10 ribu produk lebih.

OK, jadi ada cara cepat untuk keperluan di atas, hanya butuh hitungan menit maka semua produk akan tercopy url nya dalam sebuah file. Yaitu menggunakan sebuah script. Supaya bash script ini dapat dijalankan, kita perlu tahu dulu dua hal yaitu:

  • Consumer key
  • Consumer secret

Untuk mendapatkannya bisa login admin dahulu ke dashboard web woocommerce yg ingin di-fetching semua url produknya. Tepatnya di bagian Woocommerce > Settings > Advance > Rest API. Kalo belum ada langsung add key saja. Isikan yg perlu diisi lalu klik generate. Nanti key dan secret akan tertera dan bisa dicopy untuk dimasukkan saat mengeksekusi bash script di bawah ini.

#!/bin/bash

# Prompt for WooCommerce store details
read -p "Enter WooCommerce store URL (e.g., https://servers.id): " STORE_URL
read -p "Enter WooCommerce Consumer Key: " CONSUMER_KEY
read -p "Enter WooCommerce Consumer Secret: " CONSUMER_SECRET

# File to save the product URLs
OUTPUT_FILE="product_urls.txt"

# Function to fetch products
fetch_product_urls() {
    page=1
    per_page=100
    > "$OUTPUT_FILE"  # Clear the output file if it exists
    while true; do
        response=$(curl -s -X GET "$STORE_URL/wp-json/wc/v3/products?page=$page&per_page=$per_page" \
            -u "$CONSUMER_KEY:$CONSUMER_SECRET")
        
        products=$(echo "$response" | jq '. | length')
        if [[ $products -eq 0 ]]; then
            break
        fi
        
        echo "$response" | jq -r '.[] | .permalink' >> "$OUTPUT_FILE"
        
        ((page++))
    done
}

# Fetch and save product URLs
fetch_product_urls

echo "Product URLs have been saved to $OUTPUT_FILE"

Save file tsb misalnya saja di /usr/bin/wooproduk kemudian chmod +x file tsb. Kalo udah maka bisa segera dijalankan dengan mengetik command wooproduk. Selanjutnya script ini akan meminta anda untuk mengisi URL woocommerce, consumer key dan secret sebelum diproses.

File outputnya nanti adalah product_urls.txt dan bisa diliat dengan command cat atau didownload ke komputer dan lain sebagainya.

Sedang cari VPS terbaik untuk project Anda?? Klik di sini!

LEAVE A REPLY

Please enter your comment!
Please enter your name here