Опис
Autoptimize чини оптимизацију вашег сајта заиста лаком. Може да спаја, смањује и кешира скрипте и стилове, подразумевано убацује CSS у заглавље странице, али може и да уметне кључни CSS и одложи спојени цео CSS, премешта и одлаже скрипте у подножје и смањује HTML. Можете оптимизовати и лењо учитавати слике (уз подршку за облике WebP и AVIF), оптимизовати Google словне ликове, асинхроно учитавати несједињени JavaScript, уклонити сувишне емоџије из језгра Вордпреса и још много тога. Тако може побољшати перформансе вашег сајта чак и када већ користите HTTP/2! Доступан је обиман API који вам омогућава да Autoptimize прилагодите посебним потребама сваког сајта.
Ако мислите да су перформансе заиста важне, требало би бар да размотрите неки од бројних бесплатних додатака за кеширање страница (нпр. Speed Booster pack или KeyCDN’s Cache Enabler) као допуну Autoptimize-у или чак да размотрите Autoptimize Pro, који нема само кеширање страница, већ и оптимизацију слика, CDN, кључни CSS и још много тога!
Autoptimize Pro
Autoptimize Pro је премијум проширење које додаје оптимизацију слика, CDN, кеширање страница, самостална правила кључног CSS-а и додатне „booster“ могућности, све у једној згодној претплати да ваш сајт буде још бржи!!Премијум подршка
Пружамо одличне услуге премијум подршке и оптимизације веб перформанси уз Accelera, погледајте нашу понуду на https://accelerawp.com/!
(Слика брзог сурфовања под creative commons лиценцом аутора LL Twistiti)
Постављање
Једноставно поставите са Вордпрес екрана „Додаци > Додај нови“ и све ће бити у реду. И ручно постављање је веома једноставно:
- Отпремите zip датотеку и распакујте је у директоријум
/wp-content/plugins/ - Укључите додатак кроз изборник Додаци’ у Вордпресу
- Идите на
Подешавања > Autoptimizeи укључите могућности које желите. Углавном то значи „Optimize HTML/ CSS/ JavaScript“.
ЧПП
-
Шта додатак ради да би убрзао мој сајт?
-
Смањује све скрипте и стилове и подешава ваш веб сервер да их сажима уз добра expires заглавља. JavaScript ће подразумевано постати неблокирајући, а CSS може такође додавањем кључног CSS-а. Можете га подесити да спаја CSS и JS датотеке, у ком случају се стилови премештају у заглавље странице, а скрипте у подножје. Такође смањује HTML кôд и може оптимизовати слике и Google словне ликове, чинећи вашу страницу заиста лаганом.
-
Али користим HTTP/2, па ми Autoptimize није потребан?
-
HTTP/2 је свакако велики корак напред, знатно смањује утицај више захтева са истог сервера коришћењем исте везе за више истовремених захтева и из тог разлога Autoptimize на новим постављањима више неће спајати CSS и JS датотеке. Ипак, спајање CSS-а/ JS-а и даље може имати много смисла, као што је описано у овом чланку на css-tricks.com и овом чланку једног од Ebay инжењера. Закључак: подесите, тестирајте, поново подесите, поново тестирајте, дотерајте и погледајте шта најбоље ради у вашем контексту. Можда је то само HTTP/2, можда HTTP/2 + спајање и смањивање, можда HTTP/2 + смањивање (што AO такође може, једноставно одштиклирајте могућности „aggregate JS-files“ и/ или „aggregate CSS-files“). А Autoptimize наравно може много више од „само“ оптимизације вашег JS-а и CSS-а 😉
-
Да ли ће ово радити са мојим блогом?
-
Иако Autoptimize долази без икаквих гаранција, углавном ће радити беспрекорно ако га исправно подесите. Погледајте „Решавање проблема“ испод за податке о подешавању у случају проблема. Ако желите, можете тестирати Autoptimize на новом бесплатном пробном сајту, захваљујући tastewp.com.
-
Зашто jquery.min.js није оптимизован при спајању JavaScript-а?
-
Од AO 2.1 jquery.min.js из језгра Вордпреса се не оптимизује из једноставног разлога што многи популарни додаци убацују уметнути JS који се такође не спаја (због могућих проблема са величином кеша због јединственог кода у уметнутом JS-у), а који зависи од доступности jquery-ја, па изузимање jquery.min.js обезбеђује да већина сајтова ради без додатног подешавања. Ако желите да оптимизујете и jquery, можете га уклонити са списка изузетака JS оптимизације (можда ћете морати да укључите и „also aggregate inline JS“ или пређете на „force JS in head“).
-
Зашто JS који је обрадио Autoptimize блокира приказ?
-
Ово се дешава при спајању JavaScript-а и штиклирању могућности „force in head“ или када се не спаја и не одлаже. Размислите о промени подешавања.
-
Зашто се CSS који је обрадио Autoptimize и даље наводи као CSS који блокира приказ?
-
Уз подразумевана подешавања Autoptimize-а CSS је повезан у заглављу, што је безбедна подразумевана вредност, али се Google PageSpeed Insights жали. Можете размотрити „inline all CSS“ (лако) или „inline and defer CSS“ (боље), што је такође објашњено у овом ЧПП-у.
-
Чему служи „inline and defer CSS“?
-
CSS углавном треба да буде у заглављу документа. Недавно је, између осталих, Google почео да промовише одлагање небитног CSS-а, уз уметање стилова потребних за изградњу странице изнад прелома. То је нарочито важно за што бржи приказ страница на мобилним уређајима. Од Autoptimize 1.9.0 то је лако; изаберите „inline and defer CSS“, убаците блок „CSS-а изнад прелома“ у поље за унос (текстуалну област) и спремни сте!
-
Али како сазнати шта је „CSS изнад прелома“?
-
Не постоји лако решење за то, јер „изнад прелома“ зависи од тога где је прелом, што опет зависи од величине екрана. Ипак, постоје неке алатке које покушавају да утврде шта је тачно „изнад прелома“. Овај списак алатки одлична је почетна тачка. Sitelocity генератор кључног CSS-а и Jonas Ohlsson-ов criticalpathcssgenerator су лепа основна решења, а http://criticalcss.com/ је премијум решење истог Jonas Ohlsson-а. Као алтернатива, овај bookmarklet (само Chrome) такође може бити од помоћи.
-
Или треба да уметнете цео CSS?
-
Кратак одговор: вероватно не. Иако ће уметање целог CSS-а учинити CSS неблокирајућим, ваша основна HTML страница постаће знатно већа, па ће захтевати више „повратних путовања“. Уз то, када се у једној сесији прегледања затражи више страница, уметнути CSS шаље се сваки пут, док би се без уметања служио из кеша. Коначно, уметнути CSS ће померити мета ознаке у HTML-у на место где их Facebook или Whatsapp можда више неће тражити, што квари нпр. сличице при дељењу на тим платформама.
-
Мој кеш постаје огроман, зар Autoptimize не чисти кеш?
-
Autoptimize нема сопствени механизам за чишћење кеша, јер би то могло уклонити оптимизовани CSS/JS на који се и даље упућује у другим кешевима, што би покварило ваш сајт. Уз то, кеш који брзо расте указује на друге проблеме које треба да избегнете.
Уместо тога, величину кеша можете држати на прихватљивом нивоу на један од следећих начина:
- искључивањем могућности „aggregate inline JS“ и/ или „aggregate inline CSS“
- изузимањем JS променљивих (или понекад CSS селектора) које се мењају по страници (или по учитавању странице). Како то да урадите можете прочитати у овом чланку.
Упркос наведеним примедбама, постоје решења трећих страна за самостално чишћење AO кеша, нпр. коришћењем овог кода или овог додатка, али из наведених разлога треба их користити само ако заиста знате шта радите.
-
„Clear cache“ изгледа не ради?
-
При притиску на везу „Delete Cache“ у падајућем изборнику Autoptimize на траци администрације можете добити „Your cache might not have been purged successfully“. У том случају идите на страницу подешавања Autoptimize-а и притисните дугме „Save changes & clear cache“.
Уз то, не брините ако ваш кеш никад не падне на 0 датотека/ 0KB, јер ће Autoptimize (од издања 2.2) самостално унапред напунити кеш одмах пошто је очишћен, да би се даље смањивање знатно убрзало.
-
Мој сајт изгледа покварено када очистим кеш Autoptimize-а!
-
При чишћењу AO кеша, ниједан кеш страница не би требало да садржи странице (HTML) које упућују на уклоњени оптимизовани CSS/ JS. Иако у ту сврху постоји спајање између Autoptimize-а и неких кешева страница, оно не покрива 100% подешавања, па ћете можда морати ручно да очистите кеш страница.
-
Могу ли и даље да користим Cloudflare-ов Rocket Loader?
-
Cloudflare Rocket Loader је прилично напредан, али наметљив начин да JavaScript не блокира приказ, који Cloudflare и даље сматра бета издањем. Понекад Autoptimize и Rocket Loader раде заједно, а понекад не. Најбољи приступ је да искључите Rocket Loader, подесите Autoptimize, а затим поново укључите Rocket Loader (ако мислите да може помоћи) и тестирате да ли све и даље ради.
Тренутно (јун 2017.) изгледа да RocketLoader може покварити AO могућност „inline & defer CSS“, која се заснива на Filamentgroup-овом loadCSS, због чега се одложени CSS не учитава.
-
Autoptimize је испробан, али се Google Pagespeed резултат једва побољшао
-
Autoptimize није једноставан додатак за „поправку мојих Pagespeed проблема“; он „само“ спаја и смањује (локални) JS и CSS и слике и омогућава неке лепе додатке као што су уклањање Google словних ликова и одлагање учитавања CSS-а. Тако ће вам Autoptimize омогућити да побољшате перформансе (време учитавања мерено у секундама) и вероватно ће вам помоћи да решите нека конкретна Pagespeed упозорења. Ако желите даља побољшања, вероватно ћете морати да се позабавите нпр. кеширањем страница и подешавањем веб сервера, што ће побољшати стварне перформансе (опет, време учитавања мерено нпр. на https://webpagetest.org) и ваше pagespeed оцене „најбољих пракси перформанси“.
-
Шта могу да радим са API-јем?
-
Много тога; постоје филтери које можете користити за условно искључивање Autoptimize-а по захтеву, промену изузетака за CSS и JS, промену ограничења за уметање позадинских слика у CSS, одређивање које JS датотеке се премештају иза спојене, промену атрибута defer на ознаци спојеног JS-а, … Примери за неке филтере налазе се у autoptimize_helper.php_example и у овом ЧПП-у.
-
Како ради CDN?
-
Од издања 1.7.0, CDN се укључује уносом основног CDN директоријума блога (нпр. http://cdn.example.net/wordpress/). Ако та адреса постоји, користиће се за све датотеке које прави Autoptimize (тј. спојени CSS и JS), укључујући позадинске слике у CSS-у (када се не користе data-uri).
Ако желите да и ваше отпремљене слике буду на CDN-у, можете променити upload_url_path у Вордпрес подешавањима (/wp-admin/options.php) на циљни CDN директоријум за отпремања (нпр. http://cdn.example.net/wordpress/wp-content/uploads/). Имајте у виду да ово ради само за слике отпремљене од тог тренутка, а не за већ отпремљене слике. Хвала BeautyPirate-у на савету!
-
Зашто се и моји словни ликови не стављају на CDN?
-
Autoptimize ово подржава, али није подразумевано укључено јер нелокални словни ликови могу захтевати додатно подешавање. Али ако је ваша политика захтева између изворишта у реду, можете рећи Autoptimize-у да стави словне ликове на CDN повезивањем на API, постављањем
autoptimize_filter_css_fonts_cdnнаtrueна овај начин;add_filter( 'autoptimize_filter_css_fonts_cdn', '__return_true' ); -
Користим Cloudflare, шта треба да унесем као основни CDN директоријум
-
Ништа, када сте на Cloudflare-у, ваш CSS/ JS који је обрадио Autoptimize самостално је на Cloudflare-овом CDN-у.
-
Како да приморам да спојене датотеке буду статични CSS или JS уместо PHP-а?
-
Ако је ваш веб сервер исправно подешен за сажимање (gzip или deflate) и истек кеша (expires и cache-control уз довољну могућност кеширања), није вам потребно да Autoptimize то ради уместо вас. У том случају можете штиклирати могућност „Save aggregated script/css as static files?“, која ће приморати Autoptimize да спојене датотеке чува као .css и .js датотеке (што значи да за служење тих датотека није потребан PHP). Ово подешавање је подразумевано од Autoptimize 1.8.
-
Како ради „exclude from optimizing“?
-
И CSS и JS оптимизација могу прескочити спајање и смањивање кода додавањем „идентификатора“ на списак изузетака раздвојен запетама. Тачна ниска идентификатора која се користи може се утврдити на овај начин:
- ако желите да изузмете одређену датотеку, нпр. wp-content/plugins/funkyplugin/css/style.css, можете једноставно изузети „funkyplugin/css/style.css“
- ако желите да изузмете све датотеке одређеног додатка, нпр. wp-content/plugins/funkyplugin/js/*, можете изузети на пример „funkyplugin/js/“ или „plugins/funkyplugin“
- ако желите да изузмете уметнути кôд, мораћете да пронађете конкретну, јединствену ниску у том блоку кода и додате је на списак изузетака. Пример: да бисте изузели
<script>funky_data='Won\'t you take me to, Funky Town'</script>, идентификатор је „funky_data“.
-
Решавање проблема са Autoptimize-ом
-
Погледајте упутства за решавање проблема на https://blog.futtta.be/2022/05/05/what-to-do-when-autoptimize-breaks-your-site/
-
Датотеке су изузете, али их Autoptimize и даље обрађује?
-
AO смањује изузети JS/ CSS ако име датотеке указује да датотека још није смањена. Од AO 2.5 ово можете искључити на језичку „JS, CSS & HTML“ у разним могућностима, одштиклирањем „minify excluded files“.
-
Помоћ, имам празну страницу или internal server error после укључивања Autoptimize-а!!
-
Уверите се да истовремено са Autoptimize-ом не користите друге додатке за смањивање HTML-а, CSS-а или JS-а (BWP minify, WP minify, …) или искључите ту функционалност у додатку за кеширање страница (W3 Total Cache, WP Fastest Cache, …). Покушајте да укључите само CSS или само JS оптимизацију да видите која изазива грешку сервера и пратите опште кораке за решавање проблема да бисте пронашли заобилазно решење.
-
Али и даље имам празне CSS или JS датотеке које је обрадио Autoptimize!
-
Ако користите Apache, .htaccess датотека коју пише Autoptimize у неким случајевима може бити у сукобу са подешавањима AllowOverrides вашег Apache подешавања (као што је случај са подразумеваним подешавањима неких Ubuntu постављања), што доводи до „internal server errors“ на CSS и JS датотекама које обрађује Autoptimize. То се може решити постављањем AllowOverrides на All.
-
Не могу да се пријавим на мрежи сајтова са мапираним доменима
-
Мреже сајтова са мапираним доменима захтевају да се Autoptimize покрене на другој Вордпрес радњи, додајте овај ред кода у wp-config.php да бисте га повезали, на пример, на
setup_theme:define( 'AUTOPTIMIZE_SETUP_INITHOOK', 'setup_theme' ); -
Не добијам грешку, али моје странице уопште нису оптимизоване?
-
Autoptimize обавља низ провера пре стварне оптимизације. Када је тачно нешто од следећег, ваше странице неће бити оптимизоване:
- када сте у прилагођивачу
- ако нема почетне ознаке
<html - ако у одговору постоји
<xsl:stylesheet(што указује да излаз није HTML, већ XML) - ако у одговору постоји
<html amp(јер су AMP странице већ оптимизоване) - ако је излаз RSS довод (функција is_feed())
- ако је излаз Вордпрес администраторска страница (функција is_admin())
- ако је страница затражена уз ?ao_noptimize=1 додато на адресу
- ако се код повезује на Autoptimize да би искључио оптимизацију (погледајте тему о Visual Composer-у)
- ако други додаци користе излазни бафер на несагласан начин (избирљиво искључујте друге додатке да бисте пронашли кривца)
-
Visual Composer, Beaver Builder и слична решења за прављење страница су покварена!!
-
Искључите могућност да Autoptimize буде активан за пријављене кориснике и слободно превлачите и спуштајте 😉
-
Помоћ, плаћање/ наплата у мојој продавници не ради!!
-
Искључите могућност оптимизације страница корпе/ плаћања (ради за WooCommerce, Easy Digital Downloads и WP eCommerce).
-
Revolution Slider је покварен!
-
Уверите се да је
js/jquery/jquery.min.jsна списку изузетака JS оптимизације раздвојеном запетама (ово је изузето у подразумеваним подешавањима). -
Добијам грешке „jQuery is not defined“
-
У том случају имате несједињени JavaScript који захтева да jQuery буде учитан, па ћете морати да додате
js/jquery/jquery.min.jsна списак изузетака JS оптимизације раздвојен запетама. -
Користим NextGen Galleries и много JS-а није спојено/ смањено?
-
NextGen Galleries ради неке паметне ствари за додавање JavaScript-а. Да би Autoptimize могао то да споји, можете или искључити управљач ресурсима Nextgen Gallery-ја овим исечком кода
add_filter( 'run_ngg_resource_manager', '__return_false' );или рећи Autoptimize-у да се покрене раније, додавањем овога у wp-config.php:define("AUTOPTIMIZE_INIT_EARLIER","true"); -
Шта је noptimize?
-
Од издања 1.6.6 Autoptimize изузима све унутар noptimize ознака, нпр.:
<!--noptimize--><script>alert(‘this will not get autoptimized’);</script><!--/noptimize-->То можете урадити у садржају странице/ чланка, у виџетима и у датотекама теме (размислите о прављењу подређене теме да ажурирања теме не би преписала ваш рад).
-
Могу ли да променим директоријум и име кешираних датотека Autoptimize-а?
-
Да, ако желите да служите датотеке из нпр. /wp-content/resources/aggregated_12345.css уместо подразумеваног /wp-content/cache/autoptimize/autoptimize_12345.css, додајте ово у wp-config.php:
define('AUTOPTIMIZE_CACHE_CHILD_DIR','/resources/'); define('AUTOPTIMIZE_CACHEFILE_PREFIX','aggregated_'); -
Да ли ово ради са WP_CONTENT_URL који није подразумеван?
-
Не, Autoptimize не подржава WP_CONTENT_URL који није подразумеван, али се то може постићи са неколико редова кода који се повезују на API Autoptimize-а.
-
Могу ли направљени JS/ CSS бити унапред сажети gzip-ом?
-
Да, али је ово подразумевано искључено. Можете га укључити прослеђивањем ´true´ у ´autoptimize_filter_cache_create_static_gzip´. Наравно, и даље ћете морати да подесите веб сервер да користи ове датотеке уместо несажетих да бисте избегли додатно оптерећење сажимања у ходу.
-
Шта ради „remove emojis“?
-
Ова нова могућност у Autoptimize 2.3 уклања уметнути CSS, уметнути JS и повезану JS датотеку које додаје језгро Вордпреса. Тако може имати мали позитиван утицај на перформансе вашег сајта.
-
Да ли је „remove query strings“ корисно?
-
Иако ће неке онлајн алатке за процену перформанси истаћи „ниске упита за статичне датотеке“ као проблем перформанси, њихов утицај је углавном готово непостојећи. Зато Autoptimize од издања 2.3 омогућава уклањање ниске упита (тачније параметра „ver“), али штиклирање „remove query strings from static resources“ имаће мали или никакав утицај на перформансе вашег сајта мерене у (мили)секундама.
-
(Како) треба да оптимизујем Google словне ликове?
-
Google словни ликови обично се учитавају повезаном CSS датотеком која „блокира приказ“. Ако имате тему и додатке који користе Google словне ликове, можете завршити са више таквих CSS датотека. Autoptimize (од издања 2.3) сада вам омогућава да смањите утицај Google словних ликова тако што ћете их или потпуно уклонити или оптимизовати начин њиховог учитавања. Постоје две врсте оптимизације; прва је „combine and link“, која замењује све захтеве за Google словне ликове једним захтевом, који ће и даље блокирати приказ, али ће омогућити да се словни ликови учитају одмах (што значи да нећете видети промену словних ликова док се страница учитава). Алтернатива је „combine and load async“, која користи JavaScript за учитавање словних ликова без блокирања приказа, али може изазвати „бљесак необликованог текста“.
-
Да ли треба да користим „preconnect“
-
Preconnect је донекле напредна функција која упућује прегледаче (ако је подржавају) да успоставе везу са одређеним доменима чак и ако веза није одмах потребна. Може се користити нпр. за смањење утицаја ресурса трећих страна на HTTPS-у (јер се DNS захтев, TCP веза и SSL/TLS преговарање извршавају рано). Користите опрезно, јер унапред повезивање са превише домена може бити контрапродуктивно.
-
Када (не) могу асинхроно да учитам JS?
-
JavaScript датотеке које Autoptimize не обрађује (јер су изузете или хостоване негде другде) обично блокирају приказ. Додавањем у поље „async JS“ раздвојено запетама, Autoptimize ће додати ознаку async због које ће прегледач те датотеке учитавати асинхроно (тј. без блокирања приказа). Међутим, ово може покварити ваш сајт (страницу), нпр. ако асинхроно учитате „js/jquery/jquery.min.js“, врло вероватно ћете добити грешке „jQuery is not defined“. Користите опрезно.
-
Како ради оптимизација слика?
-
Када је оптимизација слика укључена, Autoptimize ће тражити png, gif, jpeg (.jpg) датотеке у ознакама слика и у вашим CSS датотекама које се учитавају са вашег домена и променити src (извор) на ShortPixel CDN за њих. Важно: ово може да ради само за јавно доступне слике, у супротном прокси за оптимизацију слика неће моћи да преузме слику ради оптимизације, па заштитни зидови, проксији, заштита лозинком или чак спречавање директног повезивања могу покварити оптимизацију слика.
-
Могу ли да користим оптимизацију слика за свој интранет/ заштићени сајт?
-
Не; оптимизација слика зависи од тога да ли спољна услуга оптимизације слика може да преузме изворну слику са вашег сајта, оптимизује је и сачува на CDN-у. Ако ваше слике не могу да преузму анонимни посетиоци (због заштитног зида/ проксија/ заштите лозинком/ заштите од директног повезивања), оптимизација слика неће радити.
-
Где могу да добијем више података о оптимизацији слика?
-
Погледајте Shortpixel ЧПП.
-
Могу ли да искључим да AO слуша чишћења кеша страница?
-
Од AO 2.4 AO „слуша“ чишћења кеша страница да би очистио сопствени кеш. Ово понашање можете искључити овим филтером;
add_filter('autoptimize_filter_main_hookpagecachepurge','__return_false'); -
Неки не-ASCII знакови се губе после оптимизације
-
AO подразумевано користи методе за ниске које нису безбедне за вишебајтне знакове, али ако ваш PHP има проширење mbstring, можете укључити функције безбедне за вишебајтне знакове овим филтером;
add_filter('autoptimize_filter_main_use_mbstring', '__return_true'); -
Critical CSS ми не ради
-
Погледајте ЧПП о (застарелом) „power-up“ овде, ови подаци биће укључени у овај ЧПП касније.
-
Да ли ми је и даље потребно проширење Critical CSS када имам Autoptimize 2.7 или новији?
-
Не, проширење Critical CSS више није потребно, сва функционалност (и многе исправке/ побољшања) сада су део Autoptimize-а.
-
Шта ради „enable 404 fallbacks“? Зашто би ми то било потребно?
-
Autoptimize кешира спојени и оптимизовани CSS/ JS, а везе ка тим кешираним датотекама чувају се у HTML-у, који ће бити сачуван у кешу страница (што може бити додатак, на нивоу хостинга, код треће стране, у Google кешу, у прегледачу). Ако у кешу страница постоји HTML који упућује на CSS/ JS који је Autoptimize обрадио, а који је у међувремену уклоњен (када је кеш очишћен), страница из кеша неће изгледати/ радити како се очекује јер CSS или JS нису пронађени (грешка 404).
Ово подешавање има за циљ да спречи кварење служењем „резервног“ CSS-а или JS-а. Резервне датотеке су копије првих CSS и JS датотека које је Autoptimize направио после пражњења кеша и као такве биће засноване на почетној страници. То значи да се CSS/ JS можда неће 100% применити на друге странице, али ће утицај недостајућег CSS-а/ JS-а бити умањен (често знатно).
Када је могућност укључена, Autoptimize додаје
ErrorDocument 404у .htaccess (како га користи Apache) и такође се повезује наtemplate_redirectиз језгра Вордпреса да би ухватио 404 грешке које обрађује Вордпрес. При коришћењу NGINX-а требало би да ради нешто попут доњег (нисам NGINX стручњак, али код мене ради);location ~* /wp-content/cache/autoptimize/.*\.(js|css)$ { try_files $uri $uri/ /wp-content/autoptimize_404_handler.php; }А ово је леп алтернативни приступ (пружио fboylovesyou);
location ~* /wp-content/cache/autoptimize/.*\.(css)$ { try_files $uri $uri/ /wp-content/cache/autoptimize/css/autoptimize_fallback.css; } location ~* /wp-content/cache/autoptimize/.*\.(js)$ { try_files $uri $uri/ /wp-content/cache/autoptimize/js/autoptimize_fallback.js; } -
Који софтвер/ пројекти отвореног кода се користе у Autoptimize-у?
-
Следећи одлични пројекти отвореног кода користе се у Autoptimize-у у овом или оном облику:
- Mr Clay’s Minify за смањивање JS-а и HTML-а
- YUI CSS compressor PHP Port за смањивање CSS-а
- Lazysizes за лењо учитавање
- Persist Admin Notices Dismissal за обавештења на администраторским екранима
- Plugin Update Checker за самостална ажурирања са Github-а за бета издање
- LoadCSS за одлагање целог CSS-а
- jQuery cookie за чување избора категорије „futtta about“ у колачићу
- jQuery tablesorter за приказ правила/ задатака кључног CSS-а
- jQuery unslider за мини клизач у горњем десном углу главне странице подешавања (складиште више не постоји)
- JavaScript-md5 за уређивање правила кључног CSS-а
- Speed Booster Pack за напредно одлагање JS-а
- Disable Remove Google Fonts за додатно уклањање Google словних ликова
-
Где могу да добијем помоћ?
-
Помоћ можете добити на форуму подршке wordpress.org. Ако сте 100% сигурни да ваш проблем не може да се реши подешавањем Autoptimize-а и да сте заправо открили грешку у коду, можете отворити пријаву на GitHub-у. Ако тражите премијум подршку, погледајте наше услуге Autoptimize Pro подршке и оптимизације веб перформанси.
-
Желим да престанем да га користим, како да уклоним Autoptimize?
-
- Искључите додатак (ово ће уклонити могућности и кеш)
- Уклоните додатак
- Очистите сваки кеш који би могао и даље да садржи странице које упућују на CSS/JS који је обрадио Autoptimize (нпр. кеш додатка за кеширање страница као што је WP Super Cache)
-
Како могу да помогнем/ допринесем?
-
Једноставно направите fork Autoptimize-а на Github-у и почните да кодирате!
Рецензије
Сарадници и градитељи
„Autoptimize“ је софтвер отвореног кода. Следећи људи су допринели овом додатку.
Сарадници„Autoptimize“ је преведен на 35 језика. Хвала преводиоцима на њиховим доприносима.
Преведите „Autoptimize“ на свој језик.
Заинтересовани сте за развој?
Прегледајте кôд, погледајте SVN складиште или се претплатите на дневник развоја преко RSS-а.
Дневник измена
3.1.16
- Безбедност: опште ојачавање Autoptimize-а, нпр. замена неких регуларних израза савременијим, безбеднијим приступом.
- Смањивање CSS-а: исправке проблема са алфа каналом rgb()/hsl() боја (хвала @hinnerk-a)
- Critical CSS: побољшања стављања задатака у ред чекања и дотеривања странице подешавања
- потврђено да ради са Вордпресом 7.1
3.1.15.1
- исправка за „Uncaught Error: Using $this when not in object context“ када су постављена унапред учитавања
3.1.15
- додаје се и fetchpriority=high за унапред учитавање постављено на језичку Extra
- побољшан приказ излазне анкете на RTL језицима
- безбедносна побољшања за 2 проблема са сачуваним XSS-ом уз проверу идентитета које су одговорно пријавили stealhcopter и bashu
- више мањих измена/ побољшања/ исправки грешака, погледајте GitHub дневник комита.
3.1.14
- побољшан HTML излаз за <link rel=“preload“ слике (на основу пријаве коју је послао Muhammad)
- руковалац 404 грешака враћа HTTP одговор 302 уместо 301 (како је навео thefitrv)
- мало побољшање руковања cron задатком кључног CSS-а у случају празног „временског ограничења“ (хвала на помоћи, Jason)
- исправљена грешка у „везивању за домен“ у напредним могућностима кључног CSS-а (пријавила Hazel)
- хватање и пријављивање (изузетних) проблема JS оптимизације због којих се preg_replace_callback руши (у случају огромне количине JS кода), хвала siliconforks
- потврђено да ради са Вордпресом 6.9
3.1.13
- више мањих измена/ побољшања/ исправки грешака, погледајте GitHub дневник комита.
3.1.12
- оптимизација слика: побољшања регуларног израза за иконицу сајта
- оптимизација javascript-а: укључено најновије издање jsmin.php
- кључни CSS: побољшан списак блокирања (адресе/ путање које не треба додавати у ред чекања задатака)
- неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.11
- побољшања квалитета кода, погледајте GitHub дневник комита.
- неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.10
- побољшање: када су укључени „don’t aggregate but defer“ и „also defer inline JS“, одлаже се и JS који је имао ознаку async да се (раније) асинхрони JS не би извршио пре уметнутог JS-а.
- побољшање: приказује се могућност искључивања подразумеване „логике сагласности“.
- исправка регресије у 3.1.9 због које JetPack оптимизација слика није радила чак и када је оптимизација слика била искључена у AO.
- API: неки додатни кукови у кључном CSS-у да би други (и AOPro) могли да реагују на измене правила кључног CSS-а
- неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.9
- побољшање: JS, CSS и HTML оптимизација укључују се при укључивању додатка (захвалност Adam Silverstein-у (инжењер за односе са градитељима у Google-у))
- побољшање: одлаже се и асинхрони JS (да би редослед извршавања остао нетакнут; асинхрони JS не треба да се изврши пре одложеног уметнутог JS-а од ког можда зависи)
- побољшање: слике се изузимају из лењог учитавања ако имају атрибут fetchpriority постављен на high (као што ради језгро Вордпреса од 6.3)
- исправка грешке: искључена провера правописа у CSS текстуалним пољима (CSS изнад прелома/ кључни CSS), што је у неким случајевима изазивало проблеме у прегледачу
- додат језичак који објашњава Autoptimize Pro.
- потврђено да ради са Вордпресом 6.4 (бета 3)
- неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.8.1
- хитна исправка PHP грешке, извините због тога!
3.1.8
- Слике: побољшана логика оптимизације за позадинске слике
- Critical CSS: правило custom_post не покреће се ако није is_singular + додато бележење за отклањање грешака за избор правила
- неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.7
- безбедност: побољшана провера (увоз) и пречишћавање (излаз) правила кључног CSS-а, ради исправке рањивости Admin+ Stored Cross-Site Scripting средње озбиљности коју је пријавио WP Scan Security.
3.1.6
- CSS: уклањају се косе црте на крају у <link ознакама ради боље W3 HTML провере
- Extra: уклања се и CSS WooCommerce блокова ако је укључена могућност „remove WordPress block CSS“
- imgopt: обрађује се и несједињени уметнути CSS
- imgopt: додата логика за упозоравање корисника ако Shortpixel не може да приступи њиховом сајту
- администраторски део: JS/ CSS AO траке са алаткама коначно је такође смањен.
- изричито искључена оптимизација страница за пријаву
- неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.5
- побољшања JSMin-а које је направио Robert Ehrenleitner (велико хвала, Robert!).
- jquery.js се више не сматра смањеним (Вордпрес сада подразумевано користи jquery.min.js, а jquery.js је несмањено издање).
- исправка за PHP грешке „undefined array key“ у autoptimizeCriticalCSSCron.php
- неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.4
- Побољшање: када је цео CSS уметнут, покушава се уметање после SEO мета ознака (непосредно пре ld+json ознаке скрипте коју већина SEO додатака додаје као последњу ставку).
- Img opt: оптимизују се и слике постављене у атрибутима data-background и data-retina (+ филтер за лако додавање других атрибута)
- CSS opt: филтер који омогућава AO да прескочи смањивање calc формула у CSS-у (јер их CSS смањивач у ретким приликама квари)
- Додато више других филтера
- Неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.3
- Више исправки унапред учитавања LCP слика у мета оквиру (хвала Kishorchand-у на обавештењу и пробном окружењу за отклањање грешака).
- Исправка у сагласности са revslider-ом (захвалност Waqar Ahmed-у на пријави и помоћи ).
- Нема више покушаја оптимизације слика или criticalcss на localhost постављањима + обавештење о томе ако се открије localhost.
- Неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.2
- Google словни ликови: још мало логике уклањања
- исправка грешке 404 резервне могућности (захвалност Asif-у на проналажењу и пријави)
- Неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.1.1
- Брзо заобилазно решење за сукоб самосталног учитавања са JetFormBuilder-ом (и можда другим Crocoblock додацима?) које изазива кобну грешку на страници AO подешавања.
3.1.1
- слике: када се слике оптимизују и лењо учитавање је укључено, подразумевано се више не поставља LQIP (чувар места слике ниског квалитета) (разлог: може изгледати лепо, али доноси мали губитак перформанси). Ово се може поново укључити враћањем true филтеру
autoptimize_filter_imgopt_lazyload_dolqip. - безбедност: додатна побољшања странице подешавања кључног CSS-а (поново уз велику помоћ WPScan Security).
- неке друге мање измене/ побољшања/ филтери, погледајте GitHub дневник комита.
3.1.0
- нова HTML подмогућност: „minify inline CSS/ JS“ (подразумевано искључено).
- нова разна могућност: трајно дозвољава уклањање ознаке „do not run compatibility logic“ (која је постављена за кориснике који су надоградили са AO 2.9.* на AO 3.0.*, уз претпоставку да све ионако ради).
- безбедност: побољшања странице подешавања кључног CSS-а ради исправке проблема cross site scripting уз проверу идентитета које је пријавио WPScan Security.
- исправка грешке: „defer inline JS“ за веома велике делове уметнутог JS-а могао је да изазове грешке сервера (заправо пад PCRE-а), па се не одлаже ако је ниска дужа од 200000 знакова (доступан филтер).
- неке друге мање измене/ побољшања/ кукови, погледајте GitHub дневник комита
3.0.4
- исправка за „undefined array key ao_post_preload” на екранима уређивања чланака/ страница
- исправка за оптимизацију слика која је мењала уметнути JS који садржи ознаку
<imgако лењо учитавање није активно - побољшања излазне анкете
- потврђено да ради са Вордпресом 6.0
3.0.3
- исправка за слике које су унапред учитаване без подешавања када је лењо учитавање укључено, а подешавања по страници/чланку искључена.
- обезбеђено је да распоред кључног CSS-а увек буде познат.
- при одлагању несједињеног JS-а, изузеци од оптимизације узимају у обзир целу ознаку скрипте уместо само src адресе.
3.0.2
- враћено самостално „minify inline CSS/ JS“ које је покварило више него што се очекивало, ово ће се касније вратити као засебна подразумевано искључена могућност, а сада се може укључити једноставним филтером:
add_filter( 'autoptimize_html_minify_inline_js_css', '__return_true');. - исправка за „Call to undefined method autoptimizeOptionWrapper::delete_option()“ у autoptimizeVersionUpdatesHandler.php
3.0.1
- исправка за смањивање уметнуте скрипте врсте text/template која је кварила шаблон (нпр. ninja forms), захвалност @bobsled.
- исправка регресије у увозу CSS датотека због које је нпр. fontawesome CSS био покварен јер је поново escape-ован, уз помоћ @bobsled, хвала!
3.0.0
- суштинска измена за нова постављања: Autoptimize подразумевано више неће спајати JS/ CSS (HTTP/2 је свеприсутан и постоје друге предности несједињавања, нарочито у вези са уметнутим JS/ CSS-ом и зависностима)
- ново: за прављење ручних правила кључног CSS-а више није потребан API.
- ново: могућност „Remove WordPress blocks CSS“ на језичку „Extra“ за уклањање стилова блокова и глобалних стилова (и SVG-а).
- ново: логика сагласности за „edit with elementor“, „revolution slider“, за несједињени уметнути JS који захтева jQuery чак и ако није изузет (= самостално изузимање jQuery-ја) и Вордпрес блокове са много JS-а (Gutenberg)
- ново: подешавање слике која се унапред учитава по страници/ чланку ради бољег LCP-а.
- побољшање: одлагање уметнутог сада је дозвољено и ако уметнути JS садржи nonce или post_id.
- побољшање: извоз/ увоз подешавања на језичку кључног CSS-а сада узима у обзир сва подешавања Autoptimize-а, не само подешавања кључног CSS-а.
- техничко побољшање: све criticalCSS класе су преуређене, уз уклањање коришћења глобалних променљивих.
- техничко побољшање: самостални јединични тестови на Travis-CI за PHP издања од 7.2 до 8.1.
- исправка: Divi више не чисти кеш Autoptimize-а, што је прилично контрапродуктивно.
- разне мање исправке/ побољшања, погледајте GitHub дневник комита
