По-голяма скорост за WordPress чрез .htaccess

Максимално висока скорост за WordPress чрез оптимизация на htaccess файла

Здравейте отново!

Вече разгледахме темата за увеличаване на скоростта на всеки един website чрез оптимизиране на наличните картинки, снимки и други изображения . Също така разгледахме и как можете да оптимизирате скоростта на вашия Joomla! сайт чрез .htaccess в статията SEO за Joomla в няколко лесни стъпки .

Съвсем логично сега дойде времето да разгледаме възможностите за постигане на по-голяма скорост и за WordPress сайтовете чрез добавяне на информация в .htaccess!

И така... Идеята зад съществуването на .htaccess e бърза и ефективна промяна на настройките на сървъра. Ако следите редовно съдържанието в Optibg.com вече знаете за някои практически приложения на този файл, като например ограничаване на достъпа на някои спам ботове до вашия сайт. .Htaccess всъщност може да се използва за много повече от това! Например чрез него можете да създадете ваша персонализирана страница за грешка (404 страница). Също така можете да направите и различни препратки. Можете да забраните и достъпа до файлове и папки, както и редица други дейности! Тоест, както уточнихме в началото - .htaccess ви позволява да настроите сървъра, на който хоствате вашия сайт. Оптимизирането на скоростта чрез този файл ви позволява да се възползвате по-добре от кеширането на браузъра (leverage browser caching), което е важно изискване от страна на Google!

А сега нека да забързаме работата на WordPress чрез добавяне на следните редове в .htaccess (Обновени през 2022 година!) :

  • Премахнете проблемния ETag header - ETag технологията се слави като бавна и проблематична. Ето защо е добра идея да премахнем въпросния хедър. Другата причина, поради която ще поискате да направите това, е свързана с използването на Expires. Така можете да избегнете евентуални конфликти. Добавете следния код в началото на .htaccess:
Header unset Pragma

FileETag None

Header unset ETag

## EXPIRES CACHING ##

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/webp "access plus 1 year"

ExpiresByType image/jpg "access plus 1 year"

ExpiresByType image/jpeg "access plus 1 year"

ExpiresByType image/gif "access plus 1 year"

ExpiresByType image/png "access plus 1 year"

ExpiresByType text/css "access plus 1 year"

ExpiresByType application/pdf "access plus 1 month"

ExpiresByType application/javascript "access plus 1 year"

ExpiresByType text/x-javascript "access plus 1 year"

ExpiresByType application/x-shockwave-flash "access plus 1 month"

ExpiresByType image/x-icon "access plus 1 year"

ExpiresDefault "access plus 10 years"

</IfModule>

## EXPIRES CACHING ##

Така ще кажете на браузърите на вашите посетители колко време могат да използват изтеглените файлове от сайта ви при предишни посещения, когато се извършват последващи такива. Можете да си поиграете с тези стойности, ако желаете, но в този вид би следвало да постигнете чудесни резултати, свързани с leverage browser caching.

  • Добавете редове за компресиране на компоненти - имайте предвид, че долните команди за .htaccess може и да не работят при вас, ако сървърът ви не притежава mod_deflate или mod_gzip като част от Apache. Добавете кодовете веднага след блокът EXPIRES CACHING от предната стъпка.

Кодове за mod_deflate:

# BEGIN DEFLATE COMPRESSION

<IfModule mod_deflate.c>

# Compress HTML, CSS, JavaScript, Text, XML and fonts

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/vnd.ms-fontobject

AddOutputFilterByType DEFLATE application/x-font

AddOutputFilterByType DEFLATE application/x-font-opentype

AddOutputFilterByType DEFLATE application/x-font-otf

AddOutputFilterByType DEFLATE application/x-font-truetype

AddOutputFilterByType DEFLATE application/x-font-ttf

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE font/opentype

AddOutputFilterByType DEFLATE font/otf

AddOutputFilterByType DEFLATE font/ttf

AddOutputFilterByType DEFLATE image/svg+xml

AddOutputFilterByType DEFLATE image/x-icon

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/xml

</IfModule>

# END DEFLATE COMPRESSION

Кодове за mod_gzip:

<IfModule mod_gzip.c>

mod_gzip_on Yes

mod_gzip_dechunk Yes

mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$

mod_gzip_item_include handler ^cgi-script$

mod_gzip_item_include mime ^text/.*

mod_gzip_item_include mime ^application/x-javascript.*

mod_gzip_item_exclude mime ^image/.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

</IfModule>

А сега изчистете кеша на вашия WordPress сайт и проверете скоростта си в Google Page Speed Insights, YSlow, GTMetrix или Pindgom. 🙂

До нови срещи и успех!

Даниел Ангелов

Даниел Ангелов

За автора: Software Quality Assurance Specialist (Manual & Automation Frontend и Backend тестване). Сертифициран специалист по SEO и дигитален маркетинг с богат опит в изграждането и оптимизирането на WordPress сайтове и копирайтинга. Автор и собственик на Optibg.com. Интереси: Python, Selenium, Appium, REST API Testing, Javascript, Софтуер с отворен код, Маркетинг, Photoshop и други. Обича: Да чете книги, компютърни игри и да лови риба. За повече информация посетете страницата "Относно блога" и разгледайте неговото портфолио.