понедельник, 12 января 2009 г.

Мысли о раскрутке. Мысль 3

Уже собрался спать, как обнаружил, что Яндекс и Google индексируют разные части страницы. Итак, пример:
А теперь, гугл:
И, наконец, разница: гугл при индексации просматривает мета-теги description и keywords, а яндекс только keywords, а также ссылки на другие материалы.

Мысли о раскрутке. Мысль 2

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

Начнем с Яндекса и пойдем на Яндекс.Директ. Мне нужно оптимизировать сайт под поисковые слова типа отдых, Урал, база отдыха и подобные, то есть по более общим запросам.

Итакс, скармливаем яндексу ключевое слово отдых и видим
Тут пробиться практически нереально, зато в запросе отдых урал
Как видим, запросов не так и много. Именно они и должны, по идее, стать ключевыми словами для сайта. Берем их и засовывам в админку в метаданные)

Мысли о раскрутке. Мысль 1

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

Перво-наперво полез в Википедию и посмотрел, что же такое, собственно, поисковая оптимизация:
Поисковая оптимизация (англ. search engine optimization, SEO) — процесс корректировки HTML-кода, текстового наполнения (контента), структуры сайта, контроль внешних факторов для соответствия требованиям алгоритма поисковых систем, с целью поднятия позиции сайта в результатах поиска в поисковых системах по определенным запросам пользователей. Чем выше позиция сайта в результатах поиска, тем больше заинтересованных посетителей перейдет на него с поисковых систем.
Короче, процесс поисковой оптимизации -- мысли о загоне юзеров на сайт. Читаем дальше, там написано, что учитывают поисковики при индексировании:
частота ключевых слов; сложные алгоритмы современных поисковиков позволяют производить семантический анализ текста, чтобы отсеять поисковый спам, когда ключевое слово встречается слишком часто (более 7-8 процентов от всего содержимого) или слишком редко (1-3 %) на странице. Оптимальная плотность ключевых слов: 5-7 % от текстового содержимого веб-страницы, при этом ключевые слова (фразы) должны встречаться в тексте как минимум 3-4 раза.
индекс цитирования сайта, или количество веб-ресурсов, ссылающихся на данный сайт; многими поисковиками не учитываются взаимные ссылки (друг на друга), также важно, чтобы ссылки были с сайтов схожей тематики, что и раскручиваемый (оптимизируемый) сайт.
Для начала, я думаю, займемся ключевыми словами. В коде сайта они выглядят так:
<meta name="keywords" content="Белорецк, Арский, камень, туризм, фестиваль" />
Правда, здесь рядом есть и еще одна строка
<meta name="description" content="Белорецк, Арский, камень, туризм, фестиваль" />
Теперь смотрим в админку, где это все живет и видим вот что)
Дальше. Смотрим, что к чему. Гуглим по ключевому слову "Арский камень" и видим:
По самым ключевым словам сайт на нужной позиции, правда вот эта фигня в первой строчке под ссылкой, похоже и есть description в админке. Меняем это самое описание на вменяемое и ждемс, когда, наконец, сайт переиндексируется.

Добавление новости от пользователей

Часто бывает нужно дать пользователям возможность самим прислать новость на сайт. Сначала я использовал модули типа прислать сообщение мылом или отправить сообщение на e-mail прямо с сайта, но потом таких сообщений ооочень много да и перебивать их из мыла на сайт влом.

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

Скачать модуль mod_addnew

воскресенье, 11 января 2009 г.

Выезжающее меню на jQuery

jQuery нынче уже не редкость, плагин к нему Accordion уже тоже, тем не менее, готового модуля меню на основе аккордеона я еще не видел. Конкретно говоря, мне понадобилось меню, "кнопками" аккордеона которого бы были категории, а в выезжающем списке -- названия статей из категории.

Работающий пример смотрим здесь.

Скачать модуль mod_sectionmenu

суббота, 10 января 2009 г.

43 книжки для Чайников

Люблю полезные книги, материал в которых излагается простым и понятным языком. Книги из серии "...для чайников" как раз из тех
Качаем книжки из этой серии тут:

Кусок 1
Кусок 2
Кусок 3
Кусок 4

Тюнингуем {mosimage}

Что удобно в WordPress, но крайне неудобно в Joomla, так то, что картинки, вставленные в статьи имеют тот же размер, что и сами изображения.

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

Мамбот {mosimage} лежит в папке ~/mambots/content/mosimage.php

Смотрим 163 строку и абзац кода далее
// атрибуты размера изображения
$size = '';
if ( function_exists( 'getimagesize' ) ) {
$size = @getimagesize( $mosConfig_absolute_path .'/images/stories/'. $attrib[0] );
if (is_array( $size )) {
$size = ' width="'. $size[0] .'" height="'. $size[1] .'"';
}
}
Заменяем это примерно вот на это =)
// атрибуты размера изображения
$size = '';
if ( function_exists( 'getimagesize' ) ) {
$size = @getimagesize( $mosConfig_absolute_path .'/images/stories/'. $attrib[0] );
if (is_array( $size )) {
if ($size[0] > 150) {
$size[0] = 150;
$size[1] = $size[0] * 150 / $size[1];
}
$size = ' width="'. $size[0] .'" height="'. $size[1] .'"';
}
}
В результате мы масштабируем все вставленные изображения до ширины 150 пикселов.

пятница, 9 января 2009 г.

JavaScript внутри AJAX

Обнаружил сегодня еще одну значительную багу в FF: если скрипт грузить внутри блока, загруженного AJAX, то он не работает. Решение, естественно, банальное: выкидывать весь нужный JavaScript либо в отдельный файл и грузить при генерации страницы, либо вставлять до отображения AJAX-содержимого.

Чем развлечься

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

Игрушка про админов
Игрушка про терминатора

четверг, 8 января 2009 г.

com_ajax_content и соответствующий пункт меню

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

Патчим com_menus

Кидаем содержимое архива в ~/administrator/components/com_menus/

Скачать com_menus_patch

Пропатченный com_ajax_content

Я подумал, что было бы удобно создавать пункт меню не только для отображения содержимого целого раздела, но и для отдельной категории, благо компонент уже до этого все предусматривал. Заодно убрал в админке в компонентах ссылку на com_ajax_content, я там все равно не придумал, что бы такого написать. В результате получился очень легкий, но эффективный компонент.

Скачать com_ajax_content

вторник, 6 января 2009 г.

com_show_shop: Магазины

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

Хитрое отличие от com_content состоит в том, что содержимое отображается без перезагрузки страницы, т.е., опять же, AJAX. В некотором роде, конечно, полезно, с другой стороны - не очень.

Административную часть делать не стал, так как не придумал, зачем она, собственно, нужна. Выкладываю здесь сырцы как заготовку, подогнать которую можно под отображение практически любого контента.

Скачать com_show_shop