wordpress.ukr.im » Все під ряд http://wordpress.ukr.im Просто ще один раз про WordPress ;) Tue, 04 Dec 2018 14:05:50 +0000 uk hourly 1 https://wordpress.org/?v=3.9.40 Переводимо WordPress вебсайт на SSL/HTTPS http://wordpress.ukr.im/whatever/wordpress-na-ssl-https/ http://wordpress.ukr.im/whatever/wordpress-na-ssl-https/#comments Sat, 07 Jul 2018 05:03:17 +0000 http://wordpress.ukr.im/?p=262
  • Генеруємо сертифікат на sslforfree.com або аналогічному сервісі;
  • Прописуємо (додаємо і застосовуємо) сертифікат в панелі керування хостингу;
  • Тестуємо вебсайт на відкриття по HTTPS://, відключаємо кешуючі плагіни;
  • Прописуємо https:// в палаштуваннях адмінки Wordpress;
  • Опційно в .htaccess додаємо щось форсуюче SSL протокол, на кшталт:
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTPS} !=on [NC] [OR]
    RewriteCond %{SERVER_PORT} !443
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>
    
    
  • Всі зображення внутрішні переліннковуємо по https виконавши SQL команду:
    UPDATE wp_posts SET `post_content` = REPLACE (`post_content`, 'src="http://www.domain.ua', 'src="https://www.domain.ua');
    
  • Всі зображення що відкриваються з зовнішніх доменів мають приходити по https також;
  • Якщо не форсуємо SSL в .htaccess, тоді опційно можна форсувати авторизацію адмінки та/або адмінку WordPress цілком на SSL протокол шляхом прописування однієї або обох директив в wp-config.php:
    define('FORCE_SSL_LOGIN', true);
    define('FORCE_SSL_ADMIN', true);
    
  • ]]>
    http://wordpress.ukr.im/whatever/wordpress-na-ssl-https/feed/ 0
    Відображення кількості SQL запитів та часу виконання WordPress http://wordpress.ukr.im/whatever/sql-zapyt-chas-vykonannya-wordpress/ http://wordpress.ukr.im/whatever/sql-zapyt-chas-vykonannya-wordpress/#comments Wed, 11 Feb 2015 23:44:58 +0000 http://wordpress.ukr.im/?p=218 Колись просто цікаво, а іноді необхідно побачити чи показати кількість SQL запитів здійснених для генерації сторінки на WordPress, та час виконання скрипта. Для цього нам навіть не потрібно буде створювати жодних таймерів. Довтатньо в потрібному місці вставити наступний PHP код

    :

    <?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?> seconds.
    

    Якщо використовується плагін для кешування SQL запитів до бази даних, то буде відображену реально здійснену кількість запитів. Тобто кешовані запити в цю цифру не попадуть.

    Швидких Вордпресів!

    ]]>
    http://wordpress.ukr.im/whatever/sql-zapyt-chas-vykonannya-wordpress/feed/ 0
    Наш wp-admin – наша фортеця! http://wordpress.ukr.im/whatever/nash-wp-admin-nasha-fortetsya/ http://wordpress.ukr.im/whatever/nash-wp-admin-nasha-fortetsya/#comments Sat, 29 Mar 2014 17:26:43 +0000 http://wordpress.ukr.im/?p=183 Причини для  захисту адмінки вордпресу здебільшого дві – безпека сайту та продуктивність серверу. Якщо з безпекою сайту все зрозуміло, то не всі знають, що сайти на WordPress постійно атакують недохакери підбираючи паролі. Часто такий перебір іде через ботнет або тор. Це означає що чи не за кожним запитом – новий айпі. Тому стандартний захист через плагіни мало того що не знімає питання навантаження на процесор, він просто не спрацює.

    Презентуємо авторський метод від wordpress.ukr.im.

    1. Переконуємося що в корені вже існує, або створюємо новий файл .htaccess і додаємо В КІНЕЦЬ файлу наступне:

    # Block access to wp-login.php file
    <Files wp-login.php>
    Order deny,allow
    Deny from all
    # whitelist IP address
    # DO NOT PUT ANYTHING BELOW this line! (не вписуйте нічого нижче цієї лінії!)
    </Files>

    2. Переконуємося що в директорії wo-admin вже існує, або створюємо новий файл .htaccess і додаємо В КІНЕЦЬ файлу наступне:

    # Block site access to all except this:
    Order deny,allow
    Deny from All

    3. Створюємо в корені новий файл з довільною секретною назвою, на приклад get-access.php і вписуємо в нього код:

    <?php
    error_reporting(E_ALL | E_STRICT);
    echo “Granting wp-admin… “;
    $fd = fopen(‘wp-admin/.htaccess’, ‘a’);
    #fseek ($fd , -60, SEEK_END);
    fwrite($fd, “Allow From “.$_SERVER['REMOTE_ADDR'].”\n”);
    fclose($fd);
    echo “granted!”;

    # now let’s allow wp-login.php access:
    echo “<br>Granting wp-login… “;
    $fd = fopen(‘.htaccess’, ‘r+’);

    fseek ($fd, -9, SEEK_END);
    fwrite($fd, “\n Allow from “.$_SERVER['REMOTE_ADDR'].”\n</Files>”);

    fclose($fd);
    echo “granted!”;
    ?>

    4. Все. Відтепер всім на рівні веб-сервера заборонено доступ до директорії wp-admin та файлу wp-login.php котрі найбільше піддаються bruteforce атакам. Тепер щоб ми самі могли отримати доступ до адмінки, треба зайти за адресою /get-access.php (або як ви там обізвали секретний файлик), і відтепер з нашого поточного айпі доступ назавжди дозволено. Якщо в нас змінився айпі, або ми заходимо в адмінку з іншого місця – знову тригаємо /get-access.php.

    Траблшутінг:

    - при деяких конфігураціях сервера при записі в файли маємо помилку доступу. Тоді ставимо права 777 на .htaccess-и.

    ]]>
    http://wordpress.ukr.im/whatever/nash-wp-admin-nasha-fortetsya/feed/ 1
    Позбавитися порожніх рядків в редакторі WordPress http://wordpress.ukr.im/whatever/remove-empty-lines-wordpress/ http://wordpress.ukr.im/whatever/remove-empty-lines-wordpress/#comments Mon, 01 Oct 2012 14:23:47 +0000 http://wordpress.ukr.im/?p=127 Не заглиблюючись в причини їхньої появи, позбавляємося від небажаних порожніх рядків редактора шаблонів WordPress. Загалом, звичайно, можна скористатися улюбленим текстовим редактором, якщо він має таку функцію. Інакше нам допоможе онлайн сервіс ТекстМеханік: http://textmechanic.com/Remove-Empty-Lines.html. Там є також інші цікаві текстові утиліти. Потрібно:

    1. виділити текст (код) в редакторі шаблонів ВордПрес (Ctrl+A);
    2. скопіювати код (Ctrl+C);
    3. вставити код (Ctrl+V) на згаданій вище сторінці замінивши наявний там тестовий текст;
    4. натиснути ґудзика “Remove Empty Lines”

    Все готово! Тепер виділяємо та копіюємо текст назад в вікно редактора тем (чи плаґінів) WordPress.

    ]]>
    http://wordpress.ukr.im/whatever/remove-empty-lines-wordpress/feed/ 0
    Як відключити режим обслуговування http://wordpress.ukr.im/whatever/yak-vidklyuchyty-rezhym-maintenance/ http://wordpress.ukr.im/whatever/yak-vidklyuchyty-rezhym-maintenance/#comments Sun, 22 Jul 2012 02:31:09 +0000 http://wordpress.ukr.im/?p=88 “Сайт закрито на техобслуговування. Завітайте трохи пізніше.” може з’явитися на вашому сайті в результаті невдалого оновлення. Для того щоб вивести вордпрес з режиму обслуговування потрібно видалити файл “.maintenance” з кореня інсталяції. Файл прихований, тому в налаштуваннях FTP-програми необхідно вказати команду лістінгу директорій “list -a”. У версіях раніше 3.0 файл розміщався у папці wp-admin.

    ]]>
    http://wordpress.ukr.im/whatever/yak-vidklyuchyty-rezhym-maintenance/feed/ 0
    Як вбити ресурси свого сервера кривими руками http://wordpress.ukr.im/whatever/yak-vbyty-resursy-svoho-servera-kryvymy-rukamy/ http://wordpress.ukr.im/whatever/yak-vbyty-resursy-svoho-servera-kryvymy-rukamy/#comments Sat, 09 Jun 2012 07:45:42 +0000 http://wordpress.ukr.im/?p=79 Аналіз, оптимізація, аналіз, оптимізація! В браузері опера є класна фіча “Opera Dragonfly” або політ дракона. Незамінний інструмент для аналізу сайту як при розробці і правці шаблону вордпрес, так і для виявлення помилок, що створюють суттєві проблеми швидкодії.
    Зокрема, закладка “Мережа” дозволить візуально побачити котрі з елементів підвантажуються довго, які лишні взагалі та які створюють проблему, на приклад:

    запит http://wordpress.ukr.im/whatever/rel-nofollow-blogroll-links/wp-content/themes/aeros/images/lens.png
    крім того, що відтягує час загальний на завантаження, він ще генерує помилку 404, бо УРЛ невірний. Це заставляє вордпрес двічі генерувати вивід за один запит. А якщо хибних посилань закралося N?

    Ресурсам сервера прийдеться напружитися. Хтось з нас аналізує такі речі і створює якісний, оптимізований продукт, хтось не забиває собі мізки і пропонує клієнту арендувати виділений сервер, бо сайт “крутий”.

    ]]>
    http://wordpress.ukr.im/whatever/yak-vbyty-resursy-svoho-servera-kryvymy-rukamy/feed/ 0
    Атрибут rel=nofollow на лінках блоґрола. Без плаґіна http://wordpress.ukr.im/whatever/rel-nofollow-blogroll-links/ http://wordpress.ukr.im/whatever/rel-nofollow-blogroll-links/#comments Fri, 08 Jun 2012 14:35:30 +0000 http://wordpress.ukr.im/?p=62 Ніби тривіальна задача, але вордпрес не вважає що атрибуту rel=nofollow місце на лінках blogroll. В формі редагування є поле rel але воно доступне лише для заповнення опціями з наявних нижче. Серед тих опцій nofollow не стрічаєтсья.

    Несправедливість можна виправити плаґіном, але якщо під кожну правку ставити плаґін то “ставити” швидко закінчиться. Тому вдаємося до маленької хитрості.

    Перед відкриттям сторінки з формою редагування лінка відключаємо в браузері жаваскрипт.

    Вуа-ля. Заповняємо поле rel значенням nofollow і зберігаємо лінк. Не забуваємо пролінкувати wordpress.ukr.im!;)

    ]]>
    http://wordpress.ukr.im/whatever/rel-nofollow-blogroll-links/feed/ 0
    Заставити прес віддати 404 на звичайний HTML http://wordpress.ukr.im/whatever/wordpress-404-to-plain-html/ http://wordpress.ukr.im/whatever/wordpress-404-to-plain-html/#comments Wed, 06 Jun 2012 16:19:51 +0000 http://wordpress.ukr.im/?p=24 Вордпрес не спішить ділитись контролем за 404 сторінкою у випадку коли він встановлений в корінь сайту. Директиви .htaccess для WordPress зовсім не указ. Рішення ніби просте, та далеко не очевидне:

    Перед (!) директивами вордпреса в .htaccess пишемо:
    ErrorDocument 404 /index.php?error=404

    В редакторі поточного шаблону вичищаємо файл 404.php від будь-якого PHP коду, та пишемо туди саме те, що хочемо віддавати на сторінці 404. Можна, звичайно, використати PHP та SSI, але ж задача в нас – віддавати звичайний, прочтий, чистий, плейн HTML ;) Якщо файлу немає – створюємо!

    Прес все ще буде задіяний при обробці 404, але генерації сторінки не буде. Це саме те, що потрібно щоб зняти навантаження на сервер при великих об’ємах запитів, що ведуть до 404.

    ]]>
    http://wordpress.ukr.im/whatever/wordpress-404-to-plain-html/feed/ 0
    Привіт світ! Ще раз про ліміт пам’яті для wordpress. http://wordpress.ukr.im/whatever/wordpress_memory_limit/ http://wordpress.ukr.im/whatever/wordpress_memory_limit/#comments Tue, 05 Jun 2012 09:00:31 +0000 http://wordpress.ukr.im/?p=1 Є кілька способів задати ліміт, чи то скоріше дозвіл на використання оперативної пам’яті PHP скриптами, котрим є вордпрес. Одним з способів є запис виду

    php_value memory_limit 128M

    в файлі .htaccess в корені сайту, але цей запис  не рідко призводить до помилки 500. Другий спосіб -  запис виду

    memory_limit = 128M

    в файлі php.ini. І тут головне – помістити php.ini в вірну теку. І ще головніше – перезапустити апач після розміщення файлу php.ini! До перезапуску апача, директиви з файлу php.ini  діяти не будуть. Якщо немає доступу до безпосереднього перезапуску веб-сервера, а є лише панель керування хостінгом, і чекати перезапуску веб-сервера з якоїсь причини через годину чи через день немає бажання то можна скористатися партизанським методом. Потрібно в панелі керування хостінгом (cPanel, DirectAdmin, ISPmanager) додати новий домен чи видалити існуючий, який давно пора було видалити. Тобто, стимулювати перезапуск апача шляхом опосередкованого внесення змін в конфігураційний файл апача. Теоретично, того самого можна досягти додавши аліас (припаркувати) до домена, або на приклад, додавши нове розширення до виконання PHP (не перевірено).

    Для прикладу, плагін WP-Memory-Usage порадував мене цифрою 128 лиш після того, як я поклав php.ini до теки wp-admin. Можливо для деяких інших модулів знадобиться помістити php.ini у теку з відповідним скриптом.

    Те саме справедливо для лімітів на максимальний розмір файлів на завантаження на сайт upload_max_filesize та ліміту запиту post_max_size. Розмір ліміту запиту post_max_size має бути трохи більшим від максимальної ваги файлів upload_max_filesize. Якщо вага становить 10 мегабайт то ліміт запиту має бути 11-12 мегабайт.

    В wp-config.php в свою чергу мають бути присутні наступні записи:

    ini_set(‘memory_limit’,’128M’);
    define(‘WP_MEMORY_LIMIT’, ’128M’);
    define(‘WP_MAX_MEMORY_LIMIT’, ’128M’);

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

    Щодо того, скільки пам’яті потрібно WordPress-у для роботи то тут все дуже індивідуально і повністю залежить від кількості та змісту активних плаґінів і обраної теми.

    ]]>
    http://wordpress.ukr.im/whatever/wordpress_memory_limit/feed/ 1