Поисковая оптимизация сайтов и увеличение конверсии. Статьи

Иногда возникает необходимость получить доступ к API и окружению Joomla во внешнем файле.

Например, в случае с CRONTAB - из-за того, что скрипт выполняется локально, а не через адресную строку, могут возникать проблемы с запуском Joomla.

Либо разработчик не хочет ради пары исполняемых строк кода писать отдельный модуль/плагин/компонент.

В этом случае, либо если у вас возникла иная в том необходимость, рекомендую сделать следующее:

Содержимое нашего исполняемого файла php:
define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../..' )); //здесь учитываем относительность пути и уровень вложенности нашего исполняемого файла от корня сайта

require_once ( JPATH_BASE. '/includes/defines.php' );
require_once ( JPATH_BASE. '/includes/framework.php' );
$mainframe = JFactory::getApplication('site');
$mainframe->initialise();

$db = JFactory::getDbo(); // для базы данных
.....

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

Документ

$doc = JFactory::getDocument()
Объект документа
$doc->getTitle()
Получить заголовок страницы
$doc->setTitle()
Задать заголовок страницы
$doc->getDescription()
Получить значение meta Description
$doc->setDescription()
Задать значение meta Description
$doc->getMetaData('keywords')
Получить keywords
$doc->setMetaData('keywords')
Задать keywords
JHtml::_('script', 'jquery.min.js')
Подключить javascript в блок head
JHtml::_('stylesheet', 'user.css');
Подключить css в блок head

В предыдущих статьях уже был рассмотрен процесс разработки модуля для Joomla, непосредственной вставке PHP-кода в материал, а сегодня хотелось бы показать пример реализации простого плагина, который будет заменять в материале вхождение строки {currentDate} текущей датой.

Создание плагина для Joomla 3

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

Рассмотрим, как их можно быстро подобрать и подключить на сайт

При внесении изменений на сайты мы часто сталкиваемся с тем, что содержимое страниц, css-файлов и скриптов (.js) кэшируется браузером и остается неизменным довольно долгое время. Это приводит к тому, что для того, чтобы внесенные изменения отобразились во всех браузерах, нужно приучать клиентов к сложным комбинациям F5 или Ctrl + F5. И время от времени следить за тем, чтобы они нажимались.

Процесс довольно нудный и неудобный. Можно конечно выйти из ситуации, переименовывая каждый раз файлы, но опять же неудобно.

Однако есть способ, который позволит остаться при прежних именах, и сбрасывать кеширование .css или .js файлов в тот момент, когда это будет нужно нам. И навсегда забыть о Ctrl + F5.

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

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

Сегодня мы рассмотрим несколько примеров использования различных элементов ввода, существующих в HTML, и научимся оперировать их данными.

Спешу поделиться двумя очень полезными расширениями для браузеров на движке Chrome, которые значительно облегчают жизнь веб-разработчику. Одно из них будет связано непосредственно с вёрсткой, другое — по части SEO и разработки сайтов.

Исходные данные: есть много фотографий разного размера, формата и с разными именами. Нужно быстро изменить их размер, допустим, высотой 700px, переименовать согласно шаблону и вставить в html-страницу.

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

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

Итак, для чего именно нужен данный метод мы касаться не будем, ибо вариантов может быть много, и сразу перейдем к реализации. Подключаем jQuery. Повесим на событие "click" по всей области body анонимную функцию, принимающую аргумент event. В этом объекте и будет содержаться вся информация о событии. Чтобы получить объект, нужно обратиться к свойству event.target. Чтобы получить id объекта — event.target.id

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

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

Сегодня я расскажу об одном must-have расширении, позволяющем организовать:

  • Автоматическое создание миниатюр изображений заданного размера;
  • Красивое перелистывание изображений при помощи встроенного lightbox'a;
  • Открытие полного материала при клике на любое изображение из вида блога категорий;
  • Поддержку тэгов alt и title, необходимых для продвижения сайта;
  • Возможность устанавливать width и height вручную;
  • Возможность назначить класс-исключение для изображений, которые плагину не стоит трогать;
  • Затрудняет воровство картинок с сайта

Данная статья является логическим продолжением материала о том, как вставить PHP в Joomla.

Также смотрите материал, посвященный разработке плагина для Joomla 3.

Как говорилось ранее, наиболее грамотный способ использования PHP в Joomla — создание модулей, плагинов или компонентов. Думаю, что эти слова уже знакомы читателю и принципиальная разница между ними ясна.

Для начала подробнее рассмотрим модули и плагины (с компонентами всё несколько сложнее).

Приемам разработки посадочных страниц посвящен не один ресурс. Как мы все знаем, концепция Landing Page предусматривает некую "камерность" — то есть на ней мы, как правило, не видим ни шапки основного сайта, ни каких-либо навигационных вещей, менюшек, акций, калькуляторов и прочих модулей, так или иначе отвлекающих внимание от основного содержимого страницы.

Продолжаем знакомиться с JavaScript’ом. На этот раз рассмотрим принцип появления и исчезновения какого-либо элемента при различных событиях в браузере.

Смотрите также материал о том, как получить id, class и другие данные элемента по клику

Сделаем так, чтобы при клике на кнопу включался и выключался определенный div, зададим ему свойство id=”text”.

Иногда при установке каких-либо расширений возникает потребность переименовать ту или иную подпись, перевести на русский язык информационное сообщение (например Item added to cart, Thank you for your order, Please enter your phone number, и т.д.), или вовсе изменить предназначение модуля, снабдив его необходимыми вам подписями, оставаясь на прежней начинке.

Рано или поздно мы сталкиваемся с необходимостью оживить, улучшить и оптимизировать наш сайт, снабдив его динамическим содержимым. И здесь на помощь приходят различные методы и языки, наиболее популярные и широкоиспользуемые из них это CSS, JavaScript и PHP.

CSS определяет внешний вид элементов, их цвета, размеры, позиционирование на странице и, в некоторых случаях, анимацию.

Зачем же нужен PHP и в чем разница между JavaScript и PHP?

Выделение пункта меню на Joomla

Как выделить один из пунктов меню, горизонтального или вертикального?

Идем в редактирование нашего пункта, выбираем раздел «Параметры отображения ссылки –> CSS-класс ссылки» и задаем ей новый класс, например mymenu.

Как правило, в большинстве случаев, зараза подхватывается автоматом, то есть никто не ставил себе цель заразить конкретно ваш сайт. Обычно происходит это из-за того, что была найдена какая-либо новая уязвимость в скриптах и был запущен массовый прогон по большому числу сайтов на предмет эту уязвимость использовать. Чтобы не попадать в число счастливчиков настоятельно рекомендуется устанавливать все выходящие обновления вашей CMS.

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

Проверяем отклик сервера и его доступность:

Win+R -> cmd -> Enter

В черном окошке вводим

ping www.имя-сайта.ru

Cледим за ответом: если ответ получен, то с сервером все ОК, если же получаем ответы вида "Превышен интервал ожидания запроса", то запрос наш до сервера не доходит и это повод звонить хостеру.

Если при попытке открыть сайт выводится ошибка и ее номер - 500, 501, 502 и т.д. - то для более полного понимания проблемы стоит свериться с этим списком.

В последнее время входит в моду использование так называемого "Липкого меню", (mail.ru, Тануки,)

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

Поэтому предлагаю следующее решение, использующее JavaSсript и CSS.

На самом деле все довольно просто, к примеру: http://www.site.ru/index.php?option=com_content&id=210&ItemId=19&view=article

Означает следующее: не вдаваясь в подробности, через наш URL мы передаем GET-запрос серверу, который содержит:

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

  • это помогает отладить ошибки при поломке сайта;
  • без потерь восстановиться, если в результате эксперимента или установки "кривого расширения" дальнейшая работа сайта невозможна ;)
  • легко отслеживаются попытки внедрения вредоносного кода и прочие вмешательства;
  • аварии любого рода на стороне хостера становятся не страшны, т.к. весь сайт у вас на флешке.

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

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

Поэтому, при публикации материалов в Интернете, старайтесь соблюдать общие рекомендации: