Як перенести зображення на субдомен - прискорюємо завантаження сайту, блог олександра лощева

трохи теорії

Браузер завантажує картинки в міру прочитання коду (якщо не правий, поправте). Кожен файл бере на себе одне з'єднання, будь то картинки, скрипти або стилі. Кількість з'єднань з одного домену обмежена, візьмемо абстрактну цифру 10. Субдомен сприймається браузером як окремий домен, отже, з нього можна отримати ще 10 сполук. Тобто, тепер у нас стилі і скрипти вантажаться з основного домену, а картинки з іншого, разом 20 з'єднань. Якщо винести ще і скрипти на окремий домен, то отримаємо 30 і так далі.

Плюси. при високому навантаженні на хостинг. субдомен можна перенести взагалі на інший сервер (Наприклад, Хабрахабр так і працює, на декількох серверах).

Мінуси. відносна складність в установці.

Якщо у вас сайт на WordPress, то мінус, описаний вище, не вважається. Вордпресс підтримує розміщення зображень на іншому домені або субдомені.

План дій для нового сайту, на який ще не завантажували медіа-контент:

Створюєте субдомен через свою панель керування. В Cpanel це Домени -> Субдомени -> Створити. В Plesk фактично так само.

Потім потрібно зайти в Консоль WordPress-> Параметри -> Медіафайли

Тут потрібно діяти в залежності від того, яка у вас панель управління. Якщо ви створили субдомен img.domen.ru, то в Cpanel папка img автоматично створиться в корені сайту і буде доступна як domen.ru/img/. Тоді прописуємо так:

Зберігати файли в цій папці * порожньо *

В Plesk потрібно зробити трохи по іншому:

Зберігати файли в цій папці /home/vhosts/domen.ru/subdomains/img/httpdocs

Стежимо, щоб стояла галочка «Розміщувати завантажені мною файли в папки по місяцю і року».

Тепер потрібно виставити права на папку. В Cpanel нічого робити не треба, все нормально, а ось в Plesk на каталоги, де розміщена картинка, були невірно вказані права:

було - 754
потрібно - 755

Виставляємо 755 і радіємо, тепер все працює!

А тепер розглянемо, якщо сайт старий і вже дуже багато картинок завантажено.

Через панель заходимо в phpMyAdmin, там вибираємо нашу базу і натискаємо вкладку SQL. Прописуємо наступний код:

Цією командою ми відновимо в базі даних старі значення на нові.

Як перенести зображення на субдомен - прискорюємо завантаження сайту, блог олександра лощева

Натискаємо GO (або ОК, якщо версія російська).

Тепер потрібно ввести наступний код:

Готово! Тепер все зображення перенесені і база даних була поновлена.
Але, залишається одне АЛЕ. Пошуковики будуть пам'ятати старі посилання на зображення. Для запобігання цьому налаштуємо 301 редирект. У корені сайту відкриваємо файл .htaccess і додаємо туди рядок коду:

Зрозуміло у всіх продемонстрованих кодах потрібно замінити domen.ru і img.domen.ru на свої.