Вопрос а почему для вордпресс. Почему WordPress? Потому, что лучше! А пригодился бы разработчику слой абстракции базы данных

Почему Wordpress? Платформ, для создания блогов, сайтов очень много.

Есть бесплатные варианты, платные. Но статистика показывает, что Wordpress занимает лидирующие позиции.

Почему Wordpress? Есть аналог Joomla (сама делала на нем интернет магазин с модулем Virtuemart), но мне было очень сложно его понять.

Есть Drupal, b2evolution, Textpattern, PivotX и так далее, о которых многие даже не слышали. Но вот Wordpress знают практически все.

У каждого блоггера есть свои причины, мотивы. Кто-то выбирает Wordpress потому, что все знакомые его выбрали. Лучшие блоггеры рунета им пользуются.

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

Просто, легко

До Wordpress мне пришлось поработать с Joomla, я просто не знала про Вордпресс.

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

Wordpress просто супер! Быстро и легко. Joomla больше подойдет для портала, где есть различные виды страниц, среди которых нужно найти постинг в блог.

В админке полный порядок

Затем, мне не понравился юзабилити в админке Joomla. Так много всего и такой хаос, что я просто не смогла к нему привыкнуть. Хотя, у меня было достаточно времени. Я создала там интернет магазин, пока забила около 500 товаров вручную, начала хорошо разбираться в Joomla.

Гибкость

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

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

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

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

Дизайн, шаблоны

Зная абсолютное лидерство Wordpress, разработчики трудятся в поте лица, чтобы создавать для нас премиум шаблоны. Я слежу за этой тенденцией. На западе создаются такие шедевры, что охаешь и ахаешь.

Эти шаблоны делают из обычного блога блестящий корпоративный сайт, портфолио, изумительные галереи картинок и много всего! С каждым днем качество шаблонов, их функциональность растет с новинками самого движка Wordpress. Мне это нравится, а вам?!

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

Поисковые системы очень любят Wordpress

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

Конечно, каждая причина достойна более подробного объяснения в новых статьях. И я обязательно буду это делать.

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

И просто это любовь с первого взгляда:).

А почему Wordpress для вас?

(Последнее обновление: 23.05.2019)

Привет всем! Друзья и товарищи, я подготовил небольшую статью - Почему WordPress - для тех, кто только задумывается или уже решил окончательно создать свой сайт (к стати, вот , подробная инструкция в картинках и видео, по созданию своего автономного веб-ресурса) и не знает, какой движок выбрать. А также, для пользователей Blogger мечтающих перейти на новый уровень, то есть, стать самостоятельными и не зависимыми от прихоти бесплатного блогохостинга blogspot.

В общем, продолжаю агитировать за мою любимую CMS Вордпресс.

Наилучшие возможности WordPress ждут вас

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

Почему CMS WordPress?

Итак, если вы выбираете платформу для сайта, советую обратить своё внимание на ВордПресс – абсолютного лидера и чемпиона среди бесплатных CMS во всем Интернете. По информации W3Techs, сегодня на движке WordPress работают 33% всех сайтов в мире, то есть, каждый 3 сайт в Интернете работает на WP (и мои пять, в том числе).

WordPress появился в 2003 году, когда Mike Little и Matt Mullenweg создали форк b2/cafelog. Даже тогда требовалась элегантная, хорошо продуманная личная издательская система. Сегодня WordPress построен на PHP и MySQL и лицензируется под GPLv2

WordPress продолжает лидировать на российском рынке CMS. Согласно последним исследованиям компании iTrack, WordPress является наиболее востребованной платформой в российском сегменте сети (42,8 % от общей доли систем управления сайтами) за которой следует Joomla (15,2 % рынка). Третью позицию по числу инсталляций занимает коммерческое решение 1С-Битрикс (9,8 %), четвертую - система OpenCart, контролирующая примерно 4 % российского рынка CMS.

Это в первую очередь связано с её доступностью. Система управления контентом (CMS) WordPress распространяется по свободной лицензии GNU GPL, благодаря чему может использоваться всеми желающими, не зависимо от своей подготовки, как на собственном сервере/хостинге, так и на домене wordpress.com.

На блогохостинге WordPress.com также бесплатно создается домен третьего уровня ( по wordpress.com). Хостинг помогает создавать красивые и функциональные веб-сайты и блоги. WordPress.com - это отличная площадка для любых авторов: от начинающих блогеров и предпринимателей до крупных брендов, например TIME, TED и Spotify:

Главная страница ru.wordpress.com

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

На официальном сайте https://ru.wordpress.org/ (сайт на русском языке) можно в любое время бесплатно скачать самую последнею версию WP и установить её на хостинг.

Встречайте самый популярный WordPress

Многие хостинги представляют возможность установить движок Вордпресс автоматически. Как например мой любимый хостинг Beget. Как создать сайт на бегет ссылка в начале поста.

Обновление WordPress

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

Комьюнити (интернет-сообщество - группа людей со сходными интересами, которые общаются друг с другом в основном через Интернет) WP огромно и включает в себя миллионы пользователей и разработчиков, и в том числе русскоязычных.

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

Панель управления WordPress - плагины

Есть, как небольшие плагины, так и целые фреймворки, которые позволяет сооружать сложные конструкции, как форум bbPress, нишевая социальная сеть (плагин BuddyPress) или интернет-магазин (плагин WooCommerce). На WP можно создать сайт практически для любых целей, от персонального блога до интернет -магазина. И что самое главное, сделать это может практически любой человек даже, не знакомый с программным кодом.

Темы для сайта WordPress

Сайт работающий на WordPress

Пример сайта на WordPress : Сайт кулинарных рецептов "Я Поварёнок" - https://japovarenok.ru/

Кулинарный сайт -работает на ВордПресс

Пример сайта: AppleMix - http://applemix.ru/

Пожалуй, ещё стоит упомянуть всем известный Лайфакер - http://lifehacker.ru/

Лайфакер

Когда в 2003 году никому не известный программист Мэтт Мюлленвег (Matt Mullenweg) выпустил движок WordPress, кто бы мог подумать, что он станет настолько популярным во всем мире? Лучшего движка, наверное уже не придумать. А зачем придумывать, что то лучшее, если есть - идеал.

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

И в заключение

Тестировал бесплатные CMS Joomla!, Drupal - не понятно и сложно, надо изучать длительное время, а оно мне надо? Выбрал окончательно и на всегда WordPress - легко, комфортно, даже ребёнок справится. Рекомендую всем. Создайте полнофункциональный вебсайт на движке WP и вы не пожалеете.

Вот и всё, совсем коротко - почему Вордпресс лучшее решение для создания сайта.

Если что, я вам в помощь. На этом позвольте откланяться, до новых встреч. Удачи всем.

(function(w, d, n, s, t) { w[n] = w[n] || ; w[n].push(function() { Ya.Context.AdvManager.render({ blockId: "R-A-292864-4", renderTo: "yandex_rtb_R-A-292864-4", async: true }); }); t = d.getElementsByTagName("script"); s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(this, this.document, "yandexContextAsyncCallbacks");

Твитнуть

В моем блоге иногда выходят для 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.

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

  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 и разных файлов. Чтобы разобраться что к чему и что-то починить требуется уйма времени и каких-то специальных знаний, для получения которых нужно перелопачивать форумы и блоги, в которых люди в основном задают такие же вопросы и не получают внятных ответов.
Хочется иметь что-то простое и гибкое, настоящую платформу для разработки сайтов и приложений, с красивым интерфейсом и продуманным подходом к расширяемости. Нечто такое, что можно описать несколькими страницами документации и чтобы люди, которые будут это использовать, могли тратить время на более приятные вещи, чем решение простых задач сложным способом.