Руководство для новичков: как избежать конфликтов между плагинами

Примечание: Этот текст может содержать некоторые партнерские ссылки, а это значит, что я зарабатываю небольшую комиссию без каких-либо дополнительных затрат с вашей стороны, если вы воспользуетесь этими ссылками. Спасибо за понимание и поддержку.

Опыт работы с системой WordPress дает мне право дать всем новичкам несколько полезных советов о том, как избегать возможных конфликтов между установленными на ваших сайтах плагинами WordPress.

Прежде, чем я начну, хочу ответить некоторым читателям, которые, прочитав первый абзац, задались вопросом: а какой именно у меня опыт?  Для таких товарищей — мой короткий ответ:

  1. Первый свой сайт на WordPress я создал в 2009 году, как раз весной, так что уже — 5 7 лет.
  2. Сейчас у меня в управлении — 8  6 своих сайтов на WordPress, возраст которых в среднем — 4  5 лет.
  3. Мои основные проекты: 3 сайта с бесплатными темами и плагинами WordPress, большинство — с моим переводом на русский язык.
  4. Еще в 2010 году я состоял в команде официального русского WordPress, которую добровольно покинул в том же году. В команде был ответственен за проект под названием ‘Русская сборка WordPress’ (проект так и не состоялся).
  5. Я постоянно оказываю разного рода услуги, так или иначе связанные с WordPress. Почитать можно здесь, здесь, и здесь.
  6. Каждый день я в системе по 8-12 часов: переводы, установки, безопасность, СЕО, консультации на форумах: (2 своих и форумах русского WordPress)
  7. Практически каждый день 1-2 часа читаю англоязычные ресурсы, на которых известные кодеры пишут о WordPress.
  8. Видео-школа WordPress с моими бесплатными авторскими видео-уроками.
  9. Оказываю услуги хостинга на своем сервере, так что вопросы администрирования сервера знаю не по наслышке.
  10. Постоянно занимаюсь разработкой уникальных тем WordPress: от простых блогов — до онлайн-кинотеатров, досок объявлений, агентств недвижимости и кадровых агентств.

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

Если что-то останется «за кадром» — вопросы можно будет задать в комментариях.

Вступление

Практически неизбежно каждый владелец сайта на WordPress рано или поздно столкнется с ситуацией, когда на его сайте некоторые плагины в один не очень прекрасный день вдруг возьмут и перестанут работать. По одному или сразу несколько — зависит от каждой конкретно ситуации.

Почему, спросите вы? Потому что вы пользуетесь системой с открытым кодом, или на английском это звучит как — Open Source.

Что такое системы с открытым кодом? Во-первых, они бесплатные. Во-вторых, код таких систем пишет Сообщество, не объединенное рамками компании, предприятия.

В случае с WordPress — так, но не совсем. Система WordPress поддерживается разработчиками компании Automattic, которая расположена в США, в Силиконовой Долине. О истории разработки WordPress в свое время отлично написал Max, если интересно, конечно.

Разработчик не разрешает вмешиваться в core-файлы системы (лежат в папках wp-admin и wp-includes), но если кто знаком с системой, знает, что в каждой теме есть файл — functions.php, который позволяет вносить дополнительный функционал в сайт, работающий на WordPress.

Что такое плагин? Это тоже дополнительный функционал, которого нет в стандартной поставке системы.

Плагины могут писать все, кто знаком с кодом PHP и знает функционал системы WordPress. Плагины — это дополнительные модули системы, которые можно включить и некоторые сразу начнут работать, а некоторым надо немного настроить функционал через консоль администратора.

В официальной Библиотеке WordPress на сегодня — 28,939 бесплатных плагинов. Когда я начинал — их было чуть больше 3 тысяч.

А есть еще платные плагины, например — http://codecanyon.net/category/wordpress — 2 201 на сегодня.

А есть еще авторские сайты разработчиков плагинов. Таких я знаю около 30 штук (в Рунете единицы, большинство — в Доткоме).

Никто не даст вам 100% гарантию совместимости всех плагинов WordPress.

Из-за того, что разработчиков — тысячи, ни один из них не в состоянии проверить свой плагин на совместимость с тысячами других плагинов WordPress.

Большинство кодеров — профессионалы, но все они — люди, и каждый человек может ошибаться. Также и кодер.

Что делать владельцу сайта, который использует 2-3 десятка плагинов и с каждым апгрейдом системы и плагинов в страхе думает — а стоит ему обновляться, или все оставить как есть, тем более — зачем обновляться, если все работает?

Самое смешное заключается в том, что даже если вы не будете обновляться, вообще, рано или поздно вам захочется установить что-то новенькое на сайте. Например, какой-нибудь новый плагин для усиления безопасности сайта, или новый виджет с социальными кнопками, или новую форму регистрации читателей. И вот здесь как раз вас поджидает первая ловушка:

  • Если вы хотите установить новый плагин — он может не работать на вашей старой версии WordPress
  • Новый плагин может вступить в конфликт не только с версией системы, но и с любым другим плагином, установленным на вашем сайте

Вопрос: а если вообще никогда и ничего не обновлять?

Ответ: это самый лучший вариант в ситуации возможных конфликтов системы и плагинов. Если все установили и настроили, все у вас работает и вы не собираетесь наращивать функционал — значит, примите решение: никогда не обновлять систему и плагины.

Это работает. Чаще всего — на корпоративных сайтах. Я делал не раз такие сайты, ставил систему и плагины, закрывал доступ владельцу ко всем возможным апгрейдам системы и плагинов, закрывал ему доступ в консоле ко всему не нужному ему функционалу, закрывал все способы ручного и автоматического обновления системы и плагинов.

И как, спросите вы? Отлично, — отвечу я.

Примеры в студию? Легко.

  • Раз — http://bvb09.kiev.ua. Сайту 3 года. WordPress 2.9.2. Плагины с того же времени.
  • Два — http://pgee.ru. Сайту 2 года. С тех пор ничего не обновлялось.
  • Три — http://www.3medvedya.com.ua. Сайту больше 2-х лет. WordPress 3.0.1. Плагины не обновляются.
  • Четыре — http://optsexshop.com.ua. Система не обновлялась. Были обновлены 2-3 безконфликтных плагина.

UPD 22 сентября 2016. Ссылки выше перечеркнул, т.к. сайты уже не работают.

Все вышеприведенные темы делал я — вы легко это можете проверить, если посмотрите мой Портфолио.

Итак —

Совет первый: можно никогда ничего не обновлять.

 

Если все-таки обновляться

 

За все годы использования системы WordPress я убедился в важности регулярных обновлений и в первую очередь — самой системы WordPress.

Почему? Потому что от версии к версии система становится более надежной к возможным незаконным проникновениям и взломам системы изнутри.

Каждый новый выход новой версии сопровождается подробными описаниями выполненных изменений и практически в каждой новой версии разработчики дорабатывают исходный код и он становится более эффективным и защищенным от разного рода попыток взлома системы. Не говоря о том, что каждая новая версия несет в себе новый функционал.

Но в вопросе обновления системы как раз и кроется основная проблема самого процесса обновления сайта.

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

Получается, как в известной проблеме: что было раньше — курица или яйцо?

Обновляя систему WordPress мы вынуждены обновлять плагины, и наоборот: беря в использование новые плагины — мы вынуждены обновлять систему под них.

В каждом плагине WordPress есть задокументированный заголовок. Он лежит в основном PHP-файле плагина, который всегда имеет такое же имя, как и папка плагина.

Не все авторы документируют одну важную информацию, которая касается корректной работы плагина на последних версиях системы WordPress. Эта информация касается версии системы WordPress, начиная с которой этот плагин работает корректно.

Иногда эту информацию можно найти в файле readme.txt или changelog.txt, иногда — в Библиотеке WordPress на странице описания плагина:

в красном овале - требование к версии системы WordPress
в красном овале — требование к версии системы WordPress

 

На скриншоте я отметил красным овалом требование (requires) к версии системы WordPress: в конкретном случае версия 1.0 плагина WordPress под названием Better WP Security корректно работает на версии системы 3.7 или выше.

Это говорит о том, что если у вас система более старой версии — плагин не будет корректно работать с системой или любым установленным на вашем сайте плагином.

Перед обновлением!

Любые обновления: системы или плагинов, требуют предварительной подготовки. Нельзя легкомысленно относится к любым техническим работам на своем сайте.

Всегда и везде я пишу или говорю: лучше всего иметь копию сайта и все технические изменения сначала тестировать на копии сайта.

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

Другой вариант: установить сервер на своем компьютере. Для этого есть несколько программ по эмуляции сервера:

Совет второй:

Сначала все эксперименты с обновлением лучше делать не на действующем сайте, а на его копии.

 

Как правильно обновлять систему и плагины

Распространенная ошибка, которая преследует практически всех новичков: проведение обновления в автоматическом режиме. Я рад за тех, кто это делает: вы экономите уйму своего времени, а время — самый дорогой ресурс для каждого из нас.

Но хочу предупредить вас: очень часто автоматическое обновление приводит к ошибкам и на поиск этих ошибок уходит гораздо больше времени, чем вам кажется.

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

Категорически не советую!

Представьте на минуту — вы сразу решили обновить 2-5 плагинов. Поставили напротив каждого плагина флажки и нажали на кнопку — Обновить:

одновременное обновление нескольких плагинов wordpress
одновременное обновление нескольких плагинов wordpress

 

Представьте, если после такой процедуры ваш сайт вдруг превратится в белый экран? Или вместо положительного ответа, что все прошло успешно вы увидите страницу ошибки сервера? Именно это случается чаще всего.

Поэтому советую: обновлять каждый плагин в отдельности, и не через запуск обновления на этой странице, а сначала найти сайт автора плагина (или найти плагин в Библиотеке WordPress), почитать все, что о нем пишет автор и отзывы, убедиться, что плагин корректно работает на последней версии WordPress, скачать его на компьютер, перейти на сайт (а лучше — на локальный сервер или поддомен), установить плагин (а еще лучше — загрузить его через FTP-клиента), активировать и убедиться, что плагин встал корректно и сайт продолжает работать также, как и до обновления этого плагина.

Совет третий:

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

Вы потратите значительно меньше времени. Если плагин вдруг встанет не корректно, или из-за обновления этого плагина у вас внезапно перестанет работать что-то другое — вы будете точно знать причину проблемы. Вы всегда можете откатить установленный плагин и вернуть на его место предыдущую версию.

Только для этого надо иметь копию всех плагинов до обновления.

Совет четвертый:

Перед обновлением плагина сохраните его на компьютере в предыдущей версии

Если вы не сохраните копию плагина в старой версии — вы ее можете уже нигде не найти: автор обновил версию и не хранит старую. В Библиотеке WordPress вы также не найдете старую версию.

А вот старую версию системы WordPress можно найти здесь — http://ru.wordpress.org/releases/#older

Если вы знаете, что ваш плагин, который вы обновляете, создал в базе данных свои таблицы — с таким плагином надо быть вдвойне осторожным при его обновлении.

Перед обновлением надо сохранить копию не только плагина. Надо создать свежую копию (бэкап) базы данных. Не часто, но бывает, что после такого плагина у вас может некорректно работать весь сайт. Будет некорректно работать одна из таблиц. Вам надо уметь вернуть на место резервную копию базы данных, или уметь пользоваться программой сервера под названием phpMyAdmin, чтобы удалить старые таблицы этого плагина и переактивировать плагин в консоле администратора.

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

UPD 22 сентября 2016. Сейчас этот совет не столь актуальный, т.к. в официальном каталоге плагинов  WordPress появилась возможность скачать предыдущую версию плагина. Об этом я рассказал здесь.

Совет пятый:

Старайтесь всегда создавать резервную копию базы данных перед каждым обновлением плагинов и системы WordPress

 

Если случился конфликт

Если все-таки у вас что-то пошло не так — как быть?

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

  • Копия всех плагинов перед обновлением
  • Резервная копия базы данных
  • В идеале — копия сайта на поддомене или просто скачанная через FTP папка всего сайта
  • Протокол (журнал) ваших действий по-шагово

Итак — если после обновления плагина у вас что-то пошло не так, вам надо:

  1. Удалить обновленный плагин и убедиться, что ошибка пропала. Ошибка может быть не связана именно с этим плагином.
  2. Если ошибка не пропала, понять, какая функция не работает (функция установленного плагина или темы, или системы WordPress)
  3. Если функция другого плагина — удалить его или обновить.
  4. Вернуть старую версию удаленного плагина, из-за которого начались проблемы.
  5. Удалить все плагины из папки wp-content/plugins
  6. Переустановить всю папку плагинов из резервной копии.
  7. После каждого описанного выше шага проверять — пропала ошибка или нет.
  8. Если ошибка не пропала — удалить весь сайт в корневой директории и загрузить через FTP резервную копию с компьютера. Весь сайт!

Что значит — весь сайт?

Все файлы и папки, которые относятся к системе WordPress. Это три основных папки:

  • wp-admin
  • wp-content
  • wp-includes

И все файлы в корневой директории вашего сайта. Что такое корневая директория?

На разных серверах она называется по-разному:

  • public_html
  • www
  • ваш домен
  • могут быть еще варианты, но первые три — чаще всего

Возникшую проблему в работе конкретного плагина надо решать с автором. Если вы взяли плагин в Библиотеке WordPress, на странице описания плагина есть раздел — Support:

задать вопрос разработчику плагина
задать вопрос разработчику плагина

Часто пишут мне. Особенно много вопросов — о плагине NexGenGallery. В своем каталоге бесплатных тем WordPress я опубликовал пару лет назад инструкцию о его настройке и теперь там — 139 комментариев, большинство авторов которых считают, что если я рассказал о правильной настройке плагина — я его знаю лучше чем автор 🙂

Кроме автора разработчика никто вам не ответит правильно.

Именно автор заинтересован в том, чтобы его плагин не конфликтовал: ни с другими плагинами, ни с самой системой, ни с вашей темой WordPress.

Не знаете английский? Можно попробовать воспользоваться онлайн-переводчиком. Боитесь показаться невежей? Не бойтесь, ваш вопрос автору, который из Индии и который английский знает примерно также как вы — он вас поймет и не будет смеяться над тем. что вы воспользовались онлайн-переводчиком. И вообще — на Западе никто никогда не смеется над незнанием языков — это присуще только славянам.

Есть русские форумы WordPress:

  • Официальный — http://ru.forums.wordpress.org
  • Неофициальный — http://mywordpress.ru/support
  • Max’а — http://forum.maxsite.org
  • Еще — http://wpforum.ru

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

Запомните главное Правило общения на форумах и вообще — в Сети:

Относись к другим так, как хочешь, чтобы относились к тебе — и у тебя все получится!

Ну, а самое главной Правило любого владельца сайта на WordPress:

Никто не поможет лучше, чем вы сами себе поможете

Учите систему, запомните мои советы, читайте больше о системе, общайтесь с теми, кто знает лучше вас систему — и в любой ситуации оставайтесь человеком.

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

Важно! Эта запись может содержать ссылки на плагины, которые к моменту вашего чтения и скачивания могут работать не корректно. Будьте внимательны.

6 Comments

  • · Edit

    Здравствуйте, спасибо за статью, какой плагин нужен для создания лендинга ИМ на вордпресс, помогите пожалуйста.

    Ответить
  • Спасибо Олег за статью. Действительно поучительные советы не только новичкам, но и бывалым. Если хочешь, чтобы все работало хорошо, надо придерживаться существующим правилам. Твои советы мне уже не раз помогали быстро поднимать сайт после падения. Эксперименты провожу на под домене. Но иногда нововведения для быстроты делаю сразу на сайте, но перед этим обязательно делаю копию сайта и базы данных.

    Ответить

Добавить комментарий

Ваш email нигде не будет показан. Обязательные поля помечены *