ЭКСПЛАНЕТ

Экспланет или экс-планета
редкий блог редкопишущего блогера

Февраль 1, 2012 11:49 pm

Оптимизация WordPress 3.x на VDS | Dedicated Server

Задача: уменьшить количество потребляемой памяти и увеличить скорость выполнения PHP скриптов при использовании WordPress 3.x на VDS.

Кэширование запросов к БД

Первым делом настроим кэширование SQL запросов. Для этого будем использовать систему кеширования встроенную в MySQL. Все что нужно для ее активации, это изменение нескольких строк в файле конфигурации сервера БД. А именно двух:

1[mysqld]
2# .....
3query_cache_limit = 1M
4# Для отключения кэширования достаточно установить этот параметр в ноль
5query_cache_size = 32M
6# ....

Параметр query_cache_limit задает максимальный объем результата выполнения запроса, который может быть помещен в кэш. В то время как, параметр query_cache_size задает объем памяти выделяемой для кэша.
Для того, чтобы изменения вступили в силу, перезагрузим MySQL.

PHP акселератор

Для оптимизации работы PHP, будем использовать PHP акселератор The Alternative PHP Cache также известный как APC, оптимизирующий работу PHP за счет кэширование байткода скриптов.
Установить APC можно командой

1sudo pecl install apc
Установка в Debian:

1apt-get install php-apc

А для его настройка достаточно немного подправить файл конфигурации PHP, добавив в него следующие строки

1;;;;;;;;;;;;;;;;;;;;;;
2; Dynamic Extensions ;
3;;;;;;;;;;;;;;;;;;;;;;
4; ....
5extension = apc.so
6apc.enabled = 1
7apc.shm_size = 30
8apc.rfc1867 = 1

Из всех описанных в этом посте методов оптимизации, оптимизация PHP за счет акселератора дает наибольший прирост производительности и экономии памяти. Например в моем случае, объем потребляемой памяти уменьшился в девять раз, а время выполнения уменьшилось с пары секунд до нескольких десятых секунд.

Pure PHP Localization

Для оптимизации непосредственно WordPress существует множество различных плагинов. Один из них Pure PHP Localization, который конвертирует бинарный файл локализации в PHP скрипт, что позволяет сэкономить некоторое количество оперативной памяти.
Конечно это не все способы оптимизации работы WordPress, но даже этих достаточно, что бы в разы увеличить производительность вашего сайта.

Январь 3, 2012 9:38 am Июнь 23, 2011 11:33 pm

Безболезненный перенос сайта на WordPress на новый домен

Взято: http://dimox.name/moving-the-site-on-new-domain/

Иногда может возникнуть ситуация, когда необходимо сайт, работающий на движке WordPress, перенести на новый домен. Т.е. суть данного действа заключается только в изменении имени домена, все содержимое же, равно как и структура ссылок, остается прежним. При этом не маловажный момент - сохранение показателей тИЦ и PR.

К данному вопросу необходимо подходить с полным пониманием дела, ибо обратное может быть чревато неприятными последствиями.

Процесс переноса можно условно разделить на 2 части:

  1. Перенос сайта, работающего на движке WordPress, на новый домен.
  2. Создание 301 редиректа со старого домена на новый.

Перенос сайта, работающего на движке WordPress, на новый домен

В самую первую очередь необходимо сделать 2 вещи:

  • скопировать все фтп-файлы со старого домена на новый;
  • обязательно создать резервную копию базы данных сайта, чтобы в случае чего можно было сделать откат.

Дальнейшие действия могут выполняться одним из трех нижеследующих способов.

Первый способ. Это самый простой способ, требующий от Вас минимум действий.

  1. Зайдите в админ-панель Вашего сайта на страницу “Настройки - Общие”.
  2. В полях “Адрес WordPress” и “Адрес блога” укажите URL нового домена и подтвердите изменения, нажав на кнопку “Обновить опции”.
  3. Готово. В тот же момент WordPress переадресует Вас на страницу входа в админ-интерфейс, но уже на новом домене.

Второй способ.

  1. Откройте сохраненный sql-дамп базы данных в текстовом или PHP редакторе.
  2. Замените все вхождения старого адреса сайта на новый адрес, например, http://domain.ru заменить на http://newdomain.ru, и сохраните изменения.
  3. Загрузите дамп в базу данных на сервере, предварительно удалив из нее все имеющиеся таблицы.
  4. Готово. Сайт на WordPress работает по новому адресу.

Третий способ.

  1. Зайдите в phpMyAdmin и выберите базу данных.
  2. Нажмите на вкладку “SQL” и поочередно выполните следующие 3 запроса, заменив http://domain.ru и http://newdomain.ru соответственно на старый и новый адреса сайта (обратите внимание, что в конце адреса не должно быть слеша):
    • UPDATE wp_options SET option_value = REPLACE(option_value, ‘http://domain.ru’, ‘http://newdomain.ru’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
    • UPDATE wp_posts SET guid = REPLACE(guid, ‘http://domain.ru’,‘http://newdomain.ru’);
    • UPDATE wp_posts SET post_content = REPLACE(post_content, ‘http://domain.ru’, ‘http://newdomain.ru’);
  3. Готово. Теперь сайт будет открываться по новому адресу.

Создание 301 редиректа со старого домена на новый

Остается добиться того, чтобы при обращении к любой странице сайта по старому адресу посетитель автоматически перенаправлялся на ту же самую страницу в новом домене.

Для этого необходимо заменить содержимое файла .htaccess, находящегося в корне старого домена, на следующее (вместо newdomain.ru указывается новый домен):

  1. Options +FollowSymLinks
  2. RewriteEngine on
  3. RewriteRule (.*) http://newdomain.ru/$1 [R=301,L]

На этом процедуру переноса WordPress-сайта на новый домен можно считать законченной.

Теперь несколько слов относительно сохранения показателей тИЦ и PR сайта.

Вышеуказанная директива кроме своего прямого назначения позволяет перенести на новый домен показатель Google PR, так что с ПиАром проблем возникнуть не должно.

Однако открытым для меня остается вопрос переноса показателя тИЦ Яндекса. Я прочитал по этому поводу достаточно информации, но так и не нашел однозначного решения. В основном рекомендуют на старом домене создать файл robots.txt с указанием параметра Host: newdomain.ru, на это не сработает из-за 301-го редиректа.

Я был бы признателен тому, кто разъяснит мне данный вопрос.

Добавлено 24.04.2010

Сам нашел ответ на свой вопрос. Чтобы при обращении к старому домену срабатывал 301-редирект, но за исплючением файла robots.txt, в файле .htaccess старого домена нужно указать следующее:

  1. <FilesMatch “robots.txt$”>
  2. RewriteEngine off
  3. </FilesMatch>
  4. Options +FollowSymLinks
  5. RewriteEngine on
  6. RewriteRule (.*) http://newdomain.ru/$1 [R=301,L]

А в файле robots.txt указать следующее:

  1. User-Agent: *
  2. Disallow:
  3. Host: newdomain.ru

* * *