Kako Automatski Optimizirati Slike za Web Shop Uz Pomoć Pythona
Ako vodite web shop, već znate koliko je brzina učitavanja stranice ključna za uspjeh.
Brža stranica znači zadovoljnije korisnike, bolju SEO poziciju i, naravno, više prodaje. Jedan od ključnih koraka u optimizaciji brzine je pravilna optimizacija slika, a .webp format je tu neprikosnoveni prvak.
U ovom vodiču pokazat ću vam kako automatizirati proces optimizacije slika.
Skripta će resizeati slike na 1000x1000 piksela, komprimirati ih tako da zadrže kvalitetu, a zatim ih pretvoriti u .webp format, koji je posebno prilagođen za brzi web.
Zašto koristiti .webp format?
.webp je Googleov format slika dizajniran za web.
Njegove prednosti su:
Manja veličina datoteke: Slike su do 30% manje od JPEG-a ili PNG-a uz istu kvalitetu.
Brže učitavanje: Manje datoteke znače brže učitavanje stranice.
Podrška za transparentnost i animacije: Poput PNG-a i GIF-a, ali optimiziranije.
Skripta za optimizaciju slika
Skripta koju ćemo koristiti obrađuje slike posebno prilagođene za proizvode (1:1 omjer) i automatski ih priprema za korištenje na web shopu.
Koraci:
Resizea sliku na 1000x1000 piksela.
Komprimira sliku kako bi zadržala vizualnu kvalitetu.
Pretvara sliku u .webp format.
Potrebni alati
Prije nego počnemo, osigurajte da imate instalirane sljedeće alate:
Python: Instalirajte Python 3.8 ili noviju verziju s python.org.
Knjižnice: Instalirajte potrebne knjižnice s:
pip install pillow
Kod za optimizaciju slika
from PIL import Image
import os
from pathlib import Path
def optimize_image(input_folder):
# Kreiraj izlaznu mapu
output_folder = os.path.join(input_folder, "optimized")
os.makedirs(output_folder, exist_ok=True)
# Procesiranje svake slike u mapi
for filename in os.listdir(input_folder):
if Path(filename).suffix.lower() in ['.jpg', '.jpeg', '.png']:
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, f"{Path(filename).stem}.webp")
try:
print(f"Obrađujem: {filename}...")
# Otvori sliku
with Image.open(input_path) as img:
# Provjeri je li omjer slike 1:1
if img.size[0] != img.size[1]:
print(f"Preskačem {filename}: nije 1:1 format.")
continue
# Resizeaj sliku na 1000x1000 piksela
img_resized = img.resize((1000, 1000))
# Spremi sliku u .webp format s kompresijom
img_resized.save(output_path, "WEBP", quality=85)
print(f"Spremljena optimizirana slika: {output_path}")
except Exception as e:
print(f"Greška pri obradi {filename}: {e}")
if __name__ == "__main__":
# Unesite put do mape sa slikama
input_folder = input("Unesite put do mape sa slikama: ").strip()
if not os.path.exists(input_folder):
print("Greška: Mapa ne postoji!")
else:
optimize_image(input_folder)
print("\nOptimizacija slika je završena! Provjerite 'optimized' mapu.")
Kako pokrenuti skriptu?
Pripremite slike: Stavite sve slike proizvoda u jednu mapu.
Pokrenite skriptu: Unesite put do mape kad vas skripta pita.
Provjerite rezultate: Optimizirane slike nalazit će se u mapi optimized.
Što je važno napomenuti?
Format slike: Skripta radi samo s 1:1 slikama (kvadratni format). Za ostale omjere, trebate dodatne prilagodbe.
Kvaliteta: Kompresija je postavljena na quality=85, što balansira kvalitetu i veličinu. Ako trebate još manju veličinu, možete smanjiti taj broj, ali pazite na vizualni izgled.
Prednosti automatizacije
Ova skripta štedi sate rada i omogućava vam da brzo optimizirate sve slike za svoj web shop.
Brzina učitavanja stranica je ključna, a uz .webp format vaša stranica neće samo izgledati profesionalno, već će raditi brže od konkurencije. 🚀
Goran Peremin
With over 10 years of experience in the field, Goran has worked on a wide range of projects, including performance marketing for eCommerce, SEO, design thinking, UX design, graphic design, social media management, and influencer marketing. It’s safe to say that Goran is a master of many skills, each more refined than the last.
Goran holds great responsibility in shaping and executing all kinds of digital marketing strategies.
From the high peaks of content marketing to the deep caves of SEO, PPC, email, and social media, he navigates them all. He leads Bima’s digital presence, always vigilant in measuring and reporting on the performance of all digital marketing campaigns. Indeed, he ensures they achieve their goals, both ROI and KPI, lest he incur the wrath of the marketing gods.
Goran, a Growth Marketer with a keen eye for trends and insights, tirelessly optimizes his costs and performance based on such findings.
He is a true brainstorming wizard, effortlessly conjuring up new and creative growth strategies, boldly running experiments and conversion tests to uncover the most effective paths to digital marketing success.