Как определить, совместим ли плагин с несколькими сайтами?


9

Как новичок в администрировании WordPress, я только что прошел первое неавтоматическое обновление WordPress.

Я обновил пять различных установок WordPress с 4.1.3 до 4.2.

Все они относятся к разным веб-сайтам, размещенным на одном веб-хосте, как один основной домен и четыре дополнительных домена.

На каждом из веб-сайтов я использую следующие плагины:

  • Akismet;
  • Google Analytics от Yoast;
  • Google Adsense;
  • Google XML Sitemaps и
  • Jetpack от WordPress.com.

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

До сих пор мне было довольно сложно найти однозначные ответы о совместимости каждого из этих плагинов с многосайтовой установкой на сайтах плагинов.

Является ли страница плагина правильным местом для поиска?

Есть ли центральное место, где можно найти эту информацию?


Вы нашли какой-нибудь совет относительно того, является ли эта консолидация хорошей идеей? Я рассматриваю то же самое, но мой коллега, который управлял большим мультисайтом, говорит, что это больше хлопот, чем стоит. Я рассматриваю возможность сохранения своих сайтов в виде одной установки и использования чего-то вроде InfiniteWP для администрирования. Вы рассматривали это вместо этого?
Рикки

Я не знал о InfiniteWP, @Rikki. Я посмотрю на это. Спасибо!
Альфред Майерс

Я удивлен, что эта информация для проверки совместимости многосайтовых плагинов где-то не легко доступна.
Антуан Брюнель

Ответы:


6

Существует два типа совместимости с несколькими сайтами:

  1. Пассивная совместимость: ничего не делать специально для нескольких сайтов, просто работает, ничего не нарушая.
  2. Активная совместимость: изменение или расширение специфического поведения для нескольких сайтов.

Я полагаю, что вы за 1. Смотрите мои слайды из WordCamp Prague 2015 для второй части.

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

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

С этим связаны проблемы UX, такие как указатели администратора или специальные страницы «О программе», которые вы должны нажимать на всех дочерних сайтах в несовместимых плагинах. WP SEO Yoast является одним из примеров . Думаю, это будет исправлено в этом плагине в ближайшее время. :)

Другие проблемы зависят от того, что вы делаете с этим мультисайтом. Если вы создаете многоязычный веб-сайт, где каждый сайт написан на одном языке, а сайты связаны друг с другом, вы хотите синхронизировать сообщения при написании контента. Это означает, что вы звоните switch_to_blog()на крючок save_postи сохраняете связанные сообщения тоже. save_postбудет вызываться несколько раз в течение одного запроса сейчас. Многие плагины не знают о такой ситуации, поэтому они просто перезаписывают метаинформацию сообщения для связанных сообщений, думая, что они все еще находятся в первом сообщении.

Обратите внимание на плагины, которые имеют дело с мета-постом и не имеют такой проверки:

if ( is_multisite() && ms_is_switched() )
    return FALSE;

Эти плагины не совместимы.

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

Некоторые плагины пытаются записывать содержимое в файлы без включения идентификатора сайта в имя файла. Скорее всего, они тоже сломаны.

Как сказал Том: создайте тестовую установку, запустите все возможные варианты использования. Вы не можете доверять странице плагина, и, как правило, информации все равно недостаточно.


2

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

Иногда есть признаки, которые вы можете искать, но это всегда признак плохого кода, например, жесткое кодирование имен таблиц базы данных, а не использование префикса from $wpdb, и в этом случае я бы рекомендовал избавиться от плагина, даже если вы не используете мультисайт

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.