В связи с желанием стереть свой поддомен об этих двух CMS, оформляется объемная статья, датируемая 2010 годом и содержащая в себе информацию по концепциям современной на тот момент Joomla v.1.5.5 и WordPress v.3.0.0. Материалы тесно связаны между собой и позволяют определить, какая CMS больше подойдет для создания сайта. Тенденция за 4 года не изменилась: WordPress - простая и удобная, Joomla - глючная, сложная, но очень функциональная.
1. Первые впечатления и неприятности. WordPress: - при изучении пункта "Параметры" сразу же захотелось их поменять. Начал играться с "Адрес WordPress (URL)" и "Адрес сайта (URL)". В результате моментально запорол и сам сайт, и админку - пришлось потом лезть и вручную в MySQL восстанавливать значения. В целом отмечу, что структура базы MySQL более проста и лучше сконструирована, чем у Joomla; и кол-во таблиц меньше: 11 против 39; - очень понравилась система администрирования комментариев; в Joomla это достигается только установкой сторонних плагинов; - аналогично коснусь отображения фото и видео на сайте. В Joomla для этого нужно использовать медиа-менеджер и сторонние плагины как минимум, имеются сложности с выравниванием; а тут просто мышкой щелкнул, загрузил в галерею - и оттуда используешь. Практически все сталкиваются с проблемой загрузки; просто нужно данной папке назначить права 777; - меню CMS сделано очень грамотно, все понятно даже далекому человеку; - понравился встроенный редактор файлов .PHP; если быть очень внимательным - косяков не будет; хотя резервную копию под рукой держать нужно. В Joomla многие вещи приходится править по FTP; я привык, но с таким редактором проще; - существуют тысячи тем для WordPress, есть даже генераторы шаблонов; Joomla таким количеством похвастаться не может. Шаблоны представляют собой фиксированный список файлов с фиксированными названиями; то же отмечается в Joomla, но с некоторыми флуктуациями. У Joomla есть 1 плюс: чтобы химичить с темой - там нужно всего лишь 2 файла изменять: index.php и файл .CSS; остальное редко требуется. А я вот установил тему в WordPress, сделал ей русификацию - а она потом пропадет при обновлении темы или ее смене; - обновление ПО. В Joomla это реализовано через жопу во всём. А вот с WordPress всё получилось почти идеально. Сама программа после нажатия на кнопку - автоматически обновила себя с версии 3.0.0 до 3.0.1, запрашивает только пароль FTP. Параллельно обновились темы, но это можно делать и руками. Плагины тоже можно обновить простым нажатием кнопки; и мало того, пишется их совместимость с текущей версией. Проблема после обновления была только с 1 плагином, но опять же, надо было всего лишь создать папку и дать ей права 777: "Hyper Cache was not able to create the folder "cache" in its installation dir. Create it by hand and make it writable"; - импорт и экспорт - великие вещи, если вы решили сменить движок сайта, переехать, дать кому-то материалы или что ещё. Поддерживает XML и несколько других форматов. В Joomla такого не видел, либо нет; опять же наверняка решается каким-нибудь сторонним плагином, только ищи его, не зная названия. - пользователи. В упор не понял, как картинку к профайлу прикрепить. Администрирование пользователей хуже по возможностям, чем в Joomla. - в WordPress в админке можно сделать автоматический вход, а в Joomla нет. Joomla: - после установки тоже могут возникать проблемы доступа к папкам, случая 1-2; решается так же просто: нашел папку и дал права 777; - обновление ужасное; даже плагины обновляются вручную, и подавляющее большинство плагинов - с багами, которые либо вручную правишь, либо отказываешься от плагина и ищешь другой; - о плагинах добавлю следующий момент. Если вы возьмете плагин в формате .ZIP и захотите его пережать, чтобы занимал меньше места - Joomla запорется, не примет перепакованный вариант, а последняя версия WordPress - глотает на ура; - медиа-менеджер организован неплохо; но и тут есть мелкие косяки. К примеру, нельзя удалить непустую папку, ты сначала обязан все файлы в ней стереть. А если там папок 10? 2. Написание статей. WordPress: - WordPress сохраняет черновики. В Joomla такого не видел. - Joomla имеет более развитую панель редактирования; однако в WordPress достаточно установить плагин текстового редактора Tiny MCE. - вот тут начинаешь понимать, что Joomla все-таки более развитая; и несмотря на то, что в ней есть глюки - после настройки и их устранения будем иметь: возможность указывать дату создания, редактирования статьи; кнопки печати, импорта в PDF, "послать по почте"; более гибкое владение отображением данных на странице статьи; - в WordPress есть только рубрики. В Joomla же есть категории и разделы, что дает дополнительные возможности при выстраивании иерархии статей; - В Joomla можно использовать глобальные параметры для материалов, элементов меню. Joomla: - привлекает возможность слежения за хитами, количеством исправлений, кнопка "Подробнее" легче подготавливает материал к анонсу; - раздельные мета-описание статьи и мета-слова, параметры для robots; - видимость более тонко настраивается; в WordPress же самое впечатляющее - защита статей паролем; - больше возможностей с манипуляциями на главной странице; хоть и может показаться сложным на первый взгляд - разобраться можно сразу же после изучения архитектуры материалов в Joomla; - не дает сохранить пустую статью. Ну, может и верно. 3. Мелкие пакости. WordPress: - если попытаться в WordPress создать Ссылку, начинающуюся с большой буквы "H" (Http://...) - то ссылка не сохранится; - если вы открываете файл .PHP на редактирование - может не отобразиться кнопка "Сохранить". Почему? Найдите файл на FTP и укажите ему права 777. Как обычно; - если вручную стереть медиафайл из директории - в галерее будет висеть упоминание этого файла до тех пор, пока вы его вручную не удалите; - элемент "страница" не позволяет быть автоматической ссылкой на сторонние сайты; - тихо смеюсь, потому что без сторонних плагинов я не смог сделать так, чтобы самые поздние статьи были снизу; - наконец-то решил проблему ввода пароля FTP при обновлении плагинов и самой WordPress из админки. Заходим в файл wp-config.php, находим блок строк типа define("FTP_HOST", и добавляем туда строку define("FTP_PASS", "ваш_пароль_FTP"). Joomla: - при попытке сохранить "Общие настройки" - выдается предупреждение, что перезапись невозможна. Найдите файл configuration.php на FTP и укажите ему права 777. В принципе, это правильно: настройки не должен иметь изменять право никто; только админ, с простыми манипуляциями; - кеширование. Штука полезная в плане ускорения; но при включенном кеше вы можете обновить материал статьи - а изменение на сайте увидеть только через время, указанное в настройках кеширования; - встроенные голосования. Не нашел возможности остановить голосование и просто результат показывать; наверно, плохо смотрел; - пришлось повозиться со стрелочками "Предыдущая-Следующая статья". Когда нужно оградить одну статью от других - тут уже приходится извращаться: создавать отдельный раздел, чтобы обеспечить ее автономность; - если вы будете выделять ссылку в статье для редактирования самой ссылки - вы должны выделить ее всю; не дай бог лишний пробел захватите или символ недохватите - кнопка редактирования доступна не будет. 4. Файлы: плагины. модули и плагины WordPress, автообновление само скачает новые версии (2.87МБ): - Wplang Lite v.0.3: ускорение работы WordPress; - Wp-Ban v.1.50: бан по IP спамеров (адресовано спамерам: умрите, черти, сдохните!); - Wp-NoHref + Wp-NoIndex: просто-напросто делает работу спамера бессмысленной (ссылки, размещенные им, теряют свой вес у поисковиков-гигантов, т.е. никакое повышение ТиЦ они не получат); - InLine PHP: выполнение PHP-кода в материалах; - Block Bad Queries: отсев опасных запросов; - Google XML Sitemaps: автосоздание файла Sitemaps.xml; - Broken Link Checker: поиск битых ссылок; - Nextgen Gallery: создание фотогалерей; - Hyper Cache: кеширование контента; - Облегченная версия Hyper Cache: кеширование контента; - Captcha: против спама в сообщениях; - Hana FLV Player: плеер для аудио и видео; - Contact Form 7: форма обратной связи. PHP-решения для WordPress (1КБ); модули и плагины Joomla v.1.5.5 (7.07МБ): - модули: Выбор категорий - mod_catselect.zip; Горизонтальное флеш-меню - mod_super_menu.zip; Звездочки для оценки статей - extravote.zip; Калькулятор - mod_brightcalc.zip; Картинки массивом - mod_images_rows.zip; Летающие теги (не работает с русс. буквами) - mod_yj_tagcloud.zip; Праздники - mod_yoo_holidays.zip; Проигрыватель видео - mod_flow_player.zip; Русские летающие теги-ссылки - mod_joomulus.zip; Рэндомный текст - mod_randomanything.zip; Слайд-шоу, разбивка картинки на несколько - mod_i-slideshow.zip; Текущий IP - mod_j15whatismyip.zip; Чат - mod_AjaxChat.zip; Показ тегов (импорт ключевых слов из статей) - Joomla Tags.zip.
- компоненты: Карта сайта без материалов - JM sitemap.zip; Форма обратной связи - AiContactSafe_2_0_8.zip; Мониторинг файлов сайта - eyesite_2.01.zip; Карта сайта с материалами, создание XML-файлов - XMap.zip.
- плагины: Запуск кода PHP - rd-addphp.zip; Навигация по материалам, page navigation - pagenavtitles.zip; Автосохранение материалов, Autosave.zip; Автопроставление псевдонимов - yvTransliterate v.1.02 - ; Проигрыватель видео - FlowPlayer v.1.1.1.zip; Текстовый редактор TinyMCE v.3.2 - tinymce3.zip; Удаление номеров статей и категорий из ссылок - HP Router v.0.3.zip. PHP-решения для Joomla (2КБ). 5. СПАМ в WordPress и методы борьбы с ним. На моем основном сайте под Joomla я решил проблему просто. Отключил комментарии - и все тут. А вот на прочих моих ресурсах на WordPress - комментарии отключить я не могу. Что ж, вместо того, чтобы в воскресение спокойно пить чай и девушек кадрить, - я начал изучать эту проблему со стороны WordPress. Решение было найдено достаточно быстро. В этом мне помог мой прошлый опыт. В 2008 году был создан личный сайт и форум для него, связанный с созданием и раскруткой сайтов. Сайт находится в законсервированном состоянии, и я его больше не обслуживаю. Как ни странно, эти области оказались тесно связаны со спамом, и часть опыта оттуда мне пригодилась. К какому выводу я пришел. Основная причина спама - это не только продажа услуг, товаров и чего-либо. А в накрутке определенных сайтов по методу его наращивания ТиЦ в поисковых системах (индекс цитирования). Поэтому все просто. Нужно автоматически-вручную пройти как можно больше сайтов и наспамить там ссылку на нужный спамеру сайт. Именно поэтому очень сильно спамят вконтакте, ЖЖ и прочих достаточно крупных сайтах: их "вес" больше, и ссылка на них ценится дороже. Итак. Начиная противоборство - я думал, что встроенный антиспам Wordpress позволит решить задачу. Не получилось. Похоже, идет анализ по контенту сообщения, а это в моем случае неприемлемо: спамеры используют готовые списки сообщений и их генераторы. И наткнулся я потом на 2 потрясающе простых и действенных плагина: Wp-Ban и Wp-NoHref + Wp-NoIndex. Устанавливаются легко, и совместно решают ряд задач, с избыточностью. Можно банить спамеров по IP, маске посети, сообщению; а также просто-напросто делать их работу бессмысленной: ссылки, размещенные ими, - теряют свой вес у поисковиков-гигантов, т.е. никакое повышение ТиЦ они не получат. Зададим спамерам жару! И не забывайте, что в графе "параметры -> обсуждения" тоже есть фильтры; например, по вхождению каких-то слов в сообщение. 6. Общие выводы и ответы на возникшие вопросы. 1. WordPress гораздо легче, чем Joomla; хоть и менее функциональна. Хотя опять же, кому чего нужно; если вам важны тысячи тем - то тут Joomla уже отдыхает. У меня на изучение WordPress ушло 18 часов и 6 часов - на написание этих постов. 2. Место. Для сравнения: файлов у Joomla порядка 4000, у WordPress только 800. По объему: 14 мегабайт против 9,5. Структура Mysql у WordPress также меньше по объему и более понятна. В итоге если нужно архивировать сайт на local - то из-за большой разницы в количестве файлов у WordPress это будет быстрее. Раз в 5. 3. Производительность у Joomla на порядок выше, несмотря на всё это (грамотный кеш?). 4. SEO построено грамотно на обоих CMS, но у меня есть предположение, что Joomla позволяет более качественно индексировать сайт за счет внутренних механизмов. 5. Только что обнаружил: WordPress ведет историю сохранений статьи; получается, можно всегда вернуть материал в очень давней редакции. В Joomla такое не ведется. 6. Миграция у WordPress или хотя бы изменение префикса у таблиц - это просто ужасный гемор, но только в первый раз. С коим я и столкнулся. В интернете пишут: кому-то везет, кому-то нет; и уж если не повезет - то совсем плохо будет. Поехала разметка, не мог попасть в административную панель, сдохли плагины, ... А Joomla тоже повела себя как ужасная стерва.Проблему WordPress я решил. Причем совершенно случайно. Мне не помог ни гугл, ни сайты по WordPress. Итак, алгоритм переноса сайта/базы MySQL: - отключаем все плагины; - делаем экспорт базы MySQL (например, средствами PhpMyAdmin); - меняем в экспортном файле префиксы таблиц руками, никакой автозамены! Их всего 10-30 исправлений; автозамена фатальна, т.к. и таблицы начинаются с "wp_" по умолчанию, и некоторые функции WordPress - тоже. Вы можете не менять стандартный префикс "wp_", но когда (например) у вас кончится лимит БД под ваши поддомены - вы их начнете объединять, и тут уникальность префикса таблицы вам поможет. - меняем автозаменой во всей БД ссылки старого домена на новый; - импортируем измененную на компьютере базу MySQL в конечное местоположение; - запоминаем все уникальные права для папок/файлов на FTP (отличные от 755/644); - копируем файлы с сайта на компьютер. - на компьютере редактируем файл wp-config.php программой Notepad++, выставляя в нем новое название БД, реквизиты доступа и новый префикс таблиц MySQL. Почему именно этой программой: файл нужно обязательно сохранять в кодировку utf-8; в некоторых случаях, как в моем, - в utf-8 без BOM. Если сохранить в любом другом формате - возникнут глюки, что я писал выше. Вы будете думать, что у вас слетела CSS, или не достает файлов, или база MySQL неисправна - ничего подобного; - копируем файлы сайта с компьютера на виртуальную площадку, конечное местоположение; - выставляем права для тех папок, которые мы запоминали. - заходим в админку, включаем плагины. - может не пустить в админку, выдав сообщение "у вас недостаточно полномочий для доступа к этой странице". Решается из PhpMyAdmin: ищем в "ваш-старый-префикс_options" строчку "ваш-старый префикс_user_roles", меняете старый префикс на новый; ищем в "ваш-старый-префикс_usermeta" строчку "ваш-старый префикс_capabilities", меняете старый префикс на новый. 9. Хочу отдельно сказать, что обновление плагинов в WordPress происходит без потери данных. А в Joomla не предусмотрен механизм обновления компонентов вообще. Нужно снести старый компонент, потерять все настройки, файлы и связи - и после этого поставить новый. Иначе - выдает ошибку "не могу поставить плагин, папка занята". Дебилизм... Ссылки по теме: https://bad-good.ru/2010/july/article38.html https://bad-good.ru/2011/june/flowplayer.html https://bad-good.ru/2011/april/tcpdf.html https://bad-good.ru/2011/november/right-robots-txt.html Ответы на вопросы: - Как мне сделать так, чтобы в списке материалов выводятся ВСЕ материалы, а не по 100 шт. - файл configuration.php в корне джумлы, параметр "var $list_limit = '100';". Выставляем значение "0". - Требуется плагин/модуль для Joomla 1.5.5, чтобы на емейл администратора приходили уведомления вида: пользователь нажал на ссылку внутреннюю (по возможности и внешнюю) - и вышла ошибка 404. - Плагины на такую тематику платные. Лучше просканировать сайт на битые ссылки программой Xenu's Link Sleuth, лучше нее это не сделает ничто: - Требуется составить запрос для базы Joomla 1.5.5: 1. показ названий всех статей, в которых не заполнено поле "Описание"; 2. показ названий всех статей, в которых в поле "Ключевые слова" содержится хотя бы одна точка или энтер; 3. удаление из полей "Ключевые слова" пробелов и энтеров. - Ответ: 1. select * from joomla_content where metadesc = ''; 1.1. select * from joomla_content where metakey = ''; 2.SELECT * FROM joomla_content WHERE metakey LIKE '%.%' OR metakey LIKE "%\n%"; 3. Просмотреть все ключевые слова, и если в нем есть пробелы - убрать их (замена ", " на ",": UPDATE joomla_content SET metakey=REPLACE(metakey, ', ', ','). - Joomla 1.5.5, требуется плагин, аналогичный "WfMonitor" в WordPress. Посуточно проверять весь домен, об изменениях в файлах - сообщать на почту или как-нибудь ещё. - Сам отвечаю: плагин Eyesite. Из плюсов - небольшая нагрузка по IO. - Можно ли на Каждую страницу сайта выводить ВСЕ теги из базы? Чем это может быть чревато? Выводит их Joomla 1.5.5, модуль mod_yj_tagcloud (YJ TagCloud). Вопрос касается общего быстродействия системы, вероятности более успешного ддоса, каких-либо наказаний со стороны поисковиков (последний пункт наиболее важен). Спасибо. - Нагрузка на базу увеличивается, это может быть чревато при высоких посещениях (более 500 чел в день). По поводу поисковиков - вроде как требуется, чтобы тег был в самом тексте статьи, и большое кол-во нарушений этого правила может привести к понижению рейтинга. Этот вопрос плавает, но предубеждения именно такие, и я это не буду делать. - Пытаюсь решить проблему с плагином JoomlaTags. Пусть у меня есть облака тегов, красиво, замечательно. Но вот беда: если тег английский - то при нажатии на тег все стабильно: https://bad-good.ru/component/tag/airmax.html. Но если тег РУССКИЙ - все идет наперекосяк, всегда пишет "страница не найдена". - Нужно было полностью перекодировать базу в UTF-8 плюс в настройкахPHPMyAdmin поставить кодировку по умолчанию для данной БД: UTF-8_general_ci. После этого установил компонент JoomlaTags, и русские теги заработали. - Появилась проблема с сохранением псевдонимов во всех без исключения элементах сайта. Материалы, разделы, категории, списки меню и т.д. Причина неясна. То есть. Открываю/завожу новый элемент. Ввожу свой алиас, например цифры. Сохраняю элемент. Но мой алиас пропадает и заменяется на текущие дату и время: "2011-05-05-09-33-16". Как решить? Кеш сайта и браузера очищал. Матерился - тоже не помогло. - В общих настройках включить в Установки Search Engine Optimization все 3 кнопки. И переименовать htaccess как там написано. (добавлено 01.08.2020) Программа Xenu так и не смогла работать с HTTPS и отправлена на покой. Удалось найти ей единственную адекватную замену: Screaming Frog SEO Spider. В ней также удобно просматривать результаты по различным категориям: HTTP, HTTPS, номер ошибки и т.д. (добавлено 15.12.2023) В рамках освобождения места на хостинге, принял решение удалить видеоуроки по WordPress и Joomla. Интерфейс CMS настолько изменился - что старые видеоуроки не имеют смысла. Но все остальное оставил, т.к. сам продолжаю пользоваться этим старьем. |