Почему WordPress бесплатен, кто его оплачивает и в чем подвох? Недостатки Wordpress — техническая сторона Как люди зарабатывают деньги на WordPress.

Один из наиболее часто задаваемых вопросов от пользователей данного движка - это "Надо ли мне платить за использование WordPress?". И всем им приходится объяснять, что WordPress - это открытая и бесплатная платформа ; потому следующим вопросом будет: "А почему это вдруг WordPress бесплатен?" В этом посте мы обсудим, почему же все-таки WordPress бесплатен, во сколько обходится содержание сайта на данном движке и где кроется подвох.

WordPress - это ПО open source . Он открыт для изменений и "бесплатен", но не так, как бесплатное пиво во время акции в пабе. Open Source подразумевает свободу использования, изменений, создания фреймворков без необходимости оплачивать все это. Но при этом платежи и затраты происходят на каких-то других этапах. Во что же обходится "бесплатность" WordPress?

Почему WordPress не продается как ПО?

Нас часто спрашивают, почему люди и компании, которые стоят на WordPress, не продают его? Если WordPress так хорош, как о нем говорят, тогда они заработали бы большие деньги, продавая его. Это утверждение имело бы смысл, если бы один человек или компания владели WordPress.

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

Философия, которая лежит в основе ПО с открытым кодом, заключается в том, что программное обеспечение не похоже на другие материальные продукты. Возьмем для примера фабрику игрушек. У каждой производимой игрушки свои составные части, и каждая часть имеет свою цену. Для того, чтобы определить адекватный размер прибыли, фабрика может подсчитать стоимость этих частей. Стоимость создания программного обеспечения, а также его копий - совершенно другая история. Некоторые считают, что с каждой проданной копией размер прибыли от ПО становится все более несправедливым.

Чтобы больше понять о ПО с открытым кодом, обратите внимание на философию GNU .

Как люди зарабатывают деньги на WordPress?

Основная статья дохода любого ПО с открытым кодом - предоставление продуктов и услуг на базе того же ПО с открытым кодом. Люди часто путают wordpress.org и wordpress.com . WordPress (обычно о нем говорят как о WordPress на отдельном хостинге или WordPress.org) - это бесплатная блог-платформа. Мэтт Муленевег , один из соучредителей-разработчиков WordPress, основал компанию Automattic , которая предоставляет "ограниченный" бесплатный сервис хостинга блогов на wordpress.com , и вы можете также заплатить для того, чтобы "разблокировать" некоторые возможности, например, модификации CSS и т.д. То есть, чтобы получить полную мощность WordPress.org на сервисе WP.com, вам нужно потратить определенную сумму денег.

Другие разработчики начали строить успешные многомиллионные бизнесы вокруг WordPress, создавая платные плагины, платные темы и даже предлагая . Пример такого очень успешного многомиллионного бизнеса на базе WordPress - StudioPress . Они создают красивые платные темы для WordPress. Другие такие компании - Elegant Themes , WooThemes , iThemes .

Темы – не единственный способ создать успешный бизнес на базе WordPress. У множества авторов отличных плагинов успешный бизнес. Gravity Forms , BackupBuddy , Sucuri , SlideDeck , и т.д.

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

Значит ли бесплатность, что на WordPress нет никаких авторских прав?

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

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

Значит ли это, что все премиум-темы и плагины для WordPress лицензированы по GPL?

Согласно официальной записи в блоге на WordPress.org, темы также подлежат лицензии GPL. Изображения, CSS и Javascript внутри темы и плагинов могут быть исключены, но все PHP и HTML части тем и плагинов используют и расширяют функциональность WordPress, так что являются производными и, следовательно, подлежат лицензированию GPL. Но индустрия премиум тем и плагинов очень выросла, и не все согласны с таким вариантом. Тем не менее, большинство надежных WordPress бизнесов следуют и остаются верными правилам сообщества.

А контент, опубликованный с помощью WordPress, тоже попадает под GPL?

Нет, вы можете лицензировать контент, как вам заблагорассудится. Если только контент, который вы публикуете, не является производным от WordPress или другой лицензированной GPL работы. Например, если вы пишете в блог и рассказываете, как использовать WordPress функцию (с примерами), то эта запись может быть лицензирована как угодно. Но код , использованный в примере, является производным и автоматически наследует лицензию GPL.

Торговая марка WordPress

wordpress, как программное обеспечение, распространяется по лицензии GPL, но слова wordpress , WordCamp и логотип WordPress являются зарегистрированными торговыми марками , принадлежащими WordPress Foundation .

Стоимость использования WordPress

WordPress бесплатен для закачки и использования. Но, чтобы использовать WordPress в сети, вам понадобится . Вы можете использовать wordpress.com , чтобы создать бесплатный блог, но знайте, что разница есть между wordpress и wordpress.com . Стоимость использования WordPress относительно минимальная и справедлива. Единственная серьезная стоимость - хостинг и домен.

Дополнительные затраты - это платные WordPress темы и плагины. Но вы не обязаны их использовать. Есть множество бесплатных WordPress тем и плагинов.

Так почему люди покупают платные темы или плагины? Бесплатные темы используются повсюду. Чтобы получить немного более отличающийся дизайн для сайта, часто покупают платные "премиум" темы. Другая причина покупки платной темы или плагина - это техническая поддержка.

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

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

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

Твитнуть

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

Зачем плодить сайты

Прежде чем обсуждать WP, нужно разобраться, зачем создают сайты.

Все причины создания сайтов (захотел сайт-визитку, портфолио, сайт для принятия заказов и т.д.) делятся на две условные категории:

  1. Ради прибыли.
  2. Для самовыражения.

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

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

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

Например, на Авито при размещении объявления о создании мебели на заказ нельзя сделать грамотное портфолио с рубрикацией. Загрузка двух десятков фотографий и одного видео - примитивная функция, не позволяющая сделать нормальную виртуальную витрину, которая покажет всё разнообразие товаров.

Социальные сети подходят для наращивания аудитории, но нужна диверсификация. То есть альтернатива. Как говорится, «не кладите все яйца в одну корзину». Например, в дополнению к сообществу любителей Вконтакте сделать канал на YouTube и сайт с новостями из жизни этих бесстрашных животных.

Этот товарищ заработал с июня 2015 по июнь 2016 года 15 миллионов долларов (источник - Форбс).

Большую часть доходов PewDiePie получает благодаря своему каналу на YouTube с 50 миллионами подписчиков. Но этим он не ограничивается. Есть и другие проекты:

  • Книги-пародия на учебники по саморазвитию «Эта книга любит тебя».
  • Магазин товаров с его брендом shop.pewdiepie.com.
  • Шоу «Scare PewDiePie» на платном YouTube RED.
  • Периодическая трансляция своих игровых (и не только) похождений на Твиче со сбором пожертвований от зрителей.

То есть, если YouTube забанит канал PewDiePie (а такое вполне возможно), на доширак автор деньги всегда найдёт.

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

Как создают сайты

Люди, захотевшие заиметь свой сайт, сталкиваются с вопросом: как это сделать?

Некоторые бегут в книжный магазин и покупают книги типа «Как сделать свой сайт за пять минут», другие ищут совета у знакомых «программистов», третьи гуглят. Так или иначе, всё сводится к выбору: заказать сайт или делать самому.

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

2. Бюджетный. Берёте волю в кулак и делаете сайт сами, почитывая инструкции, проходя тернистый путь проб и ошибок.

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

О хостингах и доменах

Независимо от того, как будет создан сайт, нужно регулярно оплачивать хостинг и домен , по которому будет доступен сайт (например, vasyapupkin.ru).

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

Услуги хостинга имеют большой ценовой разброс. Всё зависит от сервера: какие программы на нём установлены, сколько места на диске доступно, насколько быстрый процессор у сервера и так далее. На практике это означает, что чем дешевле хостинг, тем медленнее открывается сайт в браузерах посетителей, если много людей заходят на сайт одновременно. Если вы знаменитая фотомодель и вам нужен сайт-портфолио, на дешёвом хостинге просто не хватит места для ваших фото и сайт может не открыться вовсе, когда на него ломанутся тысячи фанатов в секунду. В остальных случаях можно использовать самый дешёвый хостинг за 300 рублей в год - до пяти тысяч посетителей в сутки выдержит.

С доменными именами проще. Цена зависит от того, какой у адреса домен верхнего уровня (.ru, .net, .com, .biz и т.д.). Домены в зоне.ru недороги - 300-500 рублей в год. У меня домен в зоне.com (glashkoff.com ), они дороже, приходится платить ежегодно около тысячи рублей. Регистрацией и настройкой доменного имени может заниматься хостинг, они часто предоставляют эту услугу.

При чём тут WordPress

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

На выручку приходят различные CMS. Аббревиатура расшифровывается как C ontent M anagement S ystem, по-русски «Система управления содержимым». Страницы в Интернете, которые мы видим в браузере, редко создаются вручную. Обычно их генерирует какая-нибудь программа на основе текста, фотографий и прочего контента. Эти программы и называют CMS. Например, страница, которую вы сейчас читаете, тоже создана одной из CMS. Я набрал текст в удобном текстовом редакторе, указал заголовок страницы, добавил картинки и нажал «Опубликовать». Оформление страниц, функции вроде возможности оставить свой комментарий - это тоже часть системы управления контентом. Она сводит всё вместе и выдает страничку, которую получит браузер посетителя.

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

Так вот, WordPress - это та самая CMS, которая делает создание сайта лёгким. После копирования файлов ВордПресс на хостинг нужно будет открыть сайт по выбранному адресу, пройти базовую настройку и можно сразу приступать к наполнению сайта контентом.

Более четверти всех сайтов Интернета (триста миллионов) работают благодаря WordPress. Это самая популярная CMS в мире.

WP популярен потому, что:

  1. Бесплатен.
  2. Позволяет без навыков программирования настроить и запустить сайт.
  3. Сайты на Вордпрессе легко доработать благодаря плагинам и подробной документации.
  4. Подходит под широкий круг задач.

Нужно ли всегда использовать WordPress?

Всё зависит от задач. Преимущество Вордпресса в том, что можно самому запустить сайт и развивать его, попутно копя знания. И здесь, как владелец сайта, который вы читаете (надеюсь, он вам нравится), делюсь своим опытом. Вот самый важный совет:

Всё можно измерить. Посещаемость, покупку товара, переход по определённой ссылке можно отследить и оптимизировать.

Здесь интуиция вам не поможет. Нужно опираться на реальное поведение пользователей на сайте. Если сначала научиться использовать Google Analytics или Яндекс.Метрику (оба инструмента мощные и бесплатные), вы будете знать, как то или иное изменение влияет на поведение ваших посетителей. Сначала вы сможете разобраться, какие советы работают, а какие - устарели или были мифом.

При этом нужно понимать, что - это не расстановка ключевых слов в тексте, а качественное содержание всего сайта в целом. Поэтому, чтобы привлечь посетителей на сайт из поисковых систем и провести его до нужной кнопочки, нужно серьёзно постараться. Зато отдача будет фантастической!

С другой стороны, просто установив WP, готовый сайт вы не получите. Содержимое и дизайн нужно продумывать самому. А ещё ведь есть ещё которые нужно учесть, если ваша цель - сделать сайт популярным. Можно сделать , из-за которых поисковые системы ваш сайт будут игнорировать и единственным посетителем останетесь только вы.

Поэтому, если время дорого, а деньги есть, проще заказать сайт профессионалам. И здесь нужно понимать, что правильный подход к созданию сайта трудоёмок:

  1. Сначала нужно определиться, какого рода информация будет на сайте, какие функции должны быть. То есть составить ТЗ (техзадание).
  2. Объяснить это дизайнеру, чтобы тот разработал дизайн сайта. Ведь информация должна быть подана красиво.
  3. Нарисованные странички сайта передаются верстальщику, чтобы тот сделал заготовки страниц. Их уже можно открывать в браузере, но никакой интерактивности не будет - чтобы изменить текст и графику, придётся менять исходный код страниц вручную.
  4. Шаблоны страниц и список требований к функционалу вручаются программисту, который должен вдохнуть в сайт жизнь. Он разработает или адаптирует существующую CMS, которая и будет основой сайта.

Процесс создания сайта у каждой веб-студии проходит по-разному. Иногда верстальщик и программист - один и тот же человек. Или в цепочке может появиться UX-дизайнер, который продумает до мелочей всё возможное взаимодействие посетителя с сайтом, сделав его по-максимуму удобным. Так или иначе, в итоге вы получите сайт, который обеспечит условия получше, чем с «голым» Вордпрессом.

Почему WordPress популярен

Делать сайты на WP легко и просто.

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

Сейчас в Интернете работает больше одного миллиарда сайтов (около 1 113 471 400). Из них WordPress используют около трехсот миллионов. Впечатляет, не правда ли?

WordPress - инструмент, которым легко пользоваться.

  • Управлять сайтом на Вордпрессе легко благодаря грамотно спроектированной панели администратора.
  • WP работает практически на любом хостинге, даже самом дешёвом.
  • Если нужно добавить функциональность (форум, интернет-магазин, кнопки социальных сетей под записями - что угодно), достаточно найти в каталоге плагинов нужный и установить.
  • Есть множество тем оформления. Можно сделать приятный глазу персональный блог или солидный сайт фирмы.
  • При желании можно расширить функциональность, наняв программиста. Дорабатывать сайты на WP, по сравнению с другими CMS, проще.

Управлять сайтом на WordPress легко

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

На мой взгляд, админка Вордпресса - самая удобная в мире. Главная её страница сразу после установки выглядит так:

По мере установки плагинов (о них ниже) пунктов прибавится, но при желании всё лишнее можно убрать. Насколько я знаю, на админку WP пользователи жалуются меньше всего. У неё отличный баланс между функциональностью и удобством.

Работает на любом хостинге

Можно купить копеечный хостинг с поддержкой PHP версии 5.2.4 или выше (сейчас актуальна версия 7.1) и базой данных MySQL, установить туда WordPress - сайт заработает. Но лучше использовать хостинг с новым софтом, так надёжнее.

При использовании дешёвого хостинга учтите: при высокой посещаемости (5-20 тысяч посещений в сутки - зависит от хостинга, темы оформления и установленных плагинов) страницы сайта начнут открываться медленно. Это не проблема: ускорить сайт можно с помощью плагинов кэширования и грамотной настройки В конце концов, новостной сайт Fortune с гигантской посещаемостью работает на Вордпрессе - это о чём-то говорит. Просто возьмите себе на заметку: при посещаемости выше трех тысяч в сутки задумайтесь об оптимизации и/или смене хостинга.

Плагины для WordPress умеют всё

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

На момент написания заметки в каталоге доступно 47 876 плагинов, их число растёт каждый день. Некоторые плагины установлены более миллиона раз. Радует, что к каждому можно оставить комментарий и, в случае проблем, задать вопрос автору.

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

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

Темы оформления

Хотя стандартная тема оформления, идущая в комплекте с WP, в целом нареканий не вызывает, можно установить стороннюю. В официальном каталоге их тьма-тьмущая:

Темы, как и плагины, сильно влияют на функциональность. Можно превратить сайт в портфолио фотографа или сделать сайт фирмы по производству носков - выбор богат. Универсальные темы тоже существуют.

Каталог тем WordPress довольно неудобен, но постаравшись, можно найти что-то интересное. Например, недавно наткнулся на тему Davis:

Davis - очень лёгкая тема для блога на WordPress. Благодаря своей простоте сайт с этим шаблоном открывается мгновенно . Шаблон легко редактируется, поэтому идеально подходит для новичков, пытающихся разобраться, как создавать свои темы.

Доработка сайта

Если вдруг вам нужна какая-то функция или уникальное оформление, всегда можно отыскать фрилансера-программиста, который вам это сделает. Даже меня попросить можете.

Все функции WordPress подробно документированы, ваш сайт может сделать один разработчик, добавить новый функционал - другой. Разрабатывать и дорабатывать сайты на WordPress дешевле, чем иметь дело с безымянной CMS, сделанной вебстудией на заказ.

Недостатки WordPress

Несмотря на то, что в Интернете сотни миллионов сайтов работают на WP, у этой CMS есть проблемы. Самая главная, на мой взгляд: бестолковость тех разработчиков, которые отвечают за сайт wordpress.org, где находятся каталоги плагинов и тем.

Плагины

  1. неудобен. В рубриках «Избранные», «Популярные» виден лишь мизерный процент самых популярных. Делать рубрикацию и сортировку разработчики сайта почему-то не захотели. Нет фильтра, позволяющего отбирать недавно обновлённые плагины. Не работает система оценки - новый плагин с тремя положительными отзывами имеет больше звёзд рейтинга, чем давно проверенные, качественные плагины со множеством отзывов.
    Из-за этого искать качественные плагины утомительно. Приходится использовать поле поиска, вводя синонимы одного и того же слова.
  2. Низкое качество многих плагинов. Это основная причина, почему сайт может тормозить или подвергаться взлому. Например, в марте 2014 года эксперты обнаружили, что плагин «FancyBox for WordPress», красиво увеличивающий фотографии по клику, установленный на полмиллиона сайтов, уязвим и поэтому любой сайт с этим плагином можно было взломать! Ошибку автор быстро устранил, но не все так расторопны. А еще есть шанс, что разработчик может совсем забить на своё творение и плагин станет огромной дырой в безопасности сайта. Или на новой версии Вордпресса вовсе перестанет работать. Так что контроль качества отсутствует.
  3. Много плагинов с урезанной функциональностью, о чём можно узнать только после установки. Чтобы воспользоваться всеми возможностями, разработчики предлагают приобрести Pro-версии. Дело доходит до абсурда - показывают в админке неработающие опции с пометкой «доступно в платной версии». Таких «облегчённых» плагинов в каталоге больше двух третей, они никак не помечены, а качество - низкое, оплачивать их Pro-версию не имеет смысла.

Значит ли это, что плагинами пользоваться нельзя? Можно, только не забывайте их обновлять (в админке есть раздел «Обновления»).

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

Темы оформления

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

Часто на скриншотах шаблонов оформления есть то, чего на самом деле в теме нет! Как же так? Ларчик раскрывается просто: в каталоге разработчики размещают урезанную версию, а полная функциональность доступна за деньги, причем немалые - 30-50 долларов. Как и с плагинами, каталог выступает своеобразной витриной платных шаблонов без проверки качества.

Кстати, о качестве. Я настраивал много сайтов на WordPress с платными темами и с уверенностью заявляю: платно - не значит хорошо. В погоне за привлекательностью разработчики усложняют код, засовывают множество тяжёлых скриптов, внедряют конструкторы страниц и варианты шаблонов - всё, чтобы тема стала универсальной и «крутой». Из-за этого сайт будет дико медленным, могут быть проблемы с отображением в разных браузерах (привет криворуким из MyThemeShop, игнорирующих недовольных клиентов на своём закрытом форуме!).

Программный код WordPress

Ругать Вордпресс можно и за программный код. Для совместимости со старыми плагинами и старыми версиями PHP некоторые функции в программном коде WP не оптимизированы. Да и само устройство WordPress довольно неудобно с точки зрения программиста - код писался до появления MVC, MVP, MVVM и других модных нынче аббревиатур.

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

Итог

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

Твитнуть

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

Зачем плодить сайты

Прежде чем обсуждать WP, нужно разобраться, зачем создают сайты.

Все причины создания сайтов (захотел сайт-визитку, портфолио, сайт для принятия заказов и т.д.) делятся на две условные категории:

  1. Ради прибыли.
  2. Для самовыражения.

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

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

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

Например, на Авито при размещении объявления о создании мебели на заказ нельзя сделать грамотное портфолио с рубрикацией. Загрузка двух десятков фотографий и одного видео - примитивная функция, не позволяющая сделать нормальную виртуальную витрину, которая покажет всё разнообразие товаров.

Социальные сети подходят для наращивания аудитории, но нужна диверсификация. То есть альтернатива. Как говорится, «не кладите все яйца в одну корзину». Например, в дополнению к сообществу любителей Вконтакте сделать канал на YouTube и сайт с новостями из жизни этих бесстрашных животных.

Этот товарищ заработал с июня 2015 по июнь 2016 года 15 миллионов долларов (источник - Форбс).

Большую часть доходов PewDiePie получает благодаря своему каналу на YouTube с 50 миллионами подписчиков. Но этим он не ограничивается. Есть и другие проекты:

  • Книги-пародия на учебники по саморазвитию «Эта книга любит тебя».
  • Магазин товаров с его брендом shop.pewdiepie.com.
  • Шоу «Scare PewDiePie» на платном YouTube RED.
  • Периодическая трансляция своих игровых (и не только) похождений на Твиче со сбором пожертвований от зрителей.

То есть, если YouTube забанит канал PewDiePie (а такое вполне возможно), на доширак автор деньги всегда найдёт.

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

Как создают сайты

Люди, захотевшие заиметь свой сайт, сталкиваются с вопросом: как это сделать?

Некоторые бегут в книжный магазин и покупают книги типа «Как сделать свой сайт за пять минут», другие ищут совета у знакомых «программистов», третьи гуглят. Так или иначе, всё сводится к выбору: заказать сайт или делать самому.

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

2. Бюджетный. Берёте волю в кулак и делаете сайт сами, почитывая инструкции, проходя тернистый путь проб и ошибок.

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

О хостингах и доменах

Независимо от того, как будет создан сайт, нужно регулярно оплачивать хостинг и домен , по которому будет доступен сайт (например, vasyapupkin.ru).

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

Услуги хостинга имеют большой ценовой разброс. Всё зависит от сервера: какие программы на нём установлены, сколько места на диске доступно, насколько быстрый процессор у сервера и так далее. На практике это означает, что чем дешевле хостинг, тем медленнее открывается сайт в браузерах посетителей, если много людей заходят на сайт одновременно. Если вы знаменитая фотомодель и вам нужен сайт-портфолио, на дешёвом хостинге просто не хватит места для ваших фото и сайт может не открыться вовсе, когда на него ломанутся тысячи фанатов в секунду. В остальных случаях можно использовать самый дешёвый хостинг за 300 рублей в год - до пяти тысяч посетителей в сутки выдержит.

С доменными именами проще. Цена зависит от того, какой у адреса домен верхнего уровня (.ru, .net, .com, .biz и т.д.). Домены в зоне.ru недороги - 300-500 рублей в год. У меня домен в зоне.com (glashkoff.com ), они дороже, приходится платить ежегодно около тысячи рублей. Регистрацией и настройкой доменного имени может заниматься хостинг, они часто предоставляют эту услугу.

При чём тут WordPress

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

На выручку приходят различные CMS. Аббревиатура расшифровывается как C ontent M anagement S ystem, по-русски «Система управления содержимым». Страницы в Интернете, которые мы видим в браузере, редко создаются вручную. Обычно их генерирует какая-нибудь программа на основе текста, фотографий и прочего контента. Эти программы и называют CMS. Например, страница, которую вы сейчас читаете, тоже создана одной из CMS. Я набрал текст в удобном текстовом редакторе, указал заголовок страницы, добавил картинки и нажал «Опубликовать». Оформление страниц, функции вроде возможности оставить свой комментарий - это тоже часть системы управления контентом. Она сводит всё вместе и выдает страничку, которую получит браузер посетителя.

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

Так вот, WordPress - это та самая CMS, которая делает создание сайта лёгким. После копирования файлов ВордПресс на хостинг нужно будет открыть сайт по выбранному адресу, пройти базовую настройку и можно сразу приступать к наполнению сайта контентом.

Более четверти всех сайтов Интернета (триста миллионов) работают благодаря WordPress. Это самая популярная CMS в мире.

WP популярен потому, что:

  1. Бесплатен.
  2. Позволяет без навыков программирования настроить и запустить сайт.
  3. Сайты на Вордпрессе легко доработать благодаря плагинам и подробной документации.
  4. Подходит под широкий круг задач.

Нужно ли всегда использовать WordPress?

Всё зависит от задач. Преимущество Вордпресса в том, что можно самому запустить сайт и развивать его, попутно копя знания. И здесь, как владелец сайта, который вы читаете (надеюсь, он вам нравится), делюсь своим опытом. Вот самый важный совет:

Всё можно измерить. Посещаемость, покупку товара, переход по определённой ссылке можно отследить и оптимизировать.

Здесь интуиция вам не поможет. Нужно опираться на реальное поведение пользователей на сайте. Если сначала научиться использовать Google Analytics или Яндекс.Метрику (оба инструмента мощные и бесплатные), вы будете знать, как то или иное изменение влияет на поведение ваших посетителей. Сначала вы сможете разобраться, какие советы работают, а какие - устарели или были мифом.

При этом нужно понимать, что - это не расстановка ключевых слов в тексте, а качественное содержание всего сайта в целом. Поэтому, чтобы привлечь посетителей на сайт из поисковых систем и провести его до нужной кнопочки, нужно серьёзно постараться. Зато отдача будет фантастической!

С другой стороны, просто установив WP, готовый сайт вы не получите. Содержимое и дизайн нужно продумывать самому. А ещё ведь есть ещё которые нужно учесть, если ваша цель - сделать сайт популярным. Можно сделать , из-за которых поисковые системы ваш сайт будут игнорировать и единственным посетителем останетесь только вы.

Поэтому, если время дорого, а деньги есть, проще заказать сайт профессионалам. И здесь нужно понимать, что правильный подход к созданию сайта трудоёмок:

  1. Сначала нужно определиться, какого рода информация будет на сайте, какие функции должны быть. То есть составить ТЗ (техзадание).
  2. Объяснить это дизайнеру, чтобы тот разработал дизайн сайта. Ведь информация должна быть подана красиво.
  3. Нарисованные странички сайта передаются верстальщику, чтобы тот сделал заготовки страниц. Их уже можно открывать в браузере, но никакой интерактивности не будет - чтобы изменить текст и графику, придётся менять исходный код страниц вручную.
  4. Шаблоны страниц и список требований к функционалу вручаются программисту, который должен вдохнуть в сайт жизнь. Он разработает или адаптирует существующую CMS, которая и будет основой сайта.

Процесс создания сайта у каждой веб-студии проходит по-разному. Иногда верстальщик и программист - один и тот же человек. Или в цепочке может появиться UX-дизайнер, который продумает до мелочей всё возможное взаимодействие посетителя с сайтом, сделав его по-максимуму удобным. Так или иначе, в итоге вы получите сайт, который обеспечит условия получше, чем с «голым» Вордпрессом.

Почему WordPress популярен

Делать сайты на WP легко и просто.

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

Сейчас в Интернете работает больше одного миллиарда сайтов (около 1 113 471 400). Из них WordPress используют около трехсот миллионов. Впечатляет, не правда ли?

WordPress - инструмент, которым легко пользоваться.

  • Управлять сайтом на Вордпрессе легко благодаря грамотно спроектированной панели администратора.
  • WP работает практически на любом хостинге, даже самом дешёвом.
  • Если нужно добавить функциональность (форум, интернет-магазин, кнопки социальных сетей под записями - что угодно), достаточно найти в каталоге плагинов нужный и установить.
  • Есть множество тем оформления. Можно сделать приятный глазу персональный блог или солидный сайт фирмы.
  • При желании можно расширить функциональность, наняв программиста. Дорабатывать сайты на WP, по сравнению с другими CMS, проще.

Управлять сайтом на WordPress легко

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

На мой взгляд, админка Вордпресса - самая удобная в мире. Главная её страница сразу после установки выглядит так:

По мере установки плагинов (о них ниже) пунктов прибавится, но при желании всё лишнее можно убрать. Насколько я знаю, на админку WP пользователи жалуются меньше всего. У неё отличный баланс между функциональностью и удобством.

Работает на любом хостинге

Можно купить копеечный хостинг с поддержкой PHP версии 5.2.4 или выше (сейчас актуальна версия 7.1) и базой данных MySQL, установить туда WordPress - сайт заработает. Но лучше использовать хостинг с новым софтом, так надёжнее.

При использовании дешёвого хостинга учтите: при высокой посещаемости (5-20 тысяч посещений в сутки - зависит от хостинга, темы оформления и установленных плагинов) страницы сайта начнут открываться медленно. Это не проблема: ускорить сайт можно с помощью плагинов кэширования и грамотной настройки В конце концов, новостной сайт Fortune с гигантской посещаемостью работает на Вордпрессе - это о чём-то говорит. Просто возьмите себе на заметку: при посещаемости выше трех тысяч в сутки задумайтесь об оптимизации и/или смене хостинга.

Плагины для WordPress умеют всё

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

На момент написания заметки в каталоге доступно 47 876 плагинов, их число растёт каждый день. Некоторые плагины установлены более миллиона раз. Радует, что к каждому можно оставить комментарий и, в случае проблем, задать вопрос автору.

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

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

Темы оформления

Хотя стандартная тема оформления, идущая в комплекте с WP, в целом нареканий не вызывает, можно установить стороннюю. В официальном каталоге их тьма-тьмущая:

Темы, как и плагины, сильно влияют на функциональность. Можно превратить сайт в портфолио фотографа или сделать сайт фирмы по производству носков - выбор богат. Универсальные темы тоже существуют.

Каталог тем WordPress довольно неудобен, но постаравшись, можно найти что-то интересное. Например, недавно наткнулся на тему Davis:

Davis - очень лёгкая тема для блога на WordPress. Благодаря своей простоте сайт с этим шаблоном открывается мгновенно . Шаблон легко редактируется, поэтому идеально подходит для новичков, пытающихся разобраться, как создавать свои темы.

Доработка сайта

Если вдруг вам нужна какая-то функция или уникальное оформление, всегда можно отыскать фрилансера-программиста, который вам это сделает. Даже меня попросить можете.

Все функции WordPress подробно документированы, ваш сайт может сделать один разработчик, добавить новый функционал - другой. Разрабатывать и дорабатывать сайты на WordPress дешевле, чем иметь дело с безымянной CMS, сделанной вебстудией на заказ.

Недостатки WordPress

Несмотря на то, что в Интернете сотни миллионов сайтов работают на WP, у этой CMS есть проблемы. Самая главная, на мой взгляд: бестолковость тех разработчиков, которые отвечают за сайт wordpress.org, где находятся каталоги плагинов и тем.

Плагины

  1. неудобен. В рубриках «Избранные», «Популярные» виден лишь мизерный процент самых популярных. Делать рубрикацию и сортировку разработчики сайта почему-то не захотели. Нет фильтра, позволяющего отбирать недавно обновлённые плагины. Не работает система оценки - новый плагин с тремя положительными отзывами имеет больше звёзд рейтинга, чем давно проверенные, качественные плагины со множеством отзывов.
    Из-за этого искать качественные плагины утомительно. Приходится использовать поле поиска, вводя синонимы одного и того же слова.
  2. Низкое качество многих плагинов. Это основная причина, почему сайт может тормозить или подвергаться взлому. Например, в марте 2014 года эксперты обнаружили, что плагин «FancyBox for WordPress», красиво увеличивающий фотографии по клику, установленный на полмиллиона сайтов, уязвим и поэтому любой сайт с этим плагином можно было взломать! Ошибку автор быстро устранил, но не все так расторопны. А еще есть шанс, что разработчик может совсем забить на своё творение и плагин станет огромной дырой в безопасности сайта. Или на новой версии Вордпресса вовсе перестанет работать. Так что контроль качества отсутствует.
  3. Много плагинов с урезанной функциональностью, о чём можно узнать только после установки. Чтобы воспользоваться всеми возможностями, разработчики предлагают приобрести Pro-версии. Дело доходит до абсурда - показывают в админке неработающие опции с пометкой «доступно в платной версии». Таких «облегчённых» плагинов в каталоге больше двух третей, они никак не помечены, а качество - низкое, оплачивать их Pro-версию не имеет смысла.

Значит ли это, что плагинами пользоваться нельзя? Можно, только не забывайте их обновлять (в админке есть раздел «Обновления»).

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

Темы оформления

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

Часто на скриншотах шаблонов оформления есть то, чего на самом деле в теме нет! Как же так? Ларчик раскрывается просто: в каталоге разработчики размещают урезанную версию, а полная функциональность доступна за деньги, причем немалые - 30-50 долларов. Как и с плагинами, каталог выступает своеобразной витриной платных шаблонов без проверки качества.

Кстати, о качестве. Я настраивал много сайтов на WordPress с платными темами и с уверенностью заявляю: платно - не значит хорошо. В погоне за привлекательностью разработчики усложняют код, засовывают множество тяжёлых скриптов, внедряют конструкторы страниц и варианты шаблонов - всё, чтобы тема стала универсальной и «крутой». Из-за этого сайт будет дико медленным, могут быть проблемы с отображением в разных браузерах (привет криворуким из MyThemeShop, игнорирующих недовольных клиентов на своём закрытом форуме!).

Программный код WordPress

Ругать Вордпресс можно и за программный код. Для совместимости со старыми плагинами и старыми версиями PHP некоторые функции в программном коде WP не оптимизированы. Да и само устройство WordPress довольно неудобно с точки зрения программиста - код писался до появления MVC, MVP, MVVM и других модных нынче аббревиатур.

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

Итог

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

Если Вы новичок в блоггинге, то вполне возможно уже слышали о такой блог- платформе (движке), как WordPress. Так что такое WordPress? Это издательская платформа специально предназначенная для создания и ведения блогов, а также более сложных интернет-ресурсов. Причем, стоит отметить, что этот движок используют не только новички, но и такие монстры как, например, .

Эта система управления сайтом (CMS — Content Management System) является одной из наиболее популярных систем управления блогом (см. Википедию). Более того, можно делать не только блоги, но и целые информационные порталы. Вот процентное соотношение использования различных движков в мире по данным зарубежных источников.

Существует множество аналогичных систем и, вполне естественно, у каждой имеются свои достоинства и недостатки. Но, как мне представляется, если Вы решили сделать свой блог, при этом технические знания по его созданию практически отсутствуют, но хочется сделать свой блог (Речь идёт о том, если делать блог на бесплатных блог- сервисах, например на или , то фактически эти блоги принадлежат не вам, а соответствующему сервису) — лучший вариант – WordPress.

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

Пользуюсь системой уже не один год. Даже если и были какие-то проблемы – всегда есть и сайты и форумы, где всё можно разузнать.

И снова: почему WordPress? Почему именно эта CMS?

Потому, что

Упрощается процесс создания сайта (блога) – не надо знать языков программирования и многих других технических деталей. Многие хостеры имеют уже предустановленный этот движок и соответственно установка — это простое кликанье мышкой. Вполне естественно, что сначала нужно выбрать и купить доменное имя и хостинг;
Огромная расширяемость, над совершенствованием работает огромная масса профессиональных программистов. Открытый код. Обширный выбор тем и плагинов, позволяющие изменить внешний вид и расширить функциональность. А плагинов написано для этого движка столько, что трудно себе даже представить.

Причём с помощью плагинов wordpress можно решить практически любую задачу, например, хотите поставить капчу — запросто, хотите управлять метатегами — ставьте All in One SEO и все метатеги у вас под контролем. Нет необходимости выбирать другие движки, если всё можно сделать на этой платформе. Открытый исходный код означает, что можно спокойно вносить в него изменения;

Публиковать контент можно прямо с рабочего стола своего компьютера. Имеется возможность редактирования как визуально, так и с помощью HTML кода;
Любой движок подгоняется под ваши нужды, так здесь всё сделать элементарно – Вы сами сконструируете всё что вам нужно. Административная панель управления (или попросту — админка) имеет огромное число настроек. Здесь можно: написать заголовок, ввести текст, сделать разметку (прописать H1-H6,сделать маркированные и нумерованные списки, выделить жирным или цветом текст, вставить картинку и прописать к ней атрибуты — заголовок и alt. Выбрать рубрику размещения статьи, выбрать соответствующие метки и заполнить метатеги, редактировать url статьи и т.д);

Вот так выглядит админка.


Возможность обновления непосредственно от разработчиков;
Хорошо индексируется поисковыми системами. Можно настроить Вордпресс так. что после опубликования статьи он автоматически будет сообщать в интернет о появлении новой статьи;

Сам движок, огромное количество шаблонов (или тем), плагинов — всё это имеется в свободном доступе и всё это абсолютно бесплатно. Хотя стоит отметить, что если Вам вдруг захотелось какого-нибудь уж очень закрученного дизайна, то есть для этого платные темы. Внешний вид блога изменяется просто. Находите тему в интернете, скачиваете её к себе на компьютер и и просто закачиваете к себе на сайт, активируете и и всё. Смотрите на дизайн. не понравилось — закачайте другую. Внешний вид можно менять как рубашки.

Надеюсь, Вам стало понятно что такое Wordpress и почему его стоит использовать.

Прежде всего, считаю нужным уточнить несколько моментов:

  1. Эта статья не про какие-либо возможные недостатки интерфейса панели администрирования, тем оформления, готовых плагинов для wordpress или что там еще может интересовать типичного веб-мастера? Со всем этим как раз, на мой взгляд, у WordPress всё относительно в порядке. Эта статья про код.
  2. Статья во многом опирается на материалы, мною собранные воедино, вольно переведенные и от себя значительно дополненные. Ссылки представлены в конце статьи.
  3. Популярность - не синоним качества. Не нужно использовать этот довод как доказательство качества технического исполнения. WordPress популярен явно по совершенно иным причинам.

Глобальные переменные это так классно, не правда ли?

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

Так вот, WordPress использует их везде и для всего. К примеру, The Loop или Цикл , если по-русски. Используя его, WordPress обрабатывает каждый пост для вывода на текущей странице. Он может быть с легкостью сломан внедрением следующего кода:

Global $post; $post = null;
И попробуй догадайся где была объявлена или перезаписана глобальная переменная. Тяжело представить как у кого-то вообще могла родиться мысль о том, что вот такое использование глобальных переменных это чертовски хорошая идея.

А пригодился бы разработчику слой абстракции базы данных?

Определенно да. В WordPress не используется концепция моделей и каких-либо сущностей (ладно, есть WP_Post , но это смешно). Как насчет ORM и ActiveRecord? Забудьте. Вся работа с базой данных устроена с помощью отдельных специальных объектов для запросов, вроде WP_Query и WP_User_Query . В придачу к ним идет безумное количество неэффективной логики для поддержки пагинации, фильтрации, санитайзинга, установки связей и т.д. И в довершение ко всему перечисленному, каждый раз, когда осуществляется запрос, он изменяет глобальный объект (см. предыдущий пункт). Нет, серьезно, почему вообще результат запроса к базе должен храниться глобально?

У разработчиков также есть доступ к таким функциям, как query_posts() и get_posts() . Первая строго не рекомендуется к использованию в официальной документации и в статьях вроде этой . И обе являются обертками, вызывающими внутри себя WP_Query .

Function query_posts($query) { $GLOBALS["wp_query"] = new WP_Query(); return $GLOBALS["wp_query"]->query($query); }
Предлагаю также читателю постараться не засмеяться и не заплакать во время ознакомления со следующей иллюстрацией-объяснением работы WP_Query:

Всех этих проблем не было бы, если бы под капотом у нас присутствовал бы какой-нибудь адекватный слой абстракции БД. У WordPress есть глобальный объект (да, опять) wpdb , который пытается подражать слою абстракции. Пытается.

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

WordPress очень полагается на сущность post и типы этих постов (post types). Тут прослеживается наследие WordPress как изначально движка только для блогов. По умолчанию у нас есть следующий список типов постов:

  • post - запись в блоге, пост
  • page - страница
  • attachment - медиафайл (то есть изображение, загруженное и прикрепленное к посту с помощью кнопки «Добавить медиафайл», в терминологии WP это тоже в свою очередь пост)
  • revision - разные редакции одного и того же поста
  • nav_menu_item - элемент меню (ага, значит ссылка в меню тоже является постом, прекрасно)
Если вы делаете плагин и вам нужно объявить свою собственную сущность, например «выполненный проект», вы регистрируете новый тип поста. Такая возможность появилась с версии 3.0 и именуется custom post types .

Так вот, всё это должно храниться в одной единственной таблице БД и имя ей posts. Также у нас есть таблица postmeta. Несложно догадаться, что там нужно хранить всю мета информацию, относящуюся к постам. Таблица options предполагает хранение раличных настроек самого WordPress и всех установленных плагинов. В итоге, рано или поздно мы получим раздутые таблицы, поиск или сортировка по которым может стать проблемой.

Теоретически разработчик может создать свои произвольные таблицы в БД, но WordPress не будет о них ничего знать и не сможет организовать никакого интерфейса для управления данными, хранящимися в такой таблице. Всё, что останется разработчику - это PDO и MySQL запросы.

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

Маршрутизация с помощью mod_rewrite

Само по себе это не плохо. Плохо это измененять правила mod_rewrite посредством обновления.htaccess файла когда ядро или какой-либо плагин добавляют или переопределяют правила маршрутизации и только тогда, когда вы нажмете на кнопку обновления настроек на странице настроек маршрутизации в панели администратора (головная боль при отладке).

В мире уже достаточно давно изобретены, широко известны и широко используются такие подходы к маршрутизации как например у Symfony . Большинство, если не все проблемы WordPress с маршрутизацией могли бы быть решены с помощью маршрутизатора, работающего на уровне PHP. Все эти «полезные» функции вроде is_page() , is_single() и is_category() стали бы ненужными, т.к. маршрутизатор бы отвечал за весь mapping и scoping.

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

Как насчет файловой архитектуры?

Первый релиз WordPress состоялся 27 мая 2003го года, более 11 лет назад (представьте себе). Архитектура MVC тогда еще не была широко известна и используема, соответственно WordPress просто разбит на множество неких отдельных файлов, разложенных по неким директориям, в привычном ключе для PHP разработчика того времени. Этот подход находит свое отражение в устройстве шаблонов оформления, в которых страницы с определенными ролями имеют соответствующие PHP файлы: index.php, archive.php, single.php, и т.д. - вместо использования толковой маршрутизации (см. пункт выше). Да, это всё наследие с незапамятных времен, но от этого оно не перестает быть проблемой сейчас. Если у вас достаточно свободного времени, то можете ознакомиться с видеозаписью доклада , который иллюстрирует с какими вопросами сегодня приходится сталкиваться профессиональным WordPress разработчикам. Там человек 40 минут рассказывает как он организовал архитектуру тем оформления чтобы она была, скажем так, несколько удобнее. Круто, но почему ему вообще приходится этим заниматься и потом рассказывать об этом на конференции?

А вот еще маленькая и не очень существенная деталь, но заставляющая каждый раз страдать мое чувство прекрасного. Название шаблона оформления и прочая мета информация о нем хранятся в файле style.css, лежащем в корневой директории шаблона. Там же обычно хранятся и стили. Что если мы хотим использовать scss, задействовать сборщик, минифицирующий, конкатенирующий и укладывающий весь css код куда нибудь в файл app.css в папке build? Окей, но от style.css в корневой директории нам всё равно так просто не избавиться. WordPress жестко привязывается к названию шаблона, хранящемся в этом файле. Там может не быть ни единой строчки css, но должна быть строка с названием шаблона. Если этот файл удалить или переимновать - всё сломается.

Перейдем от архитектуры шаблонов к остальной кодовой базе. Большинство функционала предоставляется посредством глобальных функций (это плохо, см. пункт выше) и не инкапсулировано в классах / не организовано посредством неймспейсов. Расписывать почему это было бы хорошо - не буду, это широко распространенный и известный подход. Доходит до того, что создатели сколько-нибудь значительных плагинов организуют свою собственную mvc архитектуру с преферансом и барышнями в рамках директории своего плагина.

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

Пусть архитектура и не так хороша, по крайней мере шаблонизация хорошо работает

Шаблонизация в WordPress? Нет, никаких шаблонизаторов не используется. Вы можете возразить, ведь PHP сам по себе является шаблонизатором и вообще изначально задумывался как язык-шаблонизатор. Что же, это так, но он не используется тут так, как обычно используют шаблонизаторы. Я про то, что нет никаких layout"ов, переиспользуемых частей (partials), автоматического экранирования и т.д. и т.п.

WordPress существует уже больше 11 лет. Smarty больше 12 лет. Twig больше 4 лет. Не вижу ни единой причины почему нельзя было использовать стороннюю библиотеку или даже придумать что-то своё. Сам факт того, что в шаблонах приходится использовать все эти get_header() , get_sidebar() , и get_footer() - жалок.

Механизм action и filter хуков -- достаточно мощный и удобный

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

Function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) { return add_filter($tag, $function_to_add, $priority, $accepted_args); }

Давайте также закроем глаза на то, что принцип работы всех этих экшенов и фильтров давно известен миру, и название давно придумано - events, события. Только недоделанные, к примеру процесс «всплытия» события не может быть остановлен.

В WordPress данный механизм хуков используется, как и глобальные переменные, везде и для всего. Вся система построена таким образом, что по мере выполнения кода происходят определенные события, на которые повешены определенные функции. Вы можете сказать, что это классно, ведь разработчик может как угодно переопределить поведение системы, без надобности вносить изменения непосредственно в ядро. Да, любой плагин или тема оформления могут нести в себе хуки, которые изменяют какие-либо данные, переопределяют логику и, вместе с тем, вызывают проблемы в последствии по мере продолжения выполнения кода. Другая особенность состоит в том, что количество аргументов, передаваемых в обработчики событий, по умолчанию обрезается до одного, если явно не указано иное (отсылка к $accepted_args выше в коде). В каком таком случае мне вообще может это понадобиться и я не захочу получить все аргументы?

Оба этих момента иной раз приводят к кошмару во время процесса отладки.

Как насчет обработки ошибок?

Вместо использования встроенного в PHP стандартного механизма обработки ошибок и исключений, WordPress использует свой собственный велосипед. Получите, распишитесь. Вместо выбрасывания исключений и предоставления разработчику возможности поймать их и как следует обработать, WordPress возвращает (именно return, а не throw) экземпляр класса WP_Error , содержащий сообщение и код ошибки, ну вы знаете, прямо как исключение.

Что делает ситуацию еще смешнее - некоторые функции принимают аргумент, позволяющий выбрать что она будет возвращать при ошибке -- WP_Error или false . Без комментариев.

Зато у WordPress куча классных плагинов и шаблонов оформления!

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

Для меня самым занимательным тут кажется то, что в случае возникновения каких-либо проблем, связанных с поведением самого WordPress или одного из уже установленных плагинов, пользователь, как правило, думает, что установка еще одного плагина решит вопрос.

Ах, да. С каждым новым установленным плагином вы также повышаете шанс вот такого развития событий: "Критическая уязвимость в популярном плагине FancyBox for WordPress ". Плагин с более 500 000 скачиваний. Любой мог просто отправить составленный определенным образом анонимный POST запрос WordPress"у, тем самым как угодно изменяя опции уязвимого плагина, среди которых есть опция вывода дополнительного содержания. XSS готов.

Стандарты написания кода

Вместо того, чтобы поддержать весь остальной PHP мир в использовании стандартов PSR или PEAR , разработчики WordPress решили написать свой собственный стандарт , который во многом противоположен вышеупомянутым.

Псевдо Cron задачи

Вместо того, чтобы использовать настоящий планировщик cron, для WordPress создали свой собственный, работающий на уровне PHP. Он сохраняет ссылки на колбэки в БД, а затем при помощи PHP запускает их при определенных событиях. Само собой он не работает всё время в фоновом режиме, как можно было бы подумать. Каждый раз когда кто-то заходит на сайт, происходит проверка cron задач и, если пришло время для какой-то из них, то она выполняется. Может на минуту позже, может на несколько часов.

В результате можно найти кучу заметок о том, как отключить wp_cron и подключить настоящий. И еще вот такие: Why WP-Cron sucks . Там уже про негативное влияние WP-Cron на скорость работы высоконагруженных сайтов.

Нарезка изображений

При загрузке изображения в библиотеку медиафайлов WordPress нарезает его на разные размеры. По умолчанию жестко заданы 3 размера: миниатюра (150х150), средний размер (300х300), крупный размер (1024х1024). В панели управления можно изменить ширину и высоту каждого из этих размеров, но не удалить или добавить новый размер. Для добавления размера нужно залезть в код и воспользоваться функцией add_image_size() .

Представим, что мы установили тему оформления, разработчик которой добавил следующий код в файл темы functions.php, в котором предлагается описывать дополнительные функции для работы темы и устанавливать параметры ядра WordPress:

Add_action("after_setup_theme", "foo_theme_setup"); function foo_theme_setup() { add_image_size("category-thumb", 400, 400, true); add_image_size("homepage-thumb", 220, 180, true); }

Теперь загрузим, к примеру, фотографию foobar.jpg размером 1600х1600. Вне зависимости от вашего желания и не предоставляя какой-либо возможности выбора, WordPress создаст в директории wp-uploads следующие файлы: foobar.jpg (оригинальный загруженный файл), foobar-150x150.jpg, foobar-300x300.jpg, foobar-1024x1024.jpg, foobar-400x400.jpg, foobar-220x180.jpg. То есть в нашем случае по 6 файлов на 1 загруженное изображение, даже если вы просто хотели вставить на страницу оригинальное изображение и вам не нужна вся остальная нарезка. Когда мы загрузим еще 300 изображений, файлов будет уже 1800, большая часть которых никогда не будет использована и просто мертвым грузом будет лежать на жестком диске. А если у нас еще установлены плагины, которые тоже добавляют свои размеры? Сколько тогда файлов будет создаваться на 1 изображение?

Если мы захотим поменять тему оформления на новую, которая задает уже свои, другие размеры и предполагает использование именно их, то всё сломается. Ведь ранее загруженные изображения уже нарезаны иначе. В этом случае предлагается решать проблему с помощью стороннего плагина, например Regenerate Thumbnails , который удалит всю старую нарезку и из хранящихся оригиналов изображений сделает новую по обновленным правилам. Почему такой в общем-то несложный и достаточно важный функционал не встроен в сам WordPress - для меня загадка.

Заключение

Может показаться, что я ненавижу WordPress. Вовсе нет. Я имею дело с этой CMS с 2.* версий, приблизительно с 2009го года, с её помощью за прошедшее время мне довелось сделать не один десяток сайтов, за это я благодарен. Мы активно используем WordPress в студии, где я сейчас работаю и вряд ли сможем в скором времени его заменить на что-то более эффективное, хотя с интересом наблюдаем за развитием October CMS (CMS на базе PHP фреймворка Laravel) и фантазируем о миграции после выхода стабильной версии.

Сайт w3techs приводит следующую статистику на январь 2015го года - WordPress используют 23% сайтов из проанализированных топ 10 миллионов сайтов по рейтингу Alexa . Доля среди других CMS по этой выборке равна 60%. Следом идет Joomla с 7.5%, отрыв огромен. Откуда такая популярность? Почему я в своё время и огромное количество других людей выбрали WordPress? Видимо играет роль большая дружественность интерфейса управления сайтом, простота установки и использования, все эти тысячи готовых плагинов и шаблонов, низкий порог вхождения для того чтобы, простите, наговнокодить что-то своё. Эти качества отвечают всему тому, что так важно типичному веб-мастеру или человеку, которому просто нужен свой блог с фотографиями котиков. Людям, которые и близко не являются инженерами и не хотят ничего слышать про какие-то архитектуры, хуки и т.д.

Не стоит также забывать про сервис wordpress.com, позволяющий быстро создать сайт на основе WordPress, не заботясь о покупке хостинга и самостоятельной установке CMS. Обслуживает более 60 миллионов сайтов. Сервис создан в 2005м году компанией Automattic, которая вносит огромный вклад в развитие WordPress. И, как мне кажется, это напрямую связано с тем, что в новости об очередном грядущем обновлении WordPress указаны такие вещи, как новая тема оформления, улучшения в интерфейсе работы с текстом, удобное выравнивание изображений, новая вкладка «рекомендованные плагины» и прочая мишура. Это то, что нужно целевой аудитории. А в разделе для разработчиков написано, что поправлено куча багов. И никакого намека на глобальное улучшение ситуации. Это можно понять, нельзя так просто взять и всё отрефакторить, да и, опять же, целевой аудитории это не нужно. Поэтому я не верю в какие-либо действительно значимые позитивные изменения в техническом отношении.

В завершение приведу цитату из интервью с Алексеем Бобковым , разработчиком October CMS. Цитату, которая, на мой взгляд, очень точно описывает ситуацию с WordPress:

С какими CMS ты до этого работал и почему решил написать свою CMS?
Приходилось работать с разными CMS. Интерфейс многих CMS выглядит так плохо, что руки опускаются с ними работать. Я не люблю ругать чужие продукты, поэтому не буду перечислять названия, кроме одного. WordPress неплох, но уже видно, что это приложение старой школы. Даже лучшие (популярные) плагины для него это чистейшее спагетти из кода PHP и разных файлов. Чтобы разобраться что к чему и что-то починить требуется уйма времени и каких-то специальных знаний, для получения которых нужно перелопачивать форумы и блоги, в которых люди в основном задают такие же вопросы и не получают внятных ответов.
Хочется иметь что-то простое и гибкое, настоящую платформу для разработки сайтов и приложений, с красивым интерфейсом и продуманным подходом к расширяемости. Нечто такое, что можно описать несколькими страницами документации и чтобы люди, которые будут это использовать, могли тратить время на более приятные вещи, чем решение простых задач сложным способом.