|
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Заметки - Блог о web-разработке. Сервисы для блоггеров. Блоговое/Записи в блоге |
![]() |
Заметки - Блог о web-разработке. Сервисы для блоггеров. Блоговое
Голосов: 1 Адрес блога: http://www.blogovoe.ru/blog/ Добавлен: 2013-12-27 23:28:54 блограйдером panevin |
SEO-модуль 1С-Битрикс, strip_tags Description и Keywords
2014-09-21 02:43:04 (читать в оригинале)В 14-й версии Битрикс, наконец-то, сделали удобное формирование meta-тегов Description и Keywords. Сделать-то, сделали, даже реализовали limit — ограничение по количеству слов (а не символов, спешите видеть). А strip_tags нет! Как так?! Все сеошники тут же завалили форум Битрикса однотипными вопросами: как вырезать теги в новом волшебном SEO-модуле и как ограничивать по символам (а не по словам). Да и как проверять на заполненность полей, склеиваемых в Description/Keywords.
Скоро год пройдёт, а решения от Битрикса так и нет. Обещанного три года ждут. Ну, да мы и сами как-нибудь.
В /bitrix/php_interface/init.php регистрируем обработчик:
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/iblock/lib/template/functions/fabric.php');
use BitrixMain;
$eventManager = MainEventManager::getInstance();
$eventManager->addEventHandler("iblock", "OnTemplateGetFunctionClass", "myOnTemplateGetFunctionClass");
include_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/php_interface/include/classes/seo.php");
function myOnTemplateGetFunctionClass(BitrixMainEvent $event) {
$arParam = $event->getParameters();
$functionClass = $arParam[0];
if (is_string($functionClass) && class_exists($functionClass) && $functionClass=='ap_sseo'){
$result = new BitrixMainEventResult(1,$functionClass);
return $result;
}
}
Самое интересное у нас будет происходить в /bitrix/php_interface/include/classes/seo.php
class ap_sseo extends BitrixIblockTemplateFunctionsFunctionBase
{
public function onPrepareParameters(BitrixIblockTemplateEntityBase $entity, $parameters)
{
$arguments = array();
/** @var BitrixIblockTemplateNodeBase $parameter */
foreach ($parameters as $parameter)
{
$arguments[] = $parameter->process($entity);
}
return $arguments;
}
public function calculate(array $parameters)
{
foreach ($parameters as $key => $parameter)
{
$parameters[$key] = strip_tags($parameter);//вырезать теги (спасибо, Кэп)
$parameters[$key] = preg_replace("/(t+)/is","",$parameters[$key]);//вырезать табуляции
$parameters[$key] = preg_replace("/(s+){2,}/is"," ",$parameters[$key]);//заменить двойные пробелы одинарными
$parameters[$key] = preg_replace("/(rn)+/i", "", $parameters[$key]);//удалить переводы строки
//$parameters[$key] = mb_substr($parameters[$key],0,250);
}
if(isset($parameters[0]) && $parameters[0] && isset($parameters[1])) {
return sprintf(mb_substr($parameters[1],$parameters[0],0,250));
}
else return sprintf(mb_substr($parameters[0],0,250));
return "";
}
}
Готово! Из Description и keywords вырезаются все теги с помощью strip_tags и регулярными выражениями meta-теги приводятся в божеский вид: вырезается вся табуляция и переводы строк, двойные пробелы заменяются одинарными и, финально, поля обрезаются по длине (в лоб по 250 символов без учёта окончаний слов).
При желании можете его покрутить. Я не доделал обработку нескольких директив, почему-то происходит какая-то ересь и этот костыль можно использовать только с одной директивой: {=ap_sseo this.DetailText}
Это добавить в настройках инфоблока во вкладке SEO в поля «Шаблон META DESCRIPTION» и «Шаблон META KEYWORDS».
Совместное использование директив не прокатило {=ap_sseo limit this.DetailText " " 30}, не знаю почему такая строка не хочет работать.
Пользуйтесь!
Лучи добра разработчикам Битрикса!
Слой над IFRAME / кодом YouTube ролика
2014-09-17 14:39:10 (читать в оригинале)В старых версиях браузеров и в IE вплоть до 9-ой версии включительно есть стандартная проблема, когда слой Lightbox (например) открывается не над кодом проигрывателя YouTube, а под ним.
{IMG_2 alt="Код ролика YouTube на странице"}
Код ролика YouTube на странице.
{IMG_3 alt="Код ролика YouTube на странице со слоем, который по идее должен быть поверх всего"}
Код ролика YouTube на странице со слоем, который по идее должен быть поверх всего.
Решение простое: надо в адресе до ролика добавить в конце ?wmode=opaque или &wmode=opaque (если в src IFRAME уже есть какие-то переменные).
Для флэш-ролика надо в код самого flash добавить строчку <param name="wmode" value="opaque"> и в тег embed добавить ещё один параметр: <embed wmode="opaque">
Вуаля!
Цены на топливо в Петербурге: новые виджеты
2014-09-05 01:19:57 (читать в оригинале)Наконец-то сделал облегчённую версию средних цен на топливо по Санкт-Петербургу в виде iframe-блока.
Выглядит так:
Плюс виджет на Яндекс:
Всё руки не доходили сделать, но за сайтом посматривал, чтобы цены правильно собирались. Ну да парсеры подправлял. Буквально на днях, совершенно случайно, нашёл где взять точные цены по Neste. Neste и Shell — параноики, конечно — цен на топливо на сайтах нет вообще.
Наркоманы!
2014-08-03 00:03:53 (читать в оригинале)Этож как надо упороться, чтобы купить такой домен?
Мопед не мой
2014-07-30 19:51:26 (читать в оригинале)Мне всегда была очень интересна идея «вирусного маркетинга» и нестандартных способов раскрутки сайтов. Т.к. я занимаюсь интернетом, то по мере сил наблюдаю за успешными примерами продвижения и рекламы, связанным с сайтами.
Тупой и простой подход: закупать ссылки на Сапе. Безусловно он даёт отдачу, но достаточен ли он и оправдывает ли затраченные средства?
Вирусный маркетинг
или о гениальных и успешных подходах к раскрутке сайтовНеопровержимые постулаты, успешный вирусный маркетинг:
- с лихвой отбивает все затраченные средства
- реализует все или большинство рекламных целей (многократно увеличивается ссылочная масса, улучшается выдача, увеличивается траффик и, даже, повышается узнаваемость бренда и лояльность пользователей к нему)
Например, JoyReactor.cc. Пользователь Integra запостила на Хабр 2 поста с разницей в полтора месяца:
http://habrahabr.ru/post/59330/ и
http://habrahabr.ru/post/63180/
После первого поста сайт ДжойРеактора, получив хабраэффект, конечно же упал, но был оперативно поднят.
Integra вполне грамотно подошла к этому вопросу: посты написаны аккуратно, реклама сайта вполне себе ненавязчивая и не раздражающая. В итоге проект получил не только траффик, но и первых пользователей. Ну, а дальше пошло по-накатанной.
BigPicture.ru. Проанализировав отдачу с попадания в Топ поиска по блогам на Яндексе, владельцы BigPicture в течение продолжительного времени (думаю месяца 2-3) скупали пачками постовые на Блогуне (причём, самые дешёвые — рублей по 15-30 за шт.). Даже самые дешёвые ссылки, закупленные с блогов в большом количестве, выводили записи в Топ. Проект сразу получал неслабый траффик, который постепенно перерос в постоянную аудиторию. Кстати, таким же образом раскрутился жэжэ-юзер teh_nomad (правда, команда этого блога, ещё и очень нагло и грубо троллила и разжигала, вызывая неслабые бурления говн. Наверно и сейчас так же).
А выводы простые: даже самые обычные методы раскрутки можно очень грамотно применять, получая максимальную отдачу. Кстати, Блогун (реф. ссылка), пока ещё даёт отдачу и вполне применим для раскрутки и продвижения.
Удачи в раскрутке!
Категория «Кулинария»
Взлеты Топ 5
|
| ||
|
+174 |
188 |
Alisa_1968 |
|
+173 |
187 |
Sunny_Ray |
|
+172 |
191 |
Диетические рецепты |
|
+172 |
186 |
bendita_y_celestial |
|
+171 |
185 |
irreelaa |
Падения Топ 5
|
| ||
|
-1 |
13 |
В интересном положении |
|
-1 |
6 |
Хозяюшка |
|
-1 |
55 |
Коктейли и напитки |
|
-2 |
7 |
ГалинаНик |
|
-3 |
4 |
cookingclub_ru |
Популярные за сутки
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.


