{"id":13629,"date":"2026-07-20T10:32:47","date_gmt":"2026-07-20T10:32:47","guid":{"rendered":"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/"},"modified":"2026-07-20T10:32:59","modified_gmt":"2026-07-20T10:32:59","slug":"obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek","status":"publish","type":"post","link":"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/","title":{"rendered":"Obrazki a SEO: jak optymalizowa\u0107 grafiki w WordPressie, by przyspieszy\u0107 stron\u0119 i zyska\u0107 dodatkowy ruch z wyszukiwarek"},"content":{"rendered":"\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-top\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;13629&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;top&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Rate this post&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;Obrazki a SEO: jak optymalizowa\u0107 grafiki w WordPressie, by przyspieszy\u0107 stron\u0119 i zyska\u0107 dodatkowy ruch z wyszukiwarek&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\">Rate this post<\/span>\n    <\/div>\n    <\/div>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Z tego wpisu dowiesz si\u0119\u2026<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Prze\u0142\u0105cznik Spisu Tre\u015bci\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #000000;color:#000000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #000000;color:#000000\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Sytuacja_wyjsciowa_grafiki_w_WordPressie_po_co_to_robic\" >Sytuacja wyj\u015bciowa: grafiki w WordPressie, po co to robi\u0107<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Dwa_zrodla_zysku_szybciej_i_dodatkowy_ruch_z_Google_Grafika\" >Dwa \u017ar\u00f3d\u0142a zysku: szybciej i dodatkowy ruch z Google Grafika<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Objawy_ktore_zdradzaja_problem_z_obrazami\" >Objawy, kt\u00f3re zdradzaj\u0105 problem z obrazami<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Co_sprawdzic_najpierw\" >Co sprawdzi\u0107 najpierw<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Jak_obrazy_wplywaja_na_SEO_i_Core_Web_Vitals\" >Jak obrazy wp\u0142ywaj\u0105 na SEO i Core Web Vitals<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#LCP_CLS_INP_%E2%80%93_gdzie_grafiki_robia_roznice\" >LCP, CLS, INP \u2013 gdzie grafiki robi\u0105 r\u00f3\u017cnic\u0119<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Ruch_z_Google_Grafika_i_karty_Odkryj\" >Ruch z Google Grafika i karty Odkryj<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Dostepnosc_i_semantyka_a_SEO\" >Dost\u0119pno\u015b\u0107 i semantyka a SEO<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Workflow_optymalizacji_od_pliku_na_dysku_do_biblioteki_mediow\" >Workflow optymalizacji: od pliku na dysku do biblioteki medi\u00f3w<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_1_dobierz_format_pliku_swiadomie\" >Krok 1: dobierz format pliku \u015bwiadomie<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_2_ustal_wymiary_i_generuj_warianty_responsywne\" >Krok 2: ustal wymiary i generuj warianty responsywne<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_3_kompresja_i_ustawienia_jakosci\" >Krok 3: kompresja i ustawienia jako\u015bci<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_4_wieloformatowosc_z_elementem_picture\" >Krok 4: wieloformatowo\u015b\u0107 z elementem picture<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_5_priorytet_ladowania_lazy_i_stabilnosc\" >Krok 5: priorytet \u0142adowania, lazy i stabilno\u015b\u0107<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_6_obrazy_tla_i_slidery\" >Krok 6: obrazy t\u0142a i slidery<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Tekstowe_sygnaly_obrazu_nazwy_alty_podpisy_dane\" >Tekstowe sygna\u0142y obrazu: nazwy, alty, podpisy, dane<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_7_nazwa_pliku_alt_podpis_i_kontekst\" >Krok 7: nazwa pliku, alt, podpis i kontekst<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_8_dane_strukturalne_i_miniatury_dla_DiscoverOG\" >Krok 8: dane strukturalne i miniatury dla Discover\/OG<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Dostarczanie_i_porzadki_w_WordPressie\" >Dostarczanie i porz\u0105dki w WordPressie<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_9_CDN_obrazow_i_transformacje_po_stronie_serwera\" >Krok 9: CDN obraz\u00f3w i transformacje po stronie serwera<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Porzadkowanie_biblioteki_mediow_i_kontrola_rozmiarow\" >Porz\u0105dkowanie biblioteki medi\u00f3w i kontrola rozmiar\u00f3w<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_10_wylacz_zbedne_rozmiary_i_ustaw_wlasne\" >Krok 10: wy\u0142\u0105cz zb\u0119dne rozmiary i ustaw w\u0142asne<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_11_regeneracja_miniatur_bez_zatykania_dysku\" >Krok 11: regeneracja miniatur bez zatykania dysku<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_12_prog_%E2%80%9Eduzego_obrazu%E2%80%9D_i_warianty_2%C3%97\" >Krok 12: pr\u00f3g \u201edu\u017cego obrazu\u201d i warianty 2\u00d7<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_13_sprzatanie_duplikatow_i_plikow_nieuzywanych\" >Krok 13: sprz\u0105tanie duplikat\u00f3w i plik\u00f3w nieu\u017cywanych<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Monitorowanie_efektow_i_szybkie_diagnozy\" >Monitorowanie efekt\u00f3w i szybkie diagnozy<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_14_Core_Web_Vitals_z_perspektywy_obrazow\" >Krok 14: Core Web Vitals z perspektywy obraz\u00f3w<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_15_DevTools_%E2%80%93_czy_przegladarka_dostaje_to_co_trzeba\" >Krok 15: DevTools \u2013 czy przegl\u0105darka dostaje to, co trzeba<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_16_mapy_obrazow_i_sygnaly_odkrywania\" >Krok 16: mapy obraz\u00f3w i sygna\u0142y odkrywania<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krotka_checklista_przed_publikacja_wpisu\" >Kr\u00f3tka checklista przed publikacj\u0105 wpisu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Konfiguracja_blokow_i_atrybutow_ladowania\" >Konfiguracja blok\u00f3w i atrybut\u00f3w \u0142adowania<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_17_priorytet_dla_obrazu_LCP_i_swiadome_lazy-loading\" >Krok 17: priorytet dla obrazu LCP i \u015bwiadome lazy-loading<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_18_sizes_dopasowane_do_Twojego_ukladu_nie_do_%E2%80%9Eteorii%E2%80%9D\" >Krok 18: sizes dopasowane do Twojego uk\u0142adu, nie do \u201eteorii\u201d<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#SVG_ikony_i_znaki_towarowe_%E2%80%93_lekko_i_bezpiecznie\" >SVG, ikony i znaki towarowe \u2013 lekko i bezpiecznie<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_19_bezpieczne_wgrywanie_i_sensowna_semantyka\" >Krok 19: bezpieczne wgrywanie i sensowna semantyka<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Wyniki_rozszerzone_i_podglady_w_social_media\" >Wyniki rozszerzone i podgl\u0105dy w social media<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_20_obrazy_dla_Open_Graph_i_Twitter_Cards\" >Krok 20: obrazy dla Open Graph i Twitter Cards<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_21_DiscoverArticle_%E2%80%93_duze_obrazy_w_JSON%E2%80%91LD_i_%E2%80%9Emax-image-preview%E2%80%9D\" >Krok 21: Discover\/Article \u2013 du\u017ce obrazy w JSON\u2011LD i \u201emax-image-preview\u201d<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-39\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Produkty_galerie_i_duze_zbiory\" >Produkty, galerie i du\u017ce zbiory<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-40\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Krok_22_obrazy_produktow_w_WooCommerce_%E2%80%93_priorytet_i_ostre_kadry\" >Krok 22: obrazy produkt\u00f3w w WooCommerce \u2013 priorytet i ostre kadry<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-41\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Najczesciej_zadawane_pytania_FAQ\" >Najcz\u0119\u015bciej zadawane pytania (FAQ)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-42\" href=\"https:\/\/excelraport.pl\/index.php\/2026\/07\/20\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-przyspieszyc-strone-i-zyskac-dodatkowy-ruch-z-wyszukiwarek\/#Jak_przyspieszyc_LCP_w_WordPressie_gdy_najwiekszy_element_to_obraz\" >Jak przyspieszy\u0107 LCP w WordPressie, gdy najwi\u0119kszy element to obraz?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Sytuacja_wyjsciowa_grafiki_w_WordPressie_po_co_to_robic\"><\/span>Sytuacja wyj\u015bciowa: grafiki w WordPressie, po co to robi\u0107<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Dwa_zrodla_zysku_szybciej_i_dodatkowy_ruch_z_Google_Grafika\"><\/span>Dwa \u017ar\u00f3d\u0142a zysku: szybciej i dodatkowy ruch z Google Grafika<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>W polskich realiach to cz\u0119sty obraz: serwis na WordPressie, porz\u0105dny hosting, \u0142adny motyw, a mimo to strona g\u0142\u00f3wna i artyku\u0142y wczytuj\u0105 si\u0119 oci\u0119\u017cale. Winowajca? Zwykle nie pojedynczy skrypt, tylko suma nieoptymalnych grafik \u2013 zbyt du\u017ce wymiary, brak nowoczesnych format\u00f3w, z\u0142a kolejno\u015b\u0107 \u0142adowania, brak atrybut\u00f3w. Optymalizacja obraz\u00f3w to najkr\u00f3tsza droga do poprawy Core Web Vitals, a przy okazji do pozyskania ruchu z Google Grafika i kart Odkryj.<\/p>\n<p>Efekt dobrze przeprowadzonej optymalizacji bywa dwojaki. Po pierwsze, skracasz czas wczytywania i poprawiasz wska\u017aniki LCP\/CLS\/INP, co zwykle podnosi pozycje i konwersj\u0119. Po drugie, dzi\u0119ki precyzyjnym altom, w\u0142a\u015bciwym podpisom i dobrym nazwom plik\u00f3w, zdj\u0119cia zaczynaj\u0105 rankowa\u0107 w wyszukiwarce grafiki, co tworzy dodatkowy lejek wej\u015b\u0107 na Twoj\u0105 tre\u015b\u0107. Na konkurencyjnych rynkach to cz\u0119sto \u201etani\u201d kana\u0142 pozyskiwania odwiedzin.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Objawy_ktore_zdradzaja_problem_z_obrazami\"><\/span>Objawy, kt\u00f3re zdradzaj\u0105 problem z obrazami<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Typowe symptomy wygl\u0105daj\u0105 tak: LCP pokazuje element zdj\u0119cia lub slider; masz du\u017ce skoki uk\u0142adu (CLS), kiedy obraz doskakuje po chwili; narz\u0119dzia typu PageSpeed Insights grzmi\u0105 o \u201eoptymalizacji obraz\u00f3w\u201d i \u201ewydajnym kodowaniu\u201d. W konsoli przegl\u0105darki zobaczysz pobrania po 1\u20132 MB na pojedynczy plik JPG. W Google Search Console, w zak\u0142adce Wydajno\u015b\u0107 po prze\u0142\u0105czeniu na typ wyszukiwania \u201eGrafika\u201d, ruch jest bliski zera mimo setek zdj\u0119\u0107 w serwisie.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Co_sprawdzic_najpierw\"><\/span>Co sprawdzi\u0107 najpierw<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>Czy najwi\u0119kszy element LCP to obraz? Je\u015bli tak \u2013 czy ma width\/height i czy nie jest lazy-loadowany?<\/li>\n<li>Czy pliki maj\u0105 nowoczesny format (WebP\/AVIF)?<\/li>\n<li>Czy w srcset s\u0105 w\u0142a\u015bciwe rozmiary, a zdj\u0119cie nie jest skalowane CSS-em z 3000 px do 700 px?<\/li>\n<li>Czy alt jest opisowy, unikalny i powi\u0105zany z frazami strony?<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Jak_obrazy_wplywaja_na_SEO_i_Core_Web_Vitals\"><\/span>Jak obrazy wp\u0142ywaj\u0105 na SEO i Core Web Vitals<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"LCP_CLS_INP_%E2%80%93_gdzie_grafiki_robia_roznice\"><\/span>LCP, CLS, INP \u2013 gdzie grafiki robi\u0105 r\u00f3\u017cnic\u0119<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>LCP (Largest Contentful Paint)<\/strong> najcz\u0119\u015bciej wskazuje du\u017cy baner lub zdj\u0119cie hero. Je\u015bli obraz jest ci\u0119\u017cki, kompresja s\u0142aba, a format przestarza\u0142y \u2013 LCP skacze. Pomaga konwersja do WebP\/AVIF, kompresja i prefetch\/preload\/fetchpriority=high dla kluczowego obrazu. <strong>CLS (Cumulative Layout Shift)<\/strong> ro\u015bnie, gdy element rezerwuje miejsce dopiero po za\u0142adowaniu. Rozwi\u0105zaniem jest ustawienie width\/height i styl\u00f3w wymuszaj\u0105cych proporcje (w WordPressie od pewnego czasu to atrybuty szeroko\u015bci\/wysoko\u015bci wstawiane automatycznie \u2013 ale wiele motyw\u00f3w je nadpisuje). <strong>INP<\/strong> cierpi, gdy po tapni\u0119ciu w galeri\u0119 lub slider blokowane s\u0105 g\u0142\u00f3wne w\u0105tki skryptami przetwarzaj\u0105cymi ogromne obrazy \u2013 warto dba\u0107 o leniwe \u0142adowanie i lekkie lightboksy.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ruch_z_Google_Grafika_i_karty_Odkryj\"><\/span>Ruch z Google Grafika i karty Odkryj<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Zdj\u0119cia z sensownymi altami, podpisami i w otoczeniu zgodnym tematycznie maj\u0105 wi\u0119ksze szanse na pozycje w Google Grafika. W praktyce dzia\u0142a to szczeg\u00f3lnie dobrze w e-commerce (zdj\u0119cia produkt\u00f3w), kulinariach (przepisy), turystyce (miejsca i mapy), wn\u0119trzach i modzie. Odpowiednie wymiary i proporcje miniatur (np. 1200 \u00d7 628 px dla kart Odkryj\/Open Graph) zwi\u0119kszaj\u0105 CTR z kana\u0142\u00f3w spo\u0142eczno\u015bciowych i Google Discover, co po\u015brednio wspiera widoczno\u015b\u0107.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Dostepnosc_i_semantyka_a_SEO\"><\/span>Dost\u0119pno\u015b\u0107 i semantyka a SEO<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Alt tekst to nie ozdoba. Wspiera czytniki ekranowe i bywa brany pod uwag\u0119 przy rozumieniu tre\u015bci strony. Zamiast frazy \u201ezdj\u0119cie1.jpg\u201d u\u017cyj opisu: \u201ekurtka puchowa m\u0119ska granatowa z kapturem \u2013 model zimowy\u201d. Gdy obraz jest czysto dekoracyjny \u2013 alt pusty (alt=&#8221;&#8221;). Gdy niesie informacj\u0119 (np. wykres), alt powinien streszcza\u0107 jego sens. To drobne zmiany, kt\u00f3re oddzia\u0142uj\u0105 na satysfakcj\u0119 u\u017cytkownika i sygna\u0142y jako\u015bciowe.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Workflow_optymalizacji_od_pliku_na_dysku_do_biblioteki_mediow\"><\/span>Workflow optymalizacji: od pliku na dysku do biblioteki medi\u00f3w<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Krok_1_dobierz_format_pliku_swiadomie\"><\/span>Krok 1: dobierz format pliku \u015bwiadomie<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Format wybieraj wed\u0142ug zawarto\u015bci i celu. Pomo\u017ce prosta \u015bci\u0105gawka:<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Format<\/th>\n<th>Najlepsze zastosowanie<\/th>\n<th>Wsparcie przegl\u0105darek<\/th>\n<th>Plusy<\/th>\n<th>Minusy<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>JPEG\/JPG<\/td>\n<td>Zdj\u0119cia, du\u017ca szczeg\u00f3\u0142owo\u015b\u0107<\/td>\n<td>Bardzo szerokie<\/td>\n<td>Ma\u0142y rozmiar przy rozs\u0105dnej jako\u015bci<\/td>\n<td>Artefakty, brak przezroczysto\u015bci<\/td>\n<\/tr>\n<tr>\n<td>PNG<\/td>\n<td>Ikony, ilustracje, przezroczysto\u015b\u0107<\/td>\n<td>Bardzo szerokie<\/td>\n<td>Bezstratny, ostry<\/td>\n<td>Du\u017ce pliki przy zdj\u0119ciach<\/td>\n<\/tr>\n<tr>\n<td>WebP<\/td>\n<td>Uniwersalny zamiennik JPG\/PNG<\/td>\n<td>Prawie pe\u0142ne<\/td>\n<td>Du\u017co mniejsze pliki, przezroczysto\u015b\u0107<\/td>\n<td>Starsze Safari\/niekt\u00f3re crawlery mog\u0105 nie obs\u0142u\u017cy\u0107 bez fallbacku<\/td>\n<\/tr>\n<tr>\n<td>AVIF<\/td>\n<td>Najmniejsze rozmiary zdj\u0119\u0107<\/td>\n<td>Nowoczesne przegl\u0105darki<\/td>\n<td>\u015awietna kompresja, HDR<\/td>\n<td>Wolniejsze kodowanie, ograniczone wsparcie<\/td>\n<\/tr>\n<tr>\n<td>SVG<\/td>\n<td>Logotypy, ikony, prosta grafika<\/td>\n<td>Szerokie<\/td>\n<td>Sko\u0144czona ostro\u015b\u0107, ma\u0142y rozmiar<\/td>\n<td>Wymaga higieny bezpiecze\u0144stwa<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>Kryteria: je\u015bli masz zdj\u0119cie \u2013 startuj z WebP, a w razie potrzeby trzymaj fallback JPG. Dla ilustracji, ikon i znak\u00f3w firmowych \u2013 SVG lub PNG, ale cz\u0119sto WebP te\u017c zadzia\u0142a z mniejszym rozmiarem. AVIF daje \u015bwietne liczby, ale u\u017cywaj z detekcj\u0105 wsparcia i rozs\u0105dnym fallbackiem.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_2_ustal_wymiary_i_generuj_warianty_responsywne\"><\/span>Krok 2: ustal wymiary i generuj warianty responsywne<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Nie \u0142aduj zdj\u0119cia 4000 px, je\u015bli kolumna tre\u015bci ma 720 px. W WordPressie skorzystaj z mechanizmu srcset\/sizes: po wgraniu pliku generowane s\u0105 r\u00f3\u017cne rozmiary, a przegl\u0105darka wybierze odpowiedni. Przed uploadem przytnij obraz do wymiar\u00f3w docelowych: dla bloga cz\u0119sto 1200 px szeroko\u015bci dla zdj\u0119\u0107 w tre\u015bci wystarczy; dla hero banner\u00f3w na pe\u0142n\u0105 szeroko\u015b\u0107 \u2013 1920 px (czasem 1600 px) to rozs\u0105dny sufit. W e-commerce ustaw precyzyjnie miniatury produkt\u00f3w, by sklep nie renderowa\u0142 gigantycznych zdj\u0119\u0107 w siatce kart.<\/p>\n<figure class=\"oai-pexels-image\"><img decoding=\"async\" src=\"https:\/\/excelraport.pl\/wp-content\/uploads\/2026\/07\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-prz-pexels-270637.jpg\" alt=\"Obrazki a SEO: jak optymalizowa\u0107 grafiki w WordPressie, by przyspieszy\u0107 stron\u0119 i zyska\u0107 dodatkowy ruch z wyszukiwarek\" loading=\"lazy\" class=\"oai-pexels-image__img\" \/><figcaption>\u0179r\u00f3d\u0142o: Pexels | Autor: Pixabay<\/figcaption><\/figure>\n<h3><span class=\"ez-toc-section\" id=\"Krok_3_kompresja_i_ustawienia_jakosci\"><\/span>Krok 3: kompresja i ustawienia jako\u015bci<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Skalibruj jako\u015b\u0107 tak, by pliki by\u0142y ma\u0142e, a obraz wci\u0105\u017c wygl\u0105da\u0142 naturalnie. Dla zdj\u0119\u0107 w tre\u015bci celuj zazwyczaj w rozmiary rz\u0119du kilkudziesi\u0119ciu\u2013stu kilkudziesi\u0119ciu kilobajt\u00f3w; dla banera hero \u2013 tyle, ile trzeba, by unikn\u0105\u0107 \u201ekaszki\u201d, ale zwykle bez przekraczania kilku setek KB. Wtyczki do WordPressa (np. EWWW, Imagify, ShortPixel, Optimole, Smush, TinyPNG) pozwalaj\u0105 ustawi\u0107 poziom jako\u015bci i konwersj\u0119 do WebP\/AVIF. Zacznij od profilu \u201elossy\u201d dla zdj\u0119\u0107 i usu\u0144 zb\u0119dne metadane EXIF (zostaw profil kolor\u00f3w\/ICC). Je\u015bli grafika traci ostro\u015b\u0107 na cienkich liniach \u2013 prze\u0142\u0105cz t\u0119 konkretn\u0105 ilustracj\u0119 na PNG lub wy\u017cszy pr\u00f3g jako\u015bci.<\/p>\n<p>Co sprawdzi\u0107: czy ustawienia dotycz\u0105 te\u017c miniatur; czy orygina\u0142 jest archiwizowany; czy konwersja nie podmienia plik\u00f3w u\u017cywanych w motywie (logotypy, ikony).<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_4_wieloformatowosc_z_elementem_picture\"><\/span>Krok 4: wieloformatowo\u015b\u0107 z elementem picture<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0141\u0105cz AVIF\/WebP z bezpiecznym fallbackiem. Dzi\u0119ki elementowi picture przegl\u0105darka wybierze najlepszy format, a starsze \u2013 wczytaj\u0105 JPG\/PNG.<\/p>\n<pre><code>&lt;picture&gt;\n  &lt;source type=\"image\/avif\" srcset=\"\/img\/hero-1200.avif 1200w, \/img\/hero-1920.avif 1920w\" sizes=\"100vw\"&gt;\n  &lt;source type=\"image\/webp\" srcset=\"\/img\/hero-1200.webp 1200w, \/img\/hero-1920.webp 1920w\" sizes=\"100vw\"&gt;\n  &lt;img src=\"\/img\/hero-1200.jpg\"\n       srcset=\"\/img\/hero-1200.jpg 1200w, \/img\/hero-1920.jpg 1920w\"\n       sizes=\"100vw\"\n       width=\"1920\" height=\"1080\"\n       loading=\"eager\"\n       fetchpriority=\"high\"\n       decoding=\"async\"\n       alt=\"opis zdj\u0119cia powi\u0105zany z tre\u015bci\u0105\"&gt;\n&lt;\/picture&gt;<\/code><\/pre>\n<p>W edytorze blokowym WordPressa mo\u017cesz doda\u0107 picture przez bloki\/wtyczki lub motyw; je\u015bli nie masz tej opcji, wtyczka konwersji zwykle wstrzykuje odpowiednie \u017ar\u00f3d\u0142a automatycznie.<\/p>\n<p>Co sprawdzi\u0107: czy fallback naprawd\u0119 istnieje; czy sizes odzwierciedla uk\u0142ad (np. \u201e(max-width: 720px) 100vw, 720px\u201d).<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_5_priorytet_ladowania_lazy_i_stabilnosc\"><\/span>Krok 5: priorytet \u0142adowania, lazy i stabilno\u015b\u0107<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Obraz LCP powinien \u0142adowa\u0107 si\u0119 jak najszybciej: loading=eager, fetchpriority=high i bez lazy. Dla reszty u\u017cyj loading=lazy oraz decoding=async. Je\u015bli u\u017cywasz preloada, daj go tylko dla jednego\u2013dw\u00f3ch krytycznych obraz\u00f3w, inaczej zablokujesz kolejk\u0119. Zabezpiecz uk\u0142ad przez width\/height lub CSS aspect-ratio, by nie by\u0142o \u201epodskok\u00f3w\u201d.<\/p>\n<p>Typowe potkni\u0119cie: motyw nadaje loading=lazy wszystkim obrazom, w tym hero \u2013 trzeba wy\u0142\u0105czy\u0107 lazy dla pierwszego, widocznego kadru. W nowszych WordPressach heurystyka cz\u0119sto robi to sama, ale motywy i page buildery potrafi\u0105 j\u0105 nadpisa\u0107.<\/p>\n<p>Co sprawdzi\u0107: czy LCP nie ma lazy; czy ma width\/height; czy nie preloadujesz miniatur i ikon.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_6_obrazy_tla_i_slidery\"><\/span>Krok 6: obrazy t\u0142a i slidery<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Grafika t\u0142a w CSS nie ma alt ani srcset. Je\u015bli to kluczowy wizual na g\u00f3rze strony \u2013 zamie\u0144 go na obraz w HTML (img\/picture). Gdy t\u0142o musi zosta\u0107, u\u017cyj image-set w CSS, by dostarcza\u0107 r\u00f3\u017cne rozdzielczo\u015bci i formaty, oraz zarezerwuj proporcje kontenera.<\/p>\n<pre><code>background-image: image-set(\n  url('\/img\/hero-1600.avif') type('image\/avif') 1x,\n  url('\/img\/hero-1600.webp') type('image\/webp') 1x,\n  url('\/img\/hero-1600.jpg') type('image\/jpeg') 1x\n);<\/code><\/pre>\n<p>Slidery i galerie cz\u0119sto \u0142aduj\u0105 wszystkie slajdy od razu. Ustaw leniwe \u0142adowanie slajd\u00f3w poza kadrem i generuj miniatury dopasowane do widoku. Trzy pierwsze slajdy zwykle wystarcz\u0105 \u201ena start\u201d.<\/p>\n<figure class=\"oai-pexels-image\"><img decoding=\"async\" src=\"https:\/\/excelraport.pl\/wp-content\/uploads\/2026\/07\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-prz-pexels-7119258.jpg\" alt=\"Obrazki a SEO: jak optymalizowa\u0107 grafiki w WordPressie, by przyspieszy\u0107 stron\u0119 i zyska\u0107 dodatkowy ruch z wyszukiwarek\" loading=\"lazy\" class=\"oai-pexels-image__img\" \/><figcaption>\u0179r\u00f3d\u0142o: Pexels | Autor: FreeBoilerGrants<\/figcaption><\/figure>\n<p>Co sprawdzi\u0107: czy CSS nie skaluje t\u0142a z 4000 px do 1200 px; czy slider nie wci\u0105ga orygina\u0142\u00f3w 1:1.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tekstowe_sygnaly_obrazu_nazwy_alty_podpisy_dane\"><\/span>Tekstowe sygna\u0142y obrazu: nazwy, alty, podpisy, dane<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Krok_7_nazwa_pliku_alt_podpis_i_kontekst\"><\/span>Krok 7: nazwa pliku, alt, podpis i kontekst<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Nazwa pliku wspiera rozumienie tre\u015bci: \u201ekurtka-puchowa-meska-granatowa.jpg\u201d jest lepsze ni\u017c \u201eIMG_8347.jpg\u201d. Alt opisuje to, co jest na zdj\u0119ciu, a nie to, co \u201echcesz pozycjonowa\u0107\u201d \u2013 naturalny opis zwykle zawiera kluczowe s\u0142owa bez upychania fraz. Podpis (caption) bywa czytany i pojawia si\u0119 blisko obrazu, co pomaga zar\u00f3wno u\u017cytkownikovi, jak i wyszukiwarce.<\/p>\n<p>W WordPressie ustaw: tytu\u0142 media, tekst alternatywny, podpis i \u2013 je\u015bli ma sens \u2013 opis. Unikaj powielania tych samych alt\u00f3w na dziesi\u0105tkach zdj\u0119\u0107 produktu; r\u00f3\u017cnicuj je kontekstem (\u201ewidok z boku\u201d, \u201edetal zamka\u201d).<\/p>\n<p>Co sprawdzi\u0107: czy alt nie dubluje podpisu s\u0142owo w s\u0142owo; czy obraz dekoracyjny ma alt pusty; czy wok\u00f3\u0142 obrazu jest akapit tematycznie zgodny.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_8_dane_strukturalne_i_miniatury_dla_DiscoverOG\"><\/span>Krok 8: dane strukturalne i miniatury dla Discover\/OG<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dla typ\u00f3w tre\u015bci jak Produkt, Przepis czy Artyku\u0142 do\u0142\u00f3\u017c dane strukturalne ze wskazaniem g\u0142\u00f3wnego obrazu (ImageObject z url, width, height). Popularne wtyczki SEO generuj\u0105 to automatycznie \u2013 zweryfikuj w Rich Results Test. Dla Google Discover, kart spo\u0142eczno\u015bciowych i podbi\u0107 CTR przygotuj obraz 1200\u00d7628 lub wi\u0119kszy, zgodny z wytycznymi Open Graph\/Twitter Cards; trzymaj wag\u0119 rozs\u0105dn\u0105, ale nie kosztem jako\u015bci miniatury.<\/p>\n<p>Co sprawdzi\u0107: czy w JSON-LD jest width\/height; czy obraz OG nie jest przypadkow\u0105 miniatur\u0105 300 px.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Dostarczanie_i_porzadki_w_WordPressie\"><\/span>Dostarczanie i porz\u0105dki w WordPressie<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Krok_9_CDN_obrazow_i_transformacje_po_stronie_serwera\"><\/span>Krok 9: CDN obraz\u00f3w i transformacje po stronie serwera<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>CDN skraca drog\u0119 do u\u017cytkownika i odci\u0105\u017ca serwer. Us\u0142ugi z transformacjami (np. Cloudflare Images, ImageKit, Cloudinary, KeyCDN, Bunny) potrafi\u0105 serwowa\u0107 obrazy w AVIF\/WebP, przycina\u0107, nak\u0142ada\u0107 formaty i cache\u2019owa\u0107 warianty na kraw\u0119dzi. Integruj ostro\u017cnie: wy\u0142\u0105cz podw\u00f3jn\u0105 kompresj\u0119 (we wtyczce i w CDN jednocze\u015bnie), ustaw d\u0142ugie nag\u0142\u00f3wki cache dla wariant\u00f3w i dopilnuj parametr\u00f3w w URL-ach, by ka\u017cda kombinacja rozmiaru\/formatu by\u0142a jednoznaczna.<\/p>\n<p>Co sprawdzi\u0107: czy CDN nie serwuje WebP ze z\u0142ym Content-Type; czy nie ma p\u0119tli przekierowa\u0144 http\/https; czy obrazy maj\u0105 Cache-Control na tygodnie, a HTML kr\u00f3tszy.<\/p>\n<figure class=\"oai-pexels-image\"><img decoding=\"async\" src=\"https:\/\/excelraport.pl\/wp-content\/uploads\/2026\/07\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-prz-pexels-9822732.jpg\" alt=\"Obrazki a SEO: jak optymalizowa\u0107 grafiki w WordPressie, by przyspieszy\u0107 stron\u0119 i zyska\u0107 dodatkowy ruch z wyszukiwarek\" loading=\"lazy\" class=\"oai-pexels-image__img\" \/><figcaption>\u0179r\u00f3d\u0142o: Pexels | Autor: Atlantic Ambience<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Porzadkowanie_biblioteki_mediow_i_kontrola_rozmiarow\"><\/span>Porz\u0105dkowanie biblioteki medi\u00f3w i kontrola rozmiar\u00f3w<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Krok_10_wylacz_zbedne_rozmiary_i_ustaw_wlasne\"><\/span>Krok 10: wy\u0142\u0105cz zb\u0119dne rozmiary i ustaw w\u0142asne<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Motywy i wtyczki potrafi\u0105 tworzy\u0107 dziesi\u0105tki wariant\u00f3w, kt\u00f3rych nigdy nie u\u017cyjesz. Wy\u0142\u0105cz je i zdefiniuj konkretne, dopasowane do layoutu (kolumna tre\u015bci, siatka kart, hero, miniatury).<\/p>\n<pre><code>\/\/ functions.php lub wtyczka \"mu-plugin\"\nadd_action('after_setup_theme', function () {\n  \/\/ Usu\u0144 domy\u015blne, kt\u00f3rych nie u\u017cywasz\n  remove_image_size('medium_large'); \/\/ cz\u0119sto zb\u0119dny\n  \/\/ Dodaj rozmiary pod realny uk\u0142ad\n  add_image_size('content-720', 720, 0, false);\n  add_image_size('content-1200', 1200, 0, false);\n  add_image_size('card-360', 360, 360, true);     \/\/ siatka produktu\/karty\n  add_image_size('hero-1920', 1920, 1080, true);  \/\/ nag\u0142\u00f3wek\/baner\n});\n\n\/\/ Zatrzymaj generowanie niechcianych \"intermediate sizes\"\nadd_filter('intermediate_image_sizes_advanced', function ($sizes) {\n  unset($sizes['thumbnail'], $sizes['medium'], $sizes['large']);\n  \/\/ Zostaw tylko w\u0142asne i ewentualnie te, kt\u00f3re faktycznie s\u0105 u\u017cywane\n  return $sizes;\n});<\/code><\/pre>\n<p>Je\u015bli builder\/motyw dodaje w\u0142asne rozmiary, przejrzyj dokumentacj\u0119 \u2013 cz\u0119sto da si\u0119 je odhaczy\u0107 w ustawieniach albo odpi\u0105\u0107 hookami.<\/p>\n<p>Co sprawdzi\u0107: kt\u00f3re rozmiary realnie wyst\u0119puj\u0105 w szablonach; czy karty\/listy nie pobieraj\u0105 rozmiaru \u201efull\u201d.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_11_regeneracja_miniatur_bez_zatykania_dysku\"><\/span>Krok 11: regeneracja miniatur bez zatykania dysku<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Po zmianach rozmiar\u00f3w zregeneruj tylko brakuj\u0105ce pliki. WP\u2011CLI zrobi to najszybciej, bez timeout\u00f3w w panelu.<\/p>\n<pre><code># Tylko brakuj\u0105ce, bez zostawiania starych\nwp media regenerate --only-missing --yes\n\n# Je\u015bli zmieniasz wymiary i chcesz pozby\u0107 si\u0119 starych\nwp media regenerate --skip-delete=0 --yes<\/code><\/pre>\n<p>W panelu u\u017cyj wtyczki \u201eRegenerate Thumbnails (Advanced)\u201d, ale ustaw batchowanie i limit proces\u00f3w, by nie zakorkowa\u0107 hostingu wsp\u00f3\u0142dzielonego. Przed czyszczeniem starych miniaturek sprawd\u017a kopi\u0119 bezpiecze\u0144stwa oraz to, czy motyw nie linkuje do konkretnych plik\u00f3w po nazwie.<\/p>\n<p>Co sprawdzi\u0107: czy katalog uploads nie puchnie od nieu\u017cywanych rozmiar\u00f3w; czy cron nie pr\u00f3buje w k\u00f3\u0142ko generowa\u0107 tych samych wariant\u00f3w.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_12_prog_%E2%80%9Eduzego_obrazu%E2%80%9D_i_warianty_2%C3%97\"><\/span>Krok 12: pr\u00f3g \u201edu\u017cego obrazu\u201d i warianty 2\u00d7<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>WordPress automatycznie skaluje bardzo du\u017ce pliki (\u201ebig_image_size_threshold\u201d). Zamiast globalnie to wy\u0142\u0105cza\u0107, ustaw pr\u00f3g rozs\u0105dnie \u2013 unikniesz wgrywania gigant\u00f3w i utraty kontroli nad jako\u015bci\u0105.<\/p>\n<pre><code>\/\/ Ogranicz automatyczne skalowanie do 1920 px\nadd_filter('big_image_size_threshold', function () { return 1920; });<\/code><\/pre>\n<p>Nie dubluj obraz\u00f3w \u201e@2x\u201d, je\u015bli i tak korzystasz z srcset \u2013 przegl\u0105darka wybierze g\u0119stszy wariant sama. Dla ikon i logo preferuj SVG, a je\u015bli musi by\u0107 rastrowe, przygotuj jeden plik o docelowej g\u0119sto\u015bci i pozw\u00f3l srcset dobra\u0107 odpowiedni rozmiar.<\/p>\n<p>Co sprawdzi\u0107: czy na stronach mobilnych nie id\u0105 pliki 1920 px; czy logo nie jest bitmap\u0105 3000 px skalowan\u0105 w CSS do 120 px.<\/p>\n<figure class=\"oai-pexels-image\"><img decoding=\"async\" src=\"https:\/\/excelraport.pl\/wp-content\/uploads\/2026\/07\/obrazki-a-seo-jak-optymalizowac-grafiki-w-wordpressie-by-prz-pexels-67112.jpg\" alt=\"Obrazki a SEO: jak optymalizowa\u0107 grafiki w WordPressie, by przyspieszy\u0107 stron\u0119 i zyska\u0107 dodatkowy ruch z wyszukiwarek\" loading=\"lazy\" class=\"oai-pexels-image__img\" \/><figcaption>\u0179r\u00f3d\u0142o: Pexels | Autor: Caio<\/figcaption><\/figure>\n<h3><span class=\"ez-toc-section\" id=\"Krok_13_sprzatanie_duplikatow_i_plikow_nieuzywanych\"><\/span>Krok 13: sprz\u0105tanie duplikat\u00f3w i plik\u00f3w nieu\u017cywanych<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Po latach pracy biblioteka potrafi skrywa\u0107 setki osieroconych obraz\u00f3w. Narz\u0119dzia w rodzaju Media Cleaner lub skrypt\u00f3w WP\u2011CLI pomog\u0105 je znale\u017a\u0107, ale testuj na stagingu i wyklucz katalogi motywu\/wtyczek.<\/p>\n<ul>\n<li>Krok 1: zr\u00f3b kopi\u0119 zapasow\u0105 uploads i bazy.<\/li>\n<li>Krok 2: przeskanuj i przejrzyj list\u0119 kandydat\u00f3w do usuni\u0119cia.<\/li>\n<li>Krok 3: usu\u0144 partiami i przejd\u017a po najwa\u017cniejszych szablonach.<\/li>\n<\/ul>\n<p>Co sprawdzi\u0107: czy nie skasowa\u0142e\u015b zasob\u00f3w t\u0142a w CSS; czy pola ACF\/galerii nie wskazuj\u0105 na usuni\u0119te ID.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Monitorowanie_efektow_i_szybkie_diagnozy\"><\/span>Monitorowanie efekt\u00f3w i szybkie diagnozy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Krok_14_Core_Web_Vitals_z_perspektywy_obrazow\"><\/span>Krok 14: Core Web Vitals z perspektywy obraz\u00f3w<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Wykres LCP w Search Console powie, czy zmiany faktycznie pomog\u0142y. Je\u015bli LCP nadal \u201esiedzi\u201d na obrazie, zobacz raport PSI: najcz\u0119stsze wskaz\u00f3wki to \u201eProperly size images\u201d, \u201eEfficiently encode images\u201d i \u201ePreload the largest contentful paint image\u201d. Gdy LCP to t\u0142o CSS, rozwa\u017c przeniesienie go do HTML (picture\/img) \u2013 zyskasz alt, srcset i priorytety \u0142adowania.<\/p>\n<p>Co sprawdzi\u0107: czy wskazany \u201eLargest Contentful Paint element\u201d to oczekiwany obraz; czy nie blokujesz go zb\u0119dnym preloadem innych plik\u00f3w.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_15_DevTools_%E2%80%93_czy_przegladarka_dostaje_to_co_trzeba\"><\/span>Krok 15: DevTools \u2013 czy przegl\u0105darka dostaje to, co trzeba<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>W zak\u0142adce Network por\u00f3wnaj \u201eResource size\u201d z \u201eTransferred\u201d. Je\u015bli r\u00f3\u017cnica jest ma\u0142a, kompresja HTTP dzia\u0142a s\u0142abo \u2013 dotyczy to g\u0142\u00f3wnie PNG\/SVG bez gzip\/br. Sprawd\u017a te\u017c nag\u0142\u00f3wki:<\/p>\n<ul>\n<li>Content-Type: image\/avif, image\/webp, image\/jpeg \u2013 bez pomy\u0142ek.<\/li>\n<li>Cache-Control: d\u0142ugie dla obraz\u00f3w (dni\/tygodnie), kr\u00f3tkie dla HTML.<\/li>\n<li>Vary: Accept \u2013 przy negocjacji format\u00f3w na kraw\u0119dzi\/CDN.<\/li>\n<\/ul>\n<p>W Elements przejrzyj atrybuty width\/height i rzeczywisty box. Gdy naturalny rozmiar obrazu znacznie przekracza renderowany, doprecyzuj srcset\/sizes lub u\u017cyj mniejszego wariantu.<\/p>\n<p>Co sprawdzi\u0107: czy AVIF\/WebP nie trafia do Safari 13 bez fallbacku; czy lazy nie dotyczy LCP.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_16_mapy_obrazow_i_sygnaly_odkrywania\"><\/span>Krok 16: mapy obraz\u00f3w i sygna\u0142y odkrywania<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Zadbaj, by wa\u017cne grafiki by\u0142y widoczne dla robot\u00f3w: mapy witryny z tagami obrazu u\u0142atwiaj\u0105 ich wykrycie, zw\u0142aszcza w galeriach i wpisach z wieloma mediami. Wi\u0119kszo\u015b\u0107 wtyczek SEO dodaje image:image automatycznie \u2013 sprawd\u017a, czy trafiaj\u0105 tam w\u0142a\u015bciwe URL\u2011e (kanoniczne, nie z parametr\u00f3w podgl\u0105du).<\/p>\n<pre><code>&lt;url&gt;\n  &lt;loc&gt;https:\/\/twojadomena.pl\/wpis-ze-sesja-zdjeciowa\/&lt;\/loc&gt;\n  &lt;image:image&gt;\n    &lt;image:loc&gt;https:\/\/twojadomena.pl\/uploads\/2026\/07\/portret-webp.webp&lt;\/image:loc&gt;\n    &lt;image:title&gt;Portret w \u015bwietle dziennym&lt;\/image:title&gt;\n  &lt;\/image:image&gt;\n&lt;\/url&gt;<\/code><\/pre>\n<p>Je\u015bli kluczowe grafiki s\u0105 tylko w CSS, dodaj r\u00f3wnie\u017c wersj\u0119 w HTML lub link referencyjny w tre\u015bci \u2013 same t\u0142a bywaj\u0105 pomijane przez crawle obraz\u00f3w.<\/p>\n<p>Co sprawdzi\u0107: czy robots.txt\/zasady hotlinkingu na CDN nie blokuj\u0105 dost\u0119pu do katalogu uploads; czy mapy nie wskazuj\u0105 miniaturek zamiast pe\u0142nych wersji.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Krotka_checklista_przed_publikacja_wpisu\"><\/span>Kr\u00f3tka checklista przed publikacj\u0105 wpisu<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>Krok 1: format i wymiary \u2013 WebP\/AVIF + fallback, szeroko\u015b\u0107 dopasowana do miejsca.<\/li>\n<li>Krok 2: kompresja \u2013 profil \u201elossy\u201d, bez zb\u0119dnego EXIF, kontrola jako\u015bci cienkich linii.<\/li>\n<li>Krok 3: alt, podpis, kontekst w akapitach \u2013 unikasz powt\u00f3rek i upychania fraz.<\/li>\n<li>Krok 4: picture\/srcset\/sizes \u2013 odpowiadaj\u0105 rzeczywistemu uk\u0142adowi.<\/li>\n<li>Krok 5: priorytety \u2013 LCP bez lazy, opcjonalny preload tylko dla jednego obrazu.<\/li>\n<li>Krok 6: t\u0142a i slidery \u2013 zamiana na img\/picture albo image-set + rezerwacja proporcji.<\/li>\n<li>Krok 7: cache i CDN \u2013 d\u0142ugie TTL dla obraz\u00f3w, brak podw\u00f3jnej konwersji.<\/li>\n<li>Krok 8: podgl\u0105d w PSI i DevTools \u2013 sprawdzasz LCP, rozmiary transferu i Content-Type.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Konfiguracja_blokow_i_atrybutow_ladowania\"><\/span>Konfiguracja blok\u00f3w i atrybut\u00f3w \u0142adowania<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Krok_17_priorytet_dla_obrazu_LCP_i_swiadome_lazy-loading\"><\/span>Krok 17: priorytet dla obrazu LCP i \u015bwiadome lazy-loading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Obraz, kt\u00f3ry staje si\u0119 LCP, nie powinien by\u0107 \u201elazy\u201d. Dla miniatury wpisu (featured image), kt\u00f3ra cz\u0119sto l\u0105duje w nag\u0142\u00f3wku, ustaw wysoki priorytet i wy\u0142\u0105cz lazy. Zr\u00f3b to warunkowo, by nie rozgrzewa\u0107 wszystkich grafik.<\/p>\n<pre><code>\/\/ Ustaw fetchpriority i loading dla miniatury wpisu (potencjalny LCP)\nadd_filter('wp_get_attachment_image_attributes', function ($attr, $attachment, $size) {\n  if (is_singular() &amp;&amp; get_post_thumbnail_id() === $attachment-&gt;ID) {\n    $attr['loading'] = 'eager';        \/\/ bez lazy dla LCP\n    $attr['fetchpriority'] = 'high';   \/\/ sygna\u0142 priorytetu do przegl\u0105darki\n    $attr['decoding'] = 'async';       \/\/ nie blokuj dekodowania\n  }\n  return $attr;\n}, 10, 3);<\/code><\/pre>\n<p>Je\u015bli u\u017cywasz pierwszego obrazu w tre\u015bci (a nie miniatury) jako hero, ustaw podobny warunek po klasie\/bloku edytora (np. \u201eis-style-hero\u201d). Unikaj globalnego <code>loading=\"eager\"<\/code> \u2013 wystarczy jeden element LCP.<\/p>\n<p>Co sprawdzi\u0107: czy na stronach list\/archiw\u00f3w obrazy w siatkach nadal \u0142aduj\u0105 si\u0119 \u201elazy\u201d; czy atrybut fetchpriority nie pojawia si\u0119 masowo na obrazach poni\u017cej zagi\u0119cia.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_18_sizes_dopasowane_do_Twojego_ukladu_nie_do_%E2%80%9Eteorii%E2%80%9D\"><\/span>Krok 18: sizes dopasowane do Twojego uk\u0142adu, nie do \u201eteorii\u201d<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Domy\u015blne <code>sizes<\/code> z WordPressa bywaj\u0105 zbyt og\u00f3lne. Lepiej poda\u0107 warto\u015bci wynikaj\u0105ce z realnej szeroko\u015bci kolumny tre\u015bci i breakpoint\u00f3w motywu.<\/p>\n<pre><code>\/\/ Doprecyzuj atrybut sizes dla rozmiar\u00f3w tre\u015bci\nadd_filter('wp_calculate_image_sizes', function ($sizes, $size, $image_src, $attachment_id) {\n  if (in_array($size, ['content-720', 'content-1200'], true)) {\n    \/\/ Przyk\u0142ad: kolumna tre\u015bci 100vw &lt;= 768px, potem ok. 70vw, max 720 px\n    return '(max-width: 768px) 100vw, (max-width: 1280px) 70vw, 720px';\n  }\n  return $sizes;\n}, 10, 4);<\/code><\/pre>\n<p>W blokach obraz\u00f3w nie usuwaj atrybut\u00f3w width\/height \u2013 to rezerwuje miejsce i ogranicza CLS. Gdy builder generuje tylko style inline, dopisz szer.\/wys. w HTML lub u\u017cyj CSS z <code>aspect-ratio<\/code>.<\/p>\n<p>Co sprawdzi\u0107: czy reality check w DevTools nie pokazuje pobierania plik\u00f3w wi\u0119kszych ni\u017c renderowany box; czy \u201esizes\u201d nie zmuszaj\u0105 telefonu do \u015bci\u0105gania szerokich wariant\u00f3w desktopowych.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"SVG_ikony_i_znaki_towarowe_%E2%80%93_lekko_i_bezpiecznie\"><\/span>SVG, ikony i znaki towarowe \u2013 lekko i bezpiecznie<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Krok_19_bezpieczne_wgrywanie_i_sensowna_semantyka\"><\/span>Krok 19: bezpieczne wgrywanie i sensowna semantyka<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>SVG pozwala zast\u0105pi\u0107 ci\u0119\u017ckie PNG ikonami \u201eostrymi\u201d na ka\u017cdym ekranie. Zadbaj jednak o sanitacj\u0119 i poprawny opis.<\/p>\n<ul>\n<li>Krok 1: zezw\u00f3l na SVG tylko zaufanym rolom i sanituj pliki.<\/li>\n<li>Krok 2: zapewnij <code>viewBox<\/code> zamiast sztywnych width\/height \u2013 skalowanie b\u0119dzie przewidywalne.<\/li>\n<li>Krok 3: dla ikon dekoracyjnych dodaj <code>aria-hidden=\"true\"<\/code>, dla znacz\u0105cych \u2013 alt\/tytu\u0142.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Wyniki_rozszerzone_i_podglady_w_social_media\"><\/span>Wyniki rozszerzone i podgl\u0105dy w social media<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Krok_20_obrazy_dla_Open_Graph_i_Twitter_Cards\"><\/span>Krok 20: obrazy dla Open Graph i Twitter Cards<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Gdy link trafia na Facebooka, LinkedIna czy X, scraper pobiera og:image. Je\u015bli wska\u017cesz tylko WebP\/AVIF, cz\u0119\u015b\u0107 platform nie zrobi podgl\u0105du. Najpewniejszy wariant to JPG o proporcjach ok. 1.91:1 (np. 1200\u00d7630) \u2013 lekki i kompatybilny. URL musi by\u0107 absolutny, publiczny, bez kr\u00f3tkiego TTL na CDN.<\/p>\n<pre><code>&lt;meta property=\"og:image\" content=\"https:\/\/twojadomena.pl\/uploads\/2026\/07\/hero-1200x630.jpg\"&gt;\n&lt;meta property=\"og:image:width\" content=\"1200\"&gt;\n&lt;meta property=\"og:image:height\" content=\"630\"&gt;\n&lt;meta name=\"twitter:card\" content=\"summary_large_image\"&gt;\n&lt;meta name=\"twitter:image\" content=\"https:\/\/twojadomena.pl\/uploads\/2026\/07\/hero-1200x630.jpg\"&gt;<\/code><\/pre>\n<p>Gdy korzystasz z CDN, unikaj link\u00f3w z kr\u00f3tkotrwa\u0142ymi tokenami \u2013 scraper nie wr\u00f3ci po nowy. Je\u017celi wtyczka SEO tworzy kilka rozmiar\u00f3w, wybierz jeden stabilny i kontroluj wag\u0119 (kompresja lossy + progresywne JPG, bez zb\u0119dnego EXIF).<\/p>\n<p>Co sprawdzi\u0107: czy podgl\u0105d w narz\u0119dziach debuggera (Sharing Debugger, Card Validator) \u0142aduje w\u0142a\u015bciwy plik, a nie miniaturk\u0119 300 px; czy og:image ma kod 200 i nie jest blokowany przez regu\u0142y hotlinkingu.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Krok_21_DiscoverArticle_%E2%80%93_duze_obrazy_w_JSON%E2%80%91LD_i_%E2%80%9Emax-image-preview%E2%80%9D\"><\/span>Krok 21: Discover\/Article \u2013 du\u017ce obrazy w JSON\u2011LD i \u201emax-image-preview\u201d<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dla wynik\u00f3w Discover i kart artyku\u0142u Google preferuje obrazy co najmniej 1200 px szeroko\u015bci oraz zezwolenie na du\u017ce podgl\u0105dy. W praktyce pomagaj\u0105 dwa elementy: \u201eimage\u201d w schema.org oraz meta robots z \u201emax-image-preview: large\u201d.<\/p>\n<pre><code>&lt;script type=\"application\/ld+json\"&gt;\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Article\",\n  \"headline\": \"Tytu\u0142 wpisu\",\n  \"image\": [\n    \"https:\/\/twojadomena.pl\/uploads\/2026\/07\/hero-1200.jpg\"\n  ],\n  \"datePublished\": \"2026-07-15\",\n  \"author\": { \"@type\": \"Person\", \"name\": \"Autor\" },\n  \"mainEntityOfPage\": { \"@type\": \"WebPage\", \"@id\": \"https:\/\/twojadomena.pl\/wpis\/\" }\n}\n&lt;\/script&gt;\n&lt;meta name=\"robots\" content=\"max-image-preview:large\"&gt;<\/code><\/pre>\n<p>Je\u015bli schema generuje wtyczka SEO, skontroluj, kt\u00f3ry obraz trafia do \u201eimage\u201d \u2013 unikaj miniaturek, obraz\u00f3w z parametrami podgl\u0105du i prywatnych URL\u2011i z kr\u00f3tkim podpisem.<\/p>\n<p>Co sprawdzi\u0107: w Rich Results Test obraz ma pe\u0142ny URL i minimum 1200 px szeroko\u015bci; w kodzie strony nie ma konfliktu wielu blok\u00f3w JSON\u2011LD z r\u00f3\u017cnymi obrazami.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Produkty_galerie_i_duze_zbiory\"><\/span>Produkty, galerie i du\u017ce zbiory<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Krok_22_obrazy_produktow_w_WooCommerce_%E2%80%93_priorytet_i_ostre_kadry\"><\/span>Krok 22: obrazy produkt\u00f3w w WooCommerce \u2013 priorytet i ostre kadry<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Na stronie produktu LCP bywa g\u0142\u00f3wny obraz. Ustaw dla niego priorytet i upewnij si\u0119, \u017ce miniatury nie pobieraj\u0105 wersji \u201efull\u201d.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Najczesciej_zadawane_pytania_FAQ\"><\/span>Najcz\u0119\u015bciej zadawane pytania (FAQ)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Jak_przyspieszyc_LCP_w_WordPressie_gdy_najwiekszy_element_to_obraz\"><\/span>Jak przyspieszy\u0107 LCP w WordPressie, gdy najwi\u0119kszy element to obraz?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Krok 1: zmniejsz plik do realnych wymiar\u00f3w (np. hero max 1600\u20131920 px, zdj\u0119cie w tre\u015bci 1000\u20131200 px) i skompresuj go do WebP lub AVIF. Krok 2: nadaj atrybuty width\/height albo styl aspect-ratio, aby zarezerwowa\u0107 miejsce. Krok 3: dla obrazu LCP wy\u0142\u0105cz lazy loading i ustaw loading=&#8221;eager&#8221; oraz fetchpriority=&#8221;high&#8221;; preloading stosuj tylko do tego jednego zasobu.<\/p>\n<p>Typowy b\u0142\u0105d: slider jako LCP z kilkoma ci\u0119\u017ckimi kadrami \u0142adowanymi od razu. Zast\u0105p go jednym statycznym uj\u0119ciem na start lub ogranicz liczb\u0119 natychmiast \u0142adowanych slajd\u00f3w.<\/p>\n<ul>\n<li>Co sprawdzi\u0107: czy LCP w PageSpeed Insights wskazuje obraz i czy ma width\/height.<\/li>\n<li>Co sprawdzi\u0107: brak loading=&#8221;lazy&#8221; przy elemencie LCP i obecny fetchpriority=&#8221;high&#8221;.<\/li>\n<li>Co sprawdzi\u0107: rozmiar pliku (cz\u0119sto da si\u0119 zej\u015b\u0107 poni\u017cej 200\u2013300 KB dla hero).<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Sytuacja wyj\u015bciowa: grafiki w WordPressie, po co to robi\u0107 Dwa \u017ar\u00f3d\u0142a zysku: szybciej i dodatkowy ruch z Google Grafika W polskich realiach to cz\u0119sty obraz: serwis na WordPressie, porz\u0105dny hosting, \u0142adny motyw, a mimo to strona g\u0142\u00f3wna i artyku\u0142y wczytuj\u0105 si\u0119 oci\u0119\u017cale. Winowajca? Zwykle nie pojedynczy skrypt, tylko suma nieoptymalnych grafik \u2013 zbyt du\u017ce wymiary, [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":13630,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[63],"tags":[],"class_list":["post-13629","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo-i-optymalizacja-stron"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/posts\/13629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/comments?post=13629"}],"version-history":[{"count":1,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/posts\/13629\/revisions"}],"predecessor-version":[{"id":13635,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/posts\/13629\/revisions\/13635"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/media\/13630"}],"wp:attachment":[{"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/media?parent=13629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/categories?post=13629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/tags?post=13629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}