Дієта для Joomla

Joomla: CMS з відкритим кодом

Joomla: CMS з відкритим кодом

Так склалось, що доводиться ліпити сайти на основі CMS Joomla. З давніх часів, починаючи з версії 1.0.7, і зараз 1.5.15… Хороший продукт, GPL і взагалі тру.

В дефолтному ванільному вигляді включає набір базових розширень, які для деяких проектів є непотрібними, або ж заміняються аналогами строннії розробників. Можна за рахунок оптимізації зменшити розмір дистрибутива, і, відповідно, кількість файлів у ньому.

Хоч зараз живемо в інформаційному столітті з терабайтними накопичувачами за доступною ціною, на хостингу все ж доцільно економити місце. Як на кодах, так і на базі даних, також, відповідно, бекапах.

Традиційно попереджаю, що всі нижченаведені дії робити лише маючи ясну голову, бекапи сайту, і краще на локальному веб-сервері. Автор не несе відповідальності ні за що, це лише рекомендації у формі висновків з власного досвіду.

При встановленні немає потреби вставляти в базу приклади контенту. Потім їх і так доведеться терти. Вже після установки видаляєм скрипт установки, який знаходиться у /installation, configuration.php-dist (приклад конфіга), перейменовуєм htaccess.php в .htaccess, також не грають ролі файли CHANGELOG, CREDITS, LICENSE, LICENSES, COPYRIGHT – такі файли варто лишати лиш у випадку подальшого поширення продукту з відкритим кодом. Виграємо таким чином 2.1 мб місця.

Якщо немає потреби працювати з кількома локалізаціями інтерфейсу, можна потерти файли локалізації в /language і /administrator/language. Кожна локалізація важить біля 60 кб вкупі.

Також у /language лежить каталог pdf_fonts, тут лежать шрифти для подальшої генерації PDF-файлів з контентом. Якщо немає потреби генерувати їх, можна потерши здобути 350 кб місця.

Далі шаблони. По дефолту в /templates лежать три шаблони: beez, ja_purity, rhuk_milkyway. Навіщо нам їх аж три, тим більше що часто ставиться або ж верстається альтернативний шаблон. Але нехай, rhuk_milkyway ми залишим для роботи, два перші витерти, винагородою за що стане 700 кб.

Таааакс. Їдем далі. В каталозі /images є місцинка для аплоаду зображень до контенту, а саме /images/stories. Звідти доцільно стандартні картинки теж забрати, вони і так не підходитимуть по тематиці. 75 кб місця забезпечено.

Є цікавий і небезпечний каталог /libraries, /includes і т.д. – тут зібрані хороші і потужні бібліотеки для обробки чого завгодно засобами php. Так як розроблялись вони сторонніми програмістами, то, відповідно, згідно ліцензії лежать файли типу LICENSE, CREDITS і їм подібних. Якщо їх повишукувати і повбивати матимем плюс 245 кб як мінімум.

Тепер страшний етеншн. На свій страх і ризик згідно розсудливості. Так як треті бібліотеки з /libraries використовуються лише опціонально, то багато з них так і не будуть залучені до роботи. Необхідні такі набори бібліотек:

  • /libraries/joomla – зрозуміло для чого;
  • /libraries/phpgacl – контроль доступу до адмінки і взагалі;
  • /libraries/phputf8 – для роботи з multibyte-рядками.

Решта можна видаляти (майте голову, люди). Звільним 2.8 Мб.

Також, якщо не потрібні можливості XML-RPC, можна забрати каталог /xmlrpc і плагіни для роботи з ним /plugins/xmlrpc – ще 34 кб.

Йдемо тепер в адмінку, там є такі компоненти з сумнівною потрібністю як com_banners і com_weblinks. Перший для додавання банерів, другий для сторінки обміну лінками, чи каталогу лінків, одним словом, фтопку. Видаливши компонентики, з’явиться 154 кб вільного місця. Та це ще не все. Далі в /plugins/search непотрібний plg_search_weblinks відправляємо геть, йдем в /modules і позбуваємся mod_banners, потім в директорію /language і витираєм потрібні цим компонентам з модулями мовні файли, не забуваючи про мовні файли витертих напередодні шаблонів. Те саме у /administrator/language. Матимем 12 кб… Не рахуючи того, що ще в базі можна буде витерти таблиці ##_banners* і ##_weblinks*, на чому також можна нажитись. Доб’ємо – каталог /images/banners теж відправимо на той світ (35 кб).

Ще хочеться згадати про плагіни авторизації openid, ldap, google id тощо. Визначтесь з типами авторизації, і непотрібні плагіни можна видалити (23 кб). Плагіни, такі як geshi, emailcloak теж потрібні лише декому (11 кб).

Подібним чином можна ще пройтись по стандартних розширеннях, і, маючи досвід, ще чогось позбутись. Потім зайнятись конструюванням сайту згідно уподобань, побажань і потреб.

Остання екстремальна порада – можна повишукувати і повитирати всі файли index.html, що входять до кожної директорії сайту для збільшення безпеки. Сервер замість лістингу директорії видає цей порожній індексний файл. Увага! Подібне можна собі дозволити, якщо в налаштуваннях apache вказана опція -Indexes !!! А взагалі раджу подумати, бо кожен файл має 44 байти, отже на сотні файликів економія 44 кб, хіба що кількість файлів зменшиться.

Таким чином, справжні маньяки можуть зекономити на часі завантаження коду по FTP, а також місце в межах хостинг-акаунта більше 7 Мб. Дуже добре, враховуючи що розпакований дистрибутив має 14.1 Мб, тобто виграш наполовину! Ахха, хто може уявити собі CMS з подібними можливостями і розміром 7 Мб? Дотепер Joomla зарекомендувала себе як структурована, акуратна, в міру швидка і динамічна система. А тепер ще й як більш легка.

This entry was posted in Розробка web. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

4 Comments

  1. Posted 11.12.2009 at 04:55 | Permalink

    +1 просвітителю :)
    А по оптимізації коду дефолтної джумли та запитів до бд щось буде?

    • Posted 11.12.2009 at 05:03 | Permalink

      Ммм… Вдячний за одиничку ))
      Так, вже є, лише треба зібрати вкупу. Та оптимізація коду і запитів це буде на порядок складніше даної статейки (входитимуть не тільки стандартні варіанти, а й більш просунуті).

  2. Posted 11.12.2009 at 10:17 | Permalink

    Доволі актуально. Й підтримаю Pozitronik -ка, хтілобся почитати про оптимізацію коду.

Post a Comment

You must be logged in to post a comment.