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