Рассматриваемая проблема – некорректная работа поиска по магазину, если в поисковом запросе встречаются русские буквы – поиск не находит товаров, возвращая пустой результат. Путём перехвата запросов, выясняем что имеет место быть искажение кириллических символов на этапе формирования SQL-выборки. Происходит это в следствии использования функции strtolower() там где нужно использовать её multi-byte аналог mb_strtolower(). Задача отлова бага несколько затрудняется сложностью локализации кода. Дальше…

Метки: , , ,

При создании нового сайта нередко возникает необходимость автоматически перенаправлять на него пользователей со ссылок на старый ресурс.
Пользователь переходит по устаревшей ссылке поисковика и видит ошибку 404 «Страница не найдена»? Не беда – если хостинг предоставляет возможность управления собственными страницами ошибок, элементарнейший html-редирект поможет избежать потери потенциальных клиентов, не мешая наращивать посещаемость ресурса как до и после обновления поисковых баз.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
	<meta http-equiv="refresh" content="0; url=http://rgb.kiev.ua">
	<script type="text/javascript">location.replace("http://rgb.kiev.ua");</script>
</head>
<body>
	<div>&nbsp;</div>
</body>
</html>

Дальше…

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

Дальше…

Метки: , , ,

Ликуйте земляне – наконец-то вышел многожданный Internet Explorer 9, сходу получив высочайшие оценки от Acid-ов. Собственно, именно это нам и обещали разработчики из Microsoft, именно над этим они так долго трудились, именно к этому так долго готовились. Стоит ли чрезмерно распространятся о том что реальные сайты проходящие верификацию на соответствие XHTML 1.0 Strict по сути своей существенно отличаются от синтетических тестов? Пожалуй нет смысла.
Короче говоря, приноравливаясь к новым багамфичам IE9 и подгоняя под них вёрстку, делаем сайт удобоваримым для новой версии експлорера:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

Рекомендуется использовать исключительно как временную меру.

Дальше…

Валидный код с использованием javascript-аналогов.

Дальше…

Вместе с мессенджером Skype дополнительно устанавливаются аддоны к популярным браузерам позволяющие пользователю совершать звонок в один клик, прямо с веб-страницы на которой указан телефонный номер. Однако, кроме добавления этой несомненно полезной функции, skype-аддон также изменяет оформление текста телефонного номера, тем самым нарушая дизайнерский замысел создателя сайта.

Дальше…

Нередко возникает необходимость расширить функциональность стандартного компонента публикации материалов Joomla, будь то добавление в панель администрирования контента дополнительного текстового поля, select-списка, информационного блока и т.д. В подобном случае, использование громоздких сторонних CCK является нерациональным, хотя бы по причине их значительной избыточности. Ищущим простых изящных решений предназначена эта статья.
Задача не из сложных, и требует не столько понимания принципов работы CMS Joomla, сколько эмпирического знания – где что нужно дописать/изменить. Далее следует пример создания «эталонного» дополнительно поля <input type="text" /> в админке материала. Дальше…

CMS (агл. Content Managment System) – система управления контентом. В простонароде CMS называют «движком». Дальше…

Метки: , ,

Тег <title>(тайтл) - один тегов HTML, который выводит в верхней части окна браузера название загружаемой страницы. Дальше…

Определить активный язык страницы призвана переменная language объекта типа JDocument, ссылку на который API позволяет получить посредством JFactory::getDocument(). Обращение к $object->language вернёт строку в нижнем регистре – текущее значение локали (en-gb, ru-ru и тд).

Дальше…