Всем привет! Как провели праздничные дни? Надеюсь тесные ряды за эти дни не поредели? Возвращаться в рабочий ритм после продолжительных выходных крайне тяжело, но необходимо. Сегодня я решил написать легкий для восприятия пост о WordPress.

Как Вы думаете, почему WordPress стала одной из самых популярных блог-платформ, используемых за последние пару лет? Впервые этим вопросом я задавался несколько лет назад, когда только начинал и естественно передо мной стоял тяжелый выбор — а что выбрать? Тогда мне были известны Joomla, DLE, WP — как самые популярные, а на форумах постоянно шли и идут до сих пор жаркие споры о том, чем лучше та или иная CMS.

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

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

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

Возвращаясь к вопросу «Почему именно WordPress?» я приведу свои аргументы в его пользу.

Причины, по которым я выбираю WordPress

1. Помощь и поддержка

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

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

2. Темы и плагины WordPress делают систему гибкой

Их предостаточно! Выбор настолько велик и разнообразен, что глаза разбегаются. Встречают по одежке, поэтому первое что приходит на ум после установки любого движка — установить красивую тему. А где ее взять? можно подобрать несколькими путями:

  • Заказать дизайн у фрилансера или профессиональной web-студии;
  • Купить премиум тему;
  • Скачать бесплатные темы WordPress.

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

Я не учел еще один вариант: выбрать подходящую тему и переделать ее на свой вкус — получится бесплатно и одновременно уникально. Такой способ больше подходит для продвинутых пользователей.

3. WordPress дружественно относится к SEO

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

WordPress мне чем-то напоминает конструктор, в котором я собираю систему, полностью удовлетворяющую требованиям.

На своем блоге наряду с другими я установил плагин All in One SEO Pack, добавляющий поля title, keywords и description для каждой страницы и выполняющий другие полезные функции. И таких плагинов не один и даже не два.

4. WordPress — бесплатная система управления контентом

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

Этот список можно продолжать и дальше, я просто выделил для себя основные преимущества WordPress . Можно выявить и недостатки, но это совсем другая тема… В заключение обращаюсь к читателям: как Вы считаете, является ли WordPress лучшей CMS для ведения блогов или есть лучшая альтернатива?

Один из наиболее часто задаваемых вопросов от пользователей данного движка - это "Надо ли мне платить за использование 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.

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

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

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

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

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

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

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

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

Потому, что

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

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

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

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


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

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

Надеюсь, Вам стало понятно что такое 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");