Kilka dni temu napisałem artykuł o wtyczce Remove Unused Media, czyli relatywnie kosztownym lekarstwie, na realny problem wielu stron (nie tylko) na WordPressie. Wspomniałem w nim o jeszcze jednej wtyczce, a mianowicie PRyC WP: Sanitize file name (when upload). I przy tej okazji uświadomiłem sobie, że na Webinsider.pl nie pojawił się jeszcze artykuł o jednej z niewielu wtyczek, z której korzystam właściwie na każdej stronie (oczywiście znajduje się również w moim pakiecie StartWP).

Czyszczenie nazw wgrywanych plików w WordPressie

Choć sam raczej przestrzegam pewnych zasad związanych z nazywaniem plików wrzucanych na stronę internetową, to w przypadku niektórych współpracowników czy klientów było to niczym rzucanie grochem o ścianę. Dlatego w pewnym momencie postanowiłem zadziałać systemowo i dlatego na stronach, którymi się opiekuję instaluję wtyczkę PRyC WP: Sanitize file name (when upload).

Choć wtyczka nie powstrzyma nikogo przed wrzuceniem na stronę pliku o jakże wymownej nazwie „DSC01234.JPG”, to kilka najczęściej spotykanych „elementów” jest w stanie wyeliminować:

  • Skasowanie wszystkich znaków spoza „podstawowego ASCII” (żółw -> zolw)
  • Zamiana wszystkich liter na małe (majuskuły na minuskuły, czyli DSC01234.JPG -> dsc01234.jpg)
  • Usuwanie połączeń myślnik-podkreślnik (zdjecie-_z_-wakacji.jpg -> zdjecie-z-wakacji,jpg)
  • Usunięcie wielokrotnych myślników i podkreślników (zdjecie—z___wakacji.jpg -> zdjecie-z_wakacji,jpg)
  • Usunięcie myślnika, podkreślnika lub kropki z końca nazwy pliku (dsc01234..jpg -> dsc01234.jpg)

Kiedyś miały być też usuwane spacje, ale z tym akurat obecnie radzi sobie sam WordPress, zamieniając je na myślnik.

Wtyczka PRyC WP: Sanitize file name (when upload), podobnie jak kilka innych wtyczek tego typu, jest bezobsługowa, czyli wystarczy ją zainstalować i aktywować.

Krótki test działania (i małe porównanie)

Choć ogólny zarys działania wtyczki wymieniłem powyżej, to chyba dobrze byłoby pokazać działanie wtyczki bezpośrednio w WordPressie. Uznałem jednak, że jeszcze lepszym pomysłem będzie porównanie działania wtyczki PRyC WP: Sanitize file name (when upload) z 2 innymi wtyczkami. Wyboru konkurentów dokonałem po linii najmniejszego oporu, czyli na ekranie dodawania nowych wtyczek wpisałem nazwę wtyczki, która pojawiła się w komentarzu pod wspomnianym na wstępie artykule, i dodałem do tego kolejną wtyczkę tego typu, która pojawiła się w wynikach.

Zawodnicy to 2 specjalnie przygotowane pliki, w których upakowałem wypaczenia, na które najczęściej trafiam:

Test_00a Żółw ,. -_-- __,-._, - zółty!..jpg
Test_00b Żółw -- ,__--__--_-_-_ różowy$_ __..jpg

A tak wyglądają wyniki pracy WordPressa i 3 testowanych wtyczek:

WordPress:

Test_01b-Zolw-__-__-_-_-_-rozowy_-__..jpg
Test_01a-Zolw-.-_-__-._-zolty..jpg

Wtyczka PRyC WP: Sanitize file name (when upload):

test_02b-zolw-rozowy.jpg
test_02a-zolw-zolty.jpg

Wtyczka Filenames to latin (webvitaly):

test_03b-zolw-__-__-_-_-_-rozowy_-__..jpg
test_03a-zolw-.-_-__-._-zolty..jpg

Wtyczka Clean Image Filenames (Upperdog):

test-04b-zolw-rozowy.jpg
test-04a-zolw-zolty.jpg

I choć we wszystkich przypadkach zniknęły zbyteczne znaki (wszystkie poza 0-9, a-z, kropką, myślnikiem i podkreślnikiem) to sam WordPress zostawił duże litery oraz sporo śmieci. Wtyczka Filenames to latin (webvitaly) poradziła sobie trochę lepiej, bo dodatkowo zmieniła wszystkie litery na małe (jest to o tyle ważne, że w wielu systemach mała litera „a” to całkiem inny znak niż duża litera „A”, a tym samym plik a.jpg to nie to samo co A.jpg).

Najlepiej – przynajmniej wg moich wymagań – poradziły sobie wtyczki PRyC WP: Sanitize file name (when upload)Clean Image Filenames (Upperdog), pozbywając się dodatkowo z nazw plików nie tylko zbytecznych kropek, przecinków i podkreślników. Z tym że druga wtyczka (Clean Image Filenames) do tematu podeszła jak dla mnie trochę zbyt restrykcyjnie, usuwając również myślniki. Bo choć przyjęło się, że spację raczej zastępujemy myślnikiem, to podkreślnik też jest prawidłowym znakiem, z którego sam często korzystam, m.in. do oddzielania sekcji w nazwach plików. Stąd mój mały subiektywny test wygrała wtyczka PRyC WP: Sanitize file name (when upload).

(!) Zgłoś błąd na stronie

Zapraszam do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!