Witam! Dzisiaj chcę Ci pokazać coś naprawdę extra. To jest skrypt, który pomaga optymalizować wiele obrazów i gifów jednocześnie. No dobrze, wiem, wiem, może to nie brzmi jak coś ekscytującego dla wszystkich, ale wierz mi, jest to klucz do poprawy SEO Twojej strony, a także doświadczenia użytkowników. Czy kiedykolwiek odwiedziłeś witrynę, na której zdjęcia znacząco wydłużały czas jej ładowania? No właśnie. Teraz zrozumiesz, dlaczego to jest takie ważne.

Na czym polega optymalizacja plików graficznych? Omówienie i konfiguracja

Optymalizacja plików graficznych polega na dostosowywaniu ich rozmiaru, formatu i jakości w celu zmniejszenia ich wielkości pliku bez znaczącej utraty jakości. Dzięki temu strony internetowe ładują się szybciej, co poprawia doświadczenie użytkownika i może wpłynąć na pozycjonowanie w wyszukiwarkach.

Zatem przejdźmy do kodu. Używamy Pythona, ponieważ jest to język, który jest łatwy do zrozumienia i ma wiele użytecznych bibliotek. Zanim zaczniesz korzystać ze skryptu, musisz sprawdzić, czy na Twoim komputerze poprawnie działa środowisko Pythona. Jeżeli jeszcze nie miałeś do czynienia z instalacją i konfiguracją, zalecam zapoznanie się z tymi przewodnikami – instalacja na Windows oraz na MacOS – pamiętaj tylko, aby to była wersja od 3 w górę.

W tym przypadku używamy bibliotek os, PIL (Pillow) i moviepy.

import os
from PIL import Image
import moviepy.editor as mp

Aby je zainstalować, wpisz w terminalu poniższe komendy (biblioteka OS nie wymaga osobnej instalacji):

pip install pillow
pip install moviepy

Teraz przejdziemy do konfiguracji skryptu

Skrypt zaczyna od określenia, w którym folderze są pliki, które chcemy optymalizować (input_dir) oraz gdzie chcemy je zapisać (output_dir). Tutaj podaj nazwę bądź ścieżkę do folderu.

input_dir = "images_to_optimize"  
output_dir = "optimized_images"  

Następnie definiujemy, które formaty plików chcemy obsłużyć. W tym przypadku mamy jpeg, png, jpg dla obrazów i gif dla animacji.

supported_image_formats = ["jpeg", "png", "jpg"]
supported_video_formats = ["gif"]

Teraz wchodzimy w sedno. Skrypt przechodzi przez wszystkie pliki w folderze wejściowym. Dla każdego pliku sprawdza, czy jego rozszerzenie jest na liście obsługiwanych formatów. Jeśli tak, otwiera plik, a następnie zapisuje go w nowym formacie – webp dla obrazów i webm dla filmów. Dlaczego te formaty? Są to formaty preferowane przez Google, a jak wszyscy wiemy, co Google lubi, SEO też lubi!

for filename in os.listdir(input_dir):
    if filename.split(".")[-1].lower() in supported_image_formats:
        img = Image.open(os.path.join(input_dir, filename))
        webp_img_path = os.path.join(output_dir, f'{filename.split(".")[0]}.webp')
        img.save(webp_img_path, "webp", quality=80)
    elif filename.split(".")[-1].lower() in supported_video_formats:
        clip = mp.VideoFileClip(os.path.join(input_dir, filename))
        webm_vid_path = os.path.join(output_dir, f'{filename.split(".")[0]}.webm')
        clip.write_videofile(webm_vid_path)

W przypadku obrazów, zoptymalizowujemy je, ustawiając jakość na 80, aby uzyskać odpowiedni kompromis między jakością a rozmiarem pliku.

Na końcu, skrypt informuje nas, że konwersja zakończyła się. Fajnie, prawda?

print("Konwersja zakończona.")

Pamiętaj, że aby uruchomić skrypt, musisz go otworzyć w terminalu, przejść do katalogu, w którym znajduje się skrypt, i wpisać:

python nazwa_skryptu.py

Cały kod

import os
from PIL import Image
import moviepy.editor as mp

input_dir = "images_to_optimize"  # ścieżka do folderu, z którego pobierane są obrazy
output_dir = "optimized_images"  # ścieżka do folderu, do którego zapisywane są skonwertowane obrazy

supported_image_formats = [
    "jpeg",
    "png",
    "jpg",
]  # formaty obrazów, które chcemy konwertować
supported_video_formats = ["gif"]  # formaty filmów, które chcemy konwertować

for filename in os.listdir(input_dir):
    if filename.split(".")[-1].lower() in supported_image_formats:
        img = Image.open(os.path.join(input_dir, filename))
        webp_img_path = os.path.join(output_dir, f'{filename.split(".")[0]}.webp')
        img.save(
            webp_img_path, "webp", quality=80
        )  # ustawiamy jakość na 80, co może zoptymalizować obraz
    elif filename.split(".")[-1].lower() in supported_video_formats:
        clip = mp.VideoFileClip(os.path.join(input_dir, filename))
        webm_vid_path = os.path.join(output_dir, f'{filename.split(".")[0]}.webm')
        clip.write_videofile(webm_vid_path)

print("Konwersja zakończona.")

Więc oto on! Prosty skrypt do optymalizacji zdjęć i grafik na stronę internetową, który może znacząco wpłynąć na SEO i poprawić doświadczenie użytkowników. Ale…

Dlaczego to jest takie ważne?

Zacznijmy od podstaw – czym jest SEO, czyli Search Engine Optimization, i jak optymalizacja obrazów wpływa na pozycjonowanie stron. Jest to proces optymalizacji strony internetowej, aby “podobała się” wyszukiwarkom, takim jak Google. Jednym z czynników, na które Google zwraca uwagę, jest szybkość ładowania strony. Im dłużej strona się ładuje, tym niżej jest w rankingach wyszukiwania. A jednym z głównych winowajców wolnych stron są… tak, zgadłeś, obrazy i filmy.

Więc jeśli masz na stronie dużo obrazów i filmów, konwersja ich do formatów webp i webm może znacznie poprawić szybkość ładowania strony. I to przekłada się na lepsze pozycje w wynikach wyszukiwania. A to oznacza więcej ruchu na stronie, a więc potencjalnie więcej klientów lub czytelników.

Ale to nie wszystko. Szybkość ładowania strony wpływa też na doświadczenie użytkowników. Wiemy, że użytkownicy są niecierpliwi. Jeśli strona ładuje się zbyt długo, po prostu odchodzą. Więc optymalizacja obrazów i filmów nie tylko poprawia SEO, ale także zadowolenie użytkowników.

Podsumowanie

Mam nadzieję, że teraz widzisz, jak ten prosty skrypt może przynieść realne korzyści dla Twojej strony. Więc daj mu szansę! To nie jest trudne. Wystarczy skopiować skrypt, zainstalować odpowiednie paczki, dostosować ścieżki do folderów i obsługiwane formaty, a potem po prostu go uruchomić. A jeśli napotkasz jakiekolwiek problemy, daj mi znać. Chętnie Ci pomogę. Bo przecież o to w tym wszystkim chodzi, prawda? Abyśmy wszyscy mogli stworzyć lepszy, szybszy i przyjemniejszy dla użytkownika Internet.

Poza tym wszystkim, zachęcam do przeczytania artykułu o analizie trendów dla słów kluczowych za pomocą Google Trends.

Podobne artykuły