Вебстрой
С точки зрения оптимизаторов, наиболее целесообразно покупать ссылки, размещенные в одном блоке с контентом, до или после текста (если не брать в расчет контекстные ссылки).
Вебмастера же чаще выносят сапоссылки в отдельный блок, не желая портить внешний вид своего сайта, помещая нетематические линки (часто с бредовыми анкорами) в поле зрения посетителей.
Так или иначе, но к консенсусу интересов вебмастеров и оптимизаторов надо прийти. Я последнее время руководствуюсь следующими правилами размещения сапоссылок на своих сайтах.
Во-первых, никакого разбиения ссылок на несколько блоков, хотя ранее я был другого мнения (пост «Разносим ссылки в сапе»), но с тех пор многое изменилось. Яндекс стал умнее, обмануть его не получится, поэтому любые попытки замаскировать продажные ссылки бессмысленны. Плюс ко всему, последнее время продавать более чем по 3-4 ссылки со страницы стало неликвидно, в идеале, конечно, размещать максимум по 1-2 ссылки и не со всех страниц, доступных по уровню вложенности для продажи. Слишком велика вероятность того, что даже СДЛ вылетит из индекса с очередным АГС-ом. Да и если «прогнозируемое число внешних ссылок» на сайте слишком большое, то попасть под фильтры оптимизаторов и сеопульта будет трудно, придется демпинговать. Ну а если мы размещаем мало ссылок, то и разносить получается нечего.
Абстрагируемся от того факта, что сапоссылки – это по сути спам. Будем считать их «рекламными материалами». А реклама всяко не может размещаться в футере и сливаться с фоном. Следовательно, размещение ссылок в подвале – зло.
Где же тогда размещать сапоссылки? Обратимся к нормальным СДЛ, которые размещают текстовые ссылки не через биржи, а вручную, правда, чаще для обмена трафиком, чем для сео. А ссылки они размещают в сайдбарах, где и меню, причем по оформлению эта реклама мало чем отличается от блоков навигации (пример для блогов – блогролл).
Так и мы будем размещать наши сапоссылки. Это красиво (не выбивается из дизайна, как блок неформатированного текста с линками), практически не раздражает пользователей (особенно если блок назвать «реклама» или «наши партнеры», кликать по ссылкам, спутав с меню, точно не будут), вызывает меньше подозрений у поисковиков (еще бы, мы же постыдно не прячем ссылки в подвале, а демонстративно размещаем их в области видимости, вписывая в дизайн, ну да, продаем рекламу, и что из этого?), больше шансов на то, что оптимизатор, перейдя на сайт, не откажется от размещения ссылки (а я практически всегда перед покупкой каждой ссылки смотрю на сайт).
К чему это я. Ссылки-то многие размещают в блоках в сайдбарах, но выводят их одним сплошным текстовым месивом, руша основную затею – преподнести сапоссылки не как спам, а как рекламу. В лучшем случае разделяют ссылки знаком «|» и другими, но от этого не легче.
Как выводится меню в блоках? Последние комментарии? Популярные материалы? Блогролл? Списком! Поэтому и сапоссылки надо выводить только и только списком. А об этом забывают если не все, то почти все.
Небольшая инструкция, как реализовать вывод ссылок sape списком. Идем в настройку нашей площадки в сапе и указываем в качестве разделителя </li><li>. Теперь вроде бы осталось только обрамить предлагаемый сапой код тегами <ul><li>код сапы</li></ul>. Но это решение «в лоб» имеет один недостаток. Если на странице, на которой установлен код сапы, еще не купили ни одной ссылки, то код <ul><li></li></ul> все равно будет выводиться. Например, если в Drupal создать блок с php кодом, то он будет отображаться только если есть хоть какая-то информация для вывода. При таком решении этой информацией будут теги открытия и закрытия списка, поэтому на всех страницах будет красоваться пустой блок «реклама» или «партнеры сайта», что, естественно, нежелательно. То же касается и WP, если мы не пользуемся плагином для сапы, а создаем блок вручную. Да и вообще, не зависимо от движка, выводить что-либо имеет смысл только тогда, когда есть что выводить, автоматической вставки в код страницы ненужного мусора, в независимости есть ли ссылки для вывода или нет, лучше избежать.
Модифицируем немного код sape:
- <?php
- if (!defined('_SAPE_USER')){
- define('_SAPE_USER', 'ваш код');
- }
- require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
- $sape = new SAPE_client();
- $var = $sape->return_links(); /*помещаем в переменную $var ссылки*/
- if(!empty($var)) /*проверяем, есть ли ссылки для вывода*/
- {
- /*если есть, выводим ссылки, обрамленные тегами списка*/
- echo '<ul><li>'.$var.'</li></ul>';
- }
- ?>
На этом блоге у меня стоит такой код, чуток изменил, чтобы нормально работал в Drupal:
- <?php
- if (!defined('_SAPE_USER')){
- define('_SAPE_USER', 'ваш код');
- }
- require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
- $o['charset'] = 'UTF-8';
- $sape = new SAPE_client($o);
- unset($o);
- $var = $sape->return_links();
- if(!empty($var)){
- echo '<div class="item-list"><ul><li>'.$var.'</li></ul></div>';
- }
- ?>
Теперь все отображается идеально, и сапоссылки более не выглядят как поисковый спам. А если еще и одобрять только тематические ссылки – то и придраться будет не к чему. Конечно, когда сайт только добавлен в сапу, то цель стоит распродать все места, но когда все места заняты, то почему бы изредка и не проводить чистку на явный мусор и нетематику, а на освободившиеся места одобрять только уже подходящие ссылки.
- 13 комментариев
Стандартная форма комментирования в CMS Drupal настолько далека от идеала, что без некоторых доработок ее использование крайне нецелесообразно. Ниже распишу по пунктам, как с помощью дополнительных модулей и небольших изменений в коде привести ее в человеческий вид. Актуально для Drupal 6.x /в 5.x свои грабли, а 7.x стабильной версии пока еще нет/.
1. Разрешаем комментировать анонимным пользователям.
Управление пользователями/Разрешения/модуль comment
Здесь настраиваем права доступа для анонимусов.
2. По дефолту в форме комментирования есть всего два поля – тема комментария и сам комментарий. Добавляем поля имя, e-mail, url и убираем поле «тема»
Содержание/Типы материалов
Нажимаем «изменить» у интересующего нас типа и переходим на «Установки комментариев», где выставляем нужные опции.
Я обычно ставлю:
- Режим показа по умолчанию:
Плоский список – развёрнутый
- Порядок сортировки по умолчанию:
По дате - сначала старые
-Управление комментариями:
Не показывать
-Анонимные комментарии:
Анонимные пользователи должны указывать контактную информацию
-Поле темы комментария:
Отключено
-Просмотр комментария перед отправкой:
Необязательно
-Расположение формы отправки комментария:
Показывать ниже сообщения или комментариев
3. Капча
Встроенной капчи нет, поэтому устанавливаем модуль. Я предпочитаю математическую капчу, за нее отвечает модуль captcha. Качаем, ставим, настраиваем, переводим интерфейс/все делается в админке/.
4. Кнопка «ответить» в комментариях
Какой бы вид отображения мы бы не выбрали, плоский или древовидный, под каждым комментарием будет оставаться кнопка ответить. Чтобы ее убрать, качаем модуль flatcomments. После установки идем в Содержание/Типы материалов, переходим по «изменить» напротив интересующего нас типа материала и ставим галку напротив Do not show a reply link on comments.
5. Возвращаемся к полю «тема комментария». Хоть мы и убрали это поле, при публикации коммента она будет отображаться в виде первых слов комментария. Чтобы это исправить, открываем файл comment.tpl.php в папке с нашей темой и удаляем или закомментируем следующие строки:
<?php if ($title) echo $title; ?>
6. Для анонимусов под формой комментария будет дан выбор, какой фильтр ввода использовать, и приведена ссылка «Подробнее о форматировании».
Если первое решается через ограничение прав доступа анонимусов к изменению форматов ввода, то чтобы убрать ссылку на ф.а.к. по форматированию, придется лезть в код.
Открываем файл template.php в корне нашей темы и добавляем внизу пару строк:
- function phptemplate_filter_tips() { return ''; }
- function phptemplate_filter_tips_more_info() { return ''; }
7. После публикации комментария сразу за именем анонимуса всегда пишется (не проверено), даже если премодерация отключена. Чтобы эту надпись убрать, снова открываем template.php и вниз кода вставляем следующее:
- function phptemplate_username($object) {
- if ($object->uid && $object->name) {
- // Shorten the name when it is too long or it will break many tables.
- if (drupal_strlen($object->name) > 20) {
- $name = drupal_substr($object->name, 0, 15) .'...';
- }
- else {
- $name = $object->name;
- }
- if (user_access('access user profiles')) {
- $output = l($name, 'user/'. $object->uid, array('title' => t('View user profile.')));
- }
- else {
- $output = check_plain($name);
- }
- }
- else if ($object->name) {
- // Sometimes modules display content composed by people who are
- // not registered members of the site (e.g. mailing list or news
- // aggregator modules). This clause enables modules to display
- // the true author of the content.
- if ($object->homepage) {
- $output = l($object->name, $object->homepage);
- }
- else {
- $output = check_plain($object->name);
- }
- //$output .= ' ('. t('not verified') .')';
- }
- else {
- $output = variable_get('anonymous', t('Anonymous'));
- }
- return $output;
- }
8. Теперь вид информации о комментирующем приобрел такой вид «Опубликовано Гость в Вс, 2009-07-12 21:48». Красиво конечно, но хочется «Гость - 12/07/2009 в 21:48».
Для этого сначала открываем файл comment.tpl.php и заменяем <?php echo $submitted; ?> на <?php echo "$author - $date"; ?>.
Потом идем в Настройка сайта/Дата и время, выбираем Средний формат даты: Пользовательский формат и прописываем шаблон даты d/m/Y в H:i.
Вот и все. Теперь у нас человеческая форма комментирования.
PS
1. У шестого друпала очень агрессивное кэширование, поэтому чаще всего сделанные изменения вы не увидите без чистки кэша - Настройка сайта/Производительность/Очистить кеш данных.
2. Иногда вместо имени функции «phptemplate» надо вставить название шаблона/имя папки с шаблоном/. Так что если после вставки кода сайт не открывается или код не работает – заменяем phptemplate на название нашего шаблона.
3. Описанная реализация наиболее правильная, т.к. не приходится редактировать ядро и все изменения проводятся только в файлах шаблона.
При написании предыдущего поста мне понадобилась функция подсветки синтаксиса php кода, по дефолту этого нет, поэтому пришлось немного покопаться.
Ниже приведена инструкция по прикрутке подсветки синтаксиса кода в Drupal /в Друпале чаще всего все можно реализовать несколькими способами, так что описанный ниже вариант далеко не единственный для решения поставленной задачи/.
1. Качаем модуль GeSHi Filter, распаковываем, заливаем на сайт в директорию modules/, в админке сайта идем в Управление сайтом/Конструкция/Модули, ставим галку напротив GeSHi Filter, сохраняем. Активировать GeSHi node не обязательно – он создает дополнительный тип нодов исключительно для кода, что нам не требуется.
2. Теперь надо скачать библиотеки. Идем по ссылке, переходим в раздел Downloads, качаем geshi последней версии. Почему-то вчера был запрещен доступ по российский ip, в таком случае можно воспользоваться анонимайзером, что я и сделал. Далее разархивируем и заливаем папку geshi на сервер в корневую директорию установленного ранее модуля modules/geshifilter/.
3. Все установлено, можно переходить к настройке. Первым делом разрешим применение фильтров к вводимому тексту, для этого идем в раздел Управление сайтом/Настройка/Форматы ввода и жмем «настроить» напротив Full HTML где и разрешаем применение GeSHi filter.
Затем идем в настройки модуля GeSHi Filter Управление сайтом/Настройка/GeSHi Filter и, собственно, настраиваем. Поиграться здесь есть с чем, к примеру задать индивидуальные теги для применение разных стилей оформления в зависимости от того, на каком языке написаны исходники. Ниже приведу те настройки, которые сделал я.
- Снял все галки, установленный по дефолту.
- В качестве “Default highlighting mode” выбрал стиль C++, он используется для подсветки php кода на большинстве сайтов, поэтому будет попривычней, чем php-стиль.
- Значение “Default line numbering” установил в позицию “normal line numbers”, таким образом слева от кода идет нумерация строчек, можно еще выбрать, чтобы каждое 5, 10 или 20 число выделялось жирным, но это актуально лишь при цитировании больших исходников.
- Для “CSS mode for syntax highlighting” установил значение “Inline CSS style attributes”, для “Code container” значение “Use no container”. При выборе других пунктов отображение нумерации строк работать не будет.
Вот и все. Теперь при создании заметки с выбором формата ввода Full HTML весь код, заключенный в тег <code>, будет подсвечен.
PS
Также советую установить BUEditor - простой редактор текста, хорош тем, что можно самому программировать и добавлять нужные кнопки.
Пусть редко, но так или иначе все мы сталкиваемся с необходимостью создания уникального фавикона. Большинство, и я не исключение, сначала идет искать сервисы on-line создания иконок, потом, убедившись в их убогости, начинает выкачивать все подряд по запросу «редактор favicon.ico скачать». Половина скачанных программ, естественно, не работает, половина глючит. Убив на все про все часа полтора, все-таки получается нарисовать некое подобие иконки, но о том, чтобы создавать уникальные фавиконы не только для сдл, но и для всех сателлитов не может быть и речи – еще бы, столько времени тратить.
Однако практически у каждого стоит фотошоп, так почему бы не использовать его для решения этой весьма обыденной задачи? А использовать фотошоп вообще-то не только можно, но и нужно. До меня это, правда, дошло совсем недавно, но лучше поздно, чем никогда.
Ниже представлен мини F.A.Q. по созданию иконок favicon.ico средствами фотошопа.
Предположим, что мы имеем сателлит на тему яблок и хотим нарисовать к нему фавикон, потратив на это минимум времени.
1) Рисовать с нуля? Нет уж, увольте. Ищем исходник, к примеру в поиске гугла по картинкам. Имеет смысл поставить фильтр на поиск «искать в клип-артах», тогда картинки будут выдаваться достаточно хорошего качества и уже обработанные.
![]()
2) Копируем в фотошоп понравившуюся картинку. Точнее не понравившуюся, а наиболее подходящую для создание иконки. Не забываем, что разрешение фавикона – 16*16, поэтому чем проще и четче будет картинка, тем лучше. Скопировав в фотошоп, обрабатываем изображение, удаляем лишнее, делаем картинку более контрастной. В данном случае это не требуется, т.к. изображение изначально уже обработанное. Выделяем ту часть картинки, которая будет являться фавиконом, и копируем в буфер обмена (при работе со слоями, не забудьте их объединить перед копированием).
![]()
3) Создаем новый документ Файл-Новый. В параметрах создания ставим ширину и высоту по 16 пикселей. Инструментом «Лупа» увеличиваем созданный документ до максимальных размеров (1600%), чтобы было легче работать. Далее вставляем скопированную ранее часть картинки (Редактировать-Вставить). Скорее всего, после этого действия на новосозданном документе вы ничего не увидите. Оно и понятно – документ у нас 16*16 пикселей, а вставляемая картинка намного больше. Поэтому идем в Редактирование-Произвольная Трансформация. После этого действия вы увидите рамку, посредством которой надо будет загнать вставленное изображение в созданный документ размером 16*16 пикселей. Затем подтверждаем применение трансформации и занимаемся редактированием полученного изображения. Дорисовываем потерянные пиксели, где-то удаляем явно лишнее, можно подправить яркость, контраст и прочее. В итоге у нас должно получится нечто похожее на картинку внизу.
![]()
4) Теперь сохраняем полученный результат. Файл-Сохранить как, вписываем название файла favicon, а расширение выбираем png. Так как расширение иконок .ico, то полученный в фотошопе .png надо конвертировать. Делается это достаточно просто. Идем в проводник, сервис, свойства папки, вид, снимаем галку напротив «скрывать расширение для зарегистрированных типов файлов»/путь написал для XP, в висте там по-другому, на память не вспомнить, но вроде как интуитивно понятно/. Ну а дальше вручную меняем расширение у нашего файла с png на ico. На вопрос винды, действительно ли вы хотите поменять расширение, отвечаем утвердительно.
![]()
5) Наш favicon.ico готов. На все ушло не больше пяти минут.
Конечно, качество не радует, просто это был как пример, да и для сателлитов самое то. Но если вы рисуете фавикон для СДЛ, то здесь уже надо потратить хотя бы час-полтора, прорисовать каждый пиксель, привнести какую-то смысловую нагрузку, сделать так, чтобы полученная картинка 16*16 твердо ассоциировалась именно с вашим сайтом.

Доходность площадки в сапе зависит от многих факторов – тиц и пр, тематики, количества страниц, общей привлекательности для рекламодателя/не секрет, что многие просматривают сайт, перед тем как купить на нем ссылку, особенно если цена этой ссылки выше среднерыночной, так что и дизайн, и организация контента и меню тоже играют не последнюю роль/.
Увеличение количества страниц второго уровня чаще всего является одним из самых простых способов повышения прибыльности сайта. Но не всегда получается оптимально организовать навигацию “под сапу” без ущерба конечного пользователя. Речь идет, конечно, не о ГС, где можно хоть карту сайта расположить на главной. И не о перспективных контент проектах и разнообразных сервисах – думаю, проблема, как продать побольше ссылочек для них далеко не самая приоритетная. Вопрос о грамотном увеличении количества страниц второго уровня встает тогда, когда делается сайт для людей, источником дохода которого в основном будет продажа ссылок. Такая ситуация возникает часто. Например, когда тематика достаточно узкая, и собрать больше 100 уников в день не особо представляется возможным. Или же не конкурентная, такая как искусство/хобби, где монетизация трафика не принесет больших доходов. Может быть и обратный вариант, когда тематика выбрана конкурентная, но затраты на получение трафика в таком случае часто просто могут не окупиться.
Ну а теперь конкретика.
Способы увеличения количества страниц второго уровня:
- Делать расширенную подробную навигацию. Т.е. фактически то, что логично было бы сделать третьим уровнем, выносить на второй.
Например, если на региональном сайтике будет присутствовать такие разделы:
-Информация
-Фото
-Известные люди
то целесообразней организовать меню так
|Информация
-История
-Современность
-Статистика
|Фото
-Город
-Природа
-Достопримечательности
|Известные люди
-Литература
-Живопись
-Политика
Способ самый простой, но и наиболее непродуктивный и нежелательный в плане юзабилити. Количество страниц второго уровня таким образом можно нарастить до 40-50, больше уже трудно, меню будет занимать больше трети экрана и разобраться что где пользователю будет нелегко.
- При блоговом представлении материала делать внизу список страниц. Не только предыдущие/следующие, как стоит по дефолту на том же вордпрессе, а 1|2|3|4|5 и т.д. Ну и настроить так, чтобы показывались ссылки на все страницы, а не только первые и последние /1|2|3…100|101|102/. Плюс, если материала мало, то выводить можно не по 10 постов, а, к примеру, по пять.
- Теги. Очень удобная вещь в плане увеличения количества страниц. Можно сделать навигацию по сайту полностью теговой, или использовать как дополнение к основной. +30-100 страниц второго уровня с этого можно получить.
-Разнообразные модули – популярные записи, последние записи и т.д. Оптимально использовать те, в которых формируются статические ссылки, не изменяемые во времени /архив материалов, календарь/.
Соответственно, все вышеперечисленное нужно использовать в комплексе и исходя из целесообразности. Не стоит перегружать страницу ради пары десятков лишних страниц под продажу ссылок. Делайте изначально так, чтобы и навигация по ресурсу оставалась удобной, и потенциал заработка сайта был высоким. На первых сайтах в погоне за количеством страниц я перегружал меню, сейчас же стараюсь подходить к решению проблемы с умом. На последнем своем сайте организовал навигацию так – 5 основных ссылок на разделы, 21 ссылка на подразделы, постраничная навигация 1|2|3| внизу страницы, облако тегов, пару модулей “наиболее читаемое”… Итого ~100 страниц второго уровня без перегруженности навигации, более того, все выглядит естественно и крайне удобно для пользователя.

Поговорим о капчах. Естественно, предназначение капчи – это защита от ботов, которые становятся со временем все умней и умней. Но не стоит забывать и о посетителях. Поэтому приходится искать консенсус между стопроцентной непробиваемостью ботами и минимумом неудобств для юзверя.
Стандартные капчи популярных движков идут лесом – оллсабмиттер и прочий софт их ломает на лету.
Капчи в виде картинки с искаженными буквами не лучший вариант – и сломать их проще, ну а если пытаться сделать картинку нечитаемой для бота – то и человеку трудно будет ее воспринимать. Да и переключаться на английскую раскладку, для того чтобы ввести правильный ответ, не всем хочется.
Капчи вида “введите нижние символы с картинки” тоже не идеал –во-первых, в большинстве случаев юзверь сначала вводит все подряд, потом, когда вылезает ошибка, уже читает и вводит правильно. Да и опять таки приходится переключаться на англ раскладку. Хотя видел такого рода капчи, где нижними символами были цифрами, что значительно лучше.
Многие делают нестандартные капчи, например “введите буквы, которые вы видите, в обратном порядке”, что тоже не есть гуд. Или “напишите словом то, что видите на картинке”, ну и иногда варианты предлагают, типа “слон, дом, цветок”. Проще надо быть, проще.
Итак, подходя к концу, хотел бы сказать, какие капчи на мой взгляд являются на данный момент идеальными.
Во-первых, эта математическая капча с простым арифметическим вопросом, например 2+3=?. Как показывает опыт, боты через такие капчи не пробиваются. Плюсом также является и то, что юзверю не надо думать, что делать – все предельно ясно. И к тому же не надо переключаться на другую раскладку.
Ну и во-вторых, это ставить галочку в графу “Я не робот”, многие наверно видели эту капчу, она вроде только под вордпресс, что несомненно является минусом, хотя могу и ошибаться.
