Эта статья является продолжением статьи о создании счетчика просмотров для каждой страницы сайта на php и MySQL (если Вы ее не читали, то обязательно прочтите, иначе ничего не поймете из ниже сказанного). В этой статья я решил продолжить тему и расширить возможности счетчика просмотров страниц.
Для увеличения возможностей и получения статистики просмотров страниц сайта к базовому php скрипту необходимо добавить несколько строк и своих функций. В частности нужно будет создать еще одну таблицу, которая имеет следующую структуру:
Как видно из структуры MySQL таблицы, она состоит всего из двух полей (page_id – хэш сумма md5() от urla страницы и page_url – url страницы) и индекса, установленного на поле page_id – для значительного ускорения поиска значения в таблице. И еще, я не стал изменять изначальную таблицу my_log, которая использовалась для подсчета количества просмотров страниц, а создал другую по одной простой, но очень весомой причине: чем больше данных в таблице – тем медленнее осуществляется поиск по таблице. А скорость работы php скриптов такого уровня не должна ощутимо влиять на работу сайта в целом. Ведь если у вас коммерческий и при этом очень посещаемый сайт, то тратить строго ограниченное процессорное время на второстепенные задачи просто невыгодно, ведь зачастую прибыль зависит от того, сколько человек сможет увидеть ваш сайт.
Теперь перейдем непосредственно к коду php скрипта. Я внес в него незначительные изменения, в основном это новые функции для работы с MySQL таблицей my_log_urls.
В counter.php внес следующие изменения:
добавляем функцию Default_Write_URL
В результате, получаем значительную экономию времени т.к. делаем всего одну запись в таблицу my_log_urls и одну в my_log, и при следующих запросах этой же страницы запрос к таблице my_log_urls выполняться не будет, т.к. запись уже существует в таблице my_log, следовательно и в таблице my_log_urls она то же есть.
Для подсчета рейтинга страниц сайта, предлагаю написать другой php скрипт, который будет по значениям просмотров страницы в таблице my_log брать значения в таблице my_log_urls. А результат представлять в виде таблицы с данными о просмотрах страниц, отсортированными по убыванию (от большего значения к меньшему).
Ниже приведен код php скрипта, который необходимо скопировать в созданный вами файл top.php:
Данный php скрипт выводит 10 самых популярных страниц вашего сайта за последние сутки и за все время. В принципе, можно осуществлять вывод и большего числа страниц, изменив в php функциях MySQLReadAll и MySQLReadToday лимит считываемых из таблицы записей. А так же можно вместо самых популярных страниц увидеть самые непопулярные, изменив способ сортировки в этих же функциях с DESC на ASC.
Скачать данный php скрипт, вместе с модифицированным php скриптом подсчета просмотров страниц, можно по этой ссылке.
bluetooth - это технология, которая призвана заменить соединение сотового телефона, мобильного компьютера и других периферийных устройств между собой с помощью проводов, на более удобное соединение по радио каналу.
Немного истории.
Вообще-то, bluetooth дословно переводится как "Голубой зуб". Так прозвали когда-то короля викингов Харальда, жившего в Дании около тысячи лет назад. Прозвище это король получил за темный передний зуб.
Король Харальд вошел в историю как человек, объединивший Данию и принесший им христианство. Таким образом, именем исторической личности был назван протокол, который, по замыслу его создателей, так же должен творить историю.
Как все начиналось.
Где-то в начале 1998 года сразу несколько гигантов компьютерного и телекоммуникационного рынка, такие как ericsson, nokia, intel, ibm, toshiba, объединились с целью создания технологии беспроводного соединения между мобильными устройствами и периферийной техникой.
20 мая миру была представлена специальная рабочая группа (sig, special interest group), в задачу которой как раз и входило создать и запустить такую систему, получившую название bluetooth.
Очень быстро к Группе присоединились такие компании, как, например, motorola, dell, compaq, xircom и многие, многие другие.
Создаётся форум bluetooth, в который входит более 1300 компаний (Полный список участников группы bluetooth доступен по адресу http://www.bluetooth.com/).
Компания ericsson впервые создаёт аппарат, реально подтверждающий, что bluetooth работает, развивается и будет продолжать свое развитие.
Речь идет об уже упоминавшемся комплекте беспроводной связи с сотовым телефоном, состоящем из наушника и микрофона. Этот комплект способен работать на расстоянии до 10 метров от базы, которой, в данном случае, и является сотовый телефон со встроенной платой bluetooth.
Кстати, в скором времени компания собирается увеличить дальность работы комплекта в несколько раз:
При этом эти два аппарата могут не находиться в прямой видимости друг друга. Чтобы ответить на звонок, вам достаточно нажать на кнопку микрофона, а при наборе номера вам на помощь придет функция голосового вызова. Растущая словно снежный ком популярность bluetooth объясняется так же и его общедоступностью. Во-первых, использование частоты 2,44 ГГц. не требует лицензирования, да и распространение других лицензий на работу с bluetooth будет производиться за символическую плату. Во-вторых, помимо общедоступности, данная технология обещает стать и общепринятой, то есть стандартом де-факто, так как в ближайшее время мировое промышленное сообщество примет технологию как глобальный стандарт. Такое единство вызвано тем, что гораздо проще и дешевле снабжать все устройства одинаковым стандартным чипом, нежели разрабатывать компьютеры под разные интерфейс-карты.
Еще один аргумент за - это дешевизна сетевых адаптеров, которые будут встроены буквально во все - в средства связи, в бытовые приборы, в компьютеры, в другую оргтехнику.
Перспективы.
Они у bluetooth огромны. Эта технология, как ожидается, будет (и есть) совместима с очень многими протоколами и аналогичными системами. gsm, tcp, ip и так далее. Кроме того, есть надежды на относительно низкую стоимость, ведь технология уже изначально задумывалась как общедоступная. Пользователю будет гарантирована высокая степень защиты и отличное качество работы.
Согласно прогнозу компании international data corporation к 2004 в мире будет насчитываться 448.9 млн. устройств, поддерживающих этот стандарт. Одними из первых поддержат стандарт мобильные телефоны. Следом идут принтеры - они начнут поддержку bluetooth в 2001-2002 годах. А к 2004 году 19% всех цифровых камер будут поддерживать bluetooth.
Уже начались поставки инструментального набора от компании ericsson, для разработчиков приложений. И наконец, сегодня (точнее, совсем недавно) компания ericsson, один из главных "родителей" технологии, выпустила телефон, действительно работающий с технологией bluetooth. Это - ericsson t36. Данный сотовый телефон вообще можно назвать образцовым. В нем объединено все лучшее, чего достигла сотовая связь на сегодняшний день. Так, t36 является телефоном трехдиапазонным, у него есть wap-броузер, он поддерживает технологию high speed data, что дает возможность организовать более быстрое соединение, чем стандарт gsm, огромное количество функций, делающих его не просто телефоном, а полноценным помощником в бизнесе, и конечно, он поддерживает технологию bluetooth.
Так же компания выпустила аналогичный по своим возможностям Т36 телефон ericsson r520. Основное отличие - это, безусловно, дизайн - Т36 продолжает линейку таких телефонов, как Т10, Т18, Т28, а r520 можно с уверенностью назвать более совершенным вариантом r320. Трехдиапазонность Т36 позволяет ему работать практически в любой точке земного шара. Но, конечно, диапазон 1900 работает только в Америке.
Но не только ericsson выпускает bluetooth - компоненты. На том же cebit компания toshiba продемонстрировала устройство, использующее bluetooth и видеостандарт mpeg-4 для проведения видеоконференции - изображение с камеры передавалось на компьютер и затем на еще один компьютер.
А, например, компания anoto (http://www.anoto.com/) совместно со все той же компанией ericsson, разработала авторучку, позволяющую передавать сделанные ей записи по мобильной связи.
Конечно, писать придется не на простой бумаге, а на специальной, состоящей из множества точек, которые и различает находящаяся внутри ручки миниатюрная видеокамера.
nec заявила о своем намерении начать в середине этого года выпуск ноутбуков со встроенными чипами bluetooth. Новые модели будут иметь возможность выводить данные на принтеры и другие периферийные устройства, используя беспроводное соединение. Коммуникационный модуль bluetooth, используемый nec, построен на rf-чипе от national semiconductor corp.
ibm сообщила, что сейчас она ведет разработку bluetooth-модема для органайзеров типа palm, в том числе и для своего palm-совместимого карманного компьютера workpad. Как сообщается, эта модемная карта bluetooth pc card будет стоить не дороже 200 дол.
Следует отметить, что осенью этого года компании acer neweb и widcomm собираются выпустить свой bluetooth-модем, который должен составить конкуренцию модему от ibm. Это тоже будет карта стандарта bluetooth pc card, называться она будет bluecard, а стоить - около 100 дол.
На некоторых сайтах часто можно увидеть следующую надпись внизу страницы или под статьями: "Всего просмотров xxx. Сегодня xx". На первый взгляд ничего особенного, но все равно, многим интересно, как это сделано.
В этой статье я попробую рассказать вам о том, как устроена данная статистика просмотров страниц сайта, на самом простом примере, написанном на php. Статистика просмотров страниц будет работать на связке MySQL + PHP. Основным отличием этой статистики от других будет то, что MySQL таблица будет занимать очень мало места, но при этом нельзя будет точно сказать какую именно страницу и сколько раз просмотрели. А все из-за того, что все url будут хешированны с помощью php функции md5(), что гарантирует почти 100% неповторяющихся id для каждой страницы сайта. Делается это только для ускорения работы php скрипта (при условии, что индексом является id страницы) и уменьшения размеров MySQL таблицы (за счет отсутствия длинных url).
MySQL таблица будет иметь следующую структуру:
page_id – уникальный id для каждой страницы сайта сгенерированный php функцией md5().
all – значение всех просмотров данной страницы.
today – просмотров страницы сегодня.
date – дата возвращаемая php функцией time() + 24 часа
Для правильного учета посещений страниц значение поля date будет изменяться, тогда, когда текущая дата будет больше той, что указанна в таблице. В этот же момент будет происходить и обнуление счетчика просмотров страницы за прошедшие сутки.
Почти весь php скрипт статистики просмотров для каждой страницы сайта состоит в основном из функций, которые выполняют строго определенную роль. Все функции снабжены комментариями, поэтому, надеюсь, все поймете сами.
PHP код скрипта статистики просмотров страниц сайта:
Вот в принципе и весь php скрипт статистики просмотров страниц сайта. Для того, что бы он работал, его нужно "подключить" к нужному вам скрипту, например к index.php, добавив в index.php строчку include(' counter.php ');. А в том месте, где должно выводиться сообщение о том, сколько человек просмотрело данную страницу – строчку echo Today_and_all_counter;.
Скачать данный php скрипт статистики просмотров страниц сайта и MySQL файл со структурой таблицы можно здесь
Когда вы вызываете функцию Windows, она проверяет переданные ей параметры, а затем пытается выполнить работу. Если передан недопустимый параметр или если данную операцию нельзя выполнить по другой причине, она возвращает значение, свидетельствующее об ошибке. За каждой ошибкой закреплен свой 32 битный код. Функция Windows, обнаружив ошибку, через механизм локальной памяти потока сопоставляет соответствующий код ошибки с вызывающим потоком. Это позволяет потокам работать независимо друг от друга, не вмешиваясь в чужие ошибки.
Когда функция вернет вам управление, ее возвратное значение будет указывать на то, что произошла какая-то ошибка. Какая именно - вы узнаете, вызвав функцию GetLastError(). Она просто возвращает 32-битный код ошибки для данного потока. Список кодов ошибок, определенных Microsoft, содержится в файле WinError.h.
Функцию GetLastError необходимо вызывать сразу же за проверяемой функцией, иначе код ошибки будет утерян.
Для отладки бывает нужно следить не за одной ошибкой , а за их постоянным изменением, для этого нет необходимости включать в код постоянные проверки и чтение GetLastError, можно в окне дебагирования Visual C++ ввести @err,hr. В окне вы увидите значение переменной ошибки.
Так как ошибки, которые возникают в программе, возникают не только в процессе отладки, но могут быть обусловлены текущим состоянием системы, на которй бежит программа, то иногда бывает полезно сообщить тип ошибки в нормальном текстовом виде.
В Windows есть специальная функция, которая "конвертирует" код ошибки в ее описание, - FormatMessage.
Для разработчика особенно важно, при создании API или SDK подобных вещей, создавать сходный механизм возврата ошибок для своих функций.
С этой целью вы просто устанавливаете код последней ошибки в потоке и возвращаете значение FALSE, INVALID_HANDLE_VALUE, NULL или что-то другое, более подходящее по ситуации. Чтобы установить код последней ошибки в потоке используйте SetLastError.
Параметр - 32-битное число. Использовать лучше подходящий код ошибки Windows, однако если такового подходящего не нашлось, то можно ввести свой собственный код ошибки. Он должен представлять собой 32-битное число, разбитое по следующим правилам.
Биты
31-30 - Код тяжести - 0=успех, 1=информация, 2=предупреждение, 3=ошибка
29 - Кем определен - 0-Microsoft 1-пользователем
28 - Должен быть 0
27-16 - Определяется Microsoft. (Код подсистемы)
15-0 - Код ошибки.
Собственно Microsoft обещает, что бит 29 будет в ее ошибках всегда равен 0 поэтому, поставив там 1, вы будете в какой-то степени в безопасности от конфликтов с кодами ошибок Microsoft.
В этой статье будет рассмотрен скрипт, который создает анимацию в виде падающего снега. Анимация воспроизводится в заданной области web-страницы. Анимационный эффект, создаваемый данным скриптом выглядит весьма привлекательно, поэтому скрипт вполне может быть использован для создания анимированных логотипов, или блоков новогодних объявлений и поздравлений на сайте.
Область web-страницы, в которой производится анимация, задается элементом DIV с идентификатором ID_ANIMATE. Принцип работы скрипта заключается в вертикальном перемещении (с небольшими стохастическими перемещениями по горизонтали) элементов IMG, представляющих изображение снежинки в пределах этого элемента (элемент DIV с идентификатором ID_ANIMATE является элементом-контейнером для элементов IMG).
Элемент-контейнер DIV с идентификатором ID_ANIMATE определяется при помощи HTML-разметки в документе, в котором содержится скрипт. В этот элемент может быть помещено произвольное гипертекстовое содержимое, которое будет располагаться "на фоне" падающих снежинок, либо на фоне которого будут падать снежинки (это зависит от значения позиционного уровня этого содержимого). Код фрагмента HTML-разметки, определяющей элемент-контейнер DIV и его содержимое в демо-примере, приложенном к статье (см. демо-пример), приведен далее:
Параметры элемента-контейнера DIV (его размеры, схема позиционирования, значение свойства переполнения, цвет фона, параметры границы), а также перемещаемых в нем элементов IMG (схема позиционирования, размер, значение позиционного уровня), определяются правилами внедренной в документ таблицы слилей CSS:
Как можно видеть из листинга, элементам IMG, являющимся потомками элемента DIV с идентификатором ID_ANIMATE, назначается значение позиционного уровня 1. Поэтому, если вы хотите, чтобы "снежинки" двигались "под" остальным содержимым этого элемента, содержимому следует задать значение позиционного уровня больше 1 (как это сделано в демо-примере). Обратите также внимание на то, что элементам IMG назначена схема абсолютного позиционирования.
Теперь рассмотрим непосредственно работу скрипта. Полный листинг кода скрипта приведен далее.
Как можно видеть из листинга, в начале скрипта производится инициализация нескольких переменных. В переменную oAnimate заносится ссылка на DOM-объект элемента DIV с идентификатором ID_ANIMATE. Переменные nWidth и nHeight инициализируются значениями значения ширины и высоты этого элемента. Переменная nFSize должна содержать значение высоты (в пикселях) элементов изображений-снежинок (оно должно быть таким же, как задано в таблице стилей). Переменная strFlakeURL содержит URI ресурса изображения снежинки. Значение переменной nCount определяет общее количество движущихся изображений. Массив aoFlakes предназначен для хранения ссылок на DOM-объекты элементов изображений-снежинок.
Создание элементов изображений, добавление их в дерево документа, ссылок на DOM-объекты этих элементов в массив aoFlakes производится в процессе инициализации скрипта (см. окончание листинга кода скрипта). Значению свойства src DOM-объектов элементов изображений при этом присваивается значение переменной strFlakeURL. Для установки параметров движения каждого созданного элемента, вызывается функция ResetFlake. Для позиционирования соответствующего элемента IMG относительно элемента-контейнера DIV - UpdateFlakePos.
Функция ResetFlake устанавливает значения свойствам m_nX, m_nY и m_nSpeed DOM-объекта элемента, ссылка на который содержится в элементе массива aoFlakes с индексом, равным значению первого параметра ResetFlake. Свойство m_nX объекта хранит текущую координату по оси X, а свойство m_nY - по оси Y соответствующего элемента относительно контейнера. Свойство m_nSpeed определяет "скорость" движения элемента (величину его вертикального смещения на каждом шаге анимации). Функция ResetFlake устанавливает случайные значения свойствам m_nX и m_nSpeed. Свойству m_nY случайное значение устанавливается только в том случае, если параметр bRandY функции вычисляется в true (в этом случае элемент изображения снежинки будет иметь случайную позицию по вертикали). Иначе свойству m_nY устанавливаетя значение -nFSize (при этом изображение будет позиционироваться так, что оно будет полностью скрыто за верхней границей элемента-контейнера). При создании элементов изображений в процессе инициализации скрипта, ResetFlake вызывается со значением параметра bRandY, равным true.
Функция UpdateFlakePos принимает в качестве единственного параметра значение индекса в массиве aoFlakes и производит позиционирование элемента, ссылка на DOM-объект которого содержится в элементе массива aoFlakes с данным индексом в соответствии со значениями его свойств m_nX и m_nY.
Перемещение всех изображений-снежинок осуществляется функцией OnTimer, которая является обработчиком событий таймера, запускаемого в процессе инициализации скрипта.
Как можно видеть из приведенного ранее листинга кода скрипта, в функции OnTimer производится перебор всех DOM-объектов элементов изображений снежинок. Значение свойства m_nY каждого из этих объектов наращивается на величину его свойства m_nSpeed. Значение свойства m_nX изменяется на случайную величину, которая находится в диапазоне [-1..1] (так достигается случайное горизонтальное движение "снежинок"). В случае, если элемент изображения вышел за нижнюю границу элемента-контейнера, вызывается функция ResetFlake, которая устанавливает случайные значения свойств m_nX и m_nSpeed соответствующего объекта, а значение его свойства m_nY устанавливаетт в -nFSize. Затем вызывается функция UpdateFlakePos для перемещения конкретного элемента IMG в нужную позицию.
Изменяя аргумент iAngle, можно вращать начальную точку - центр. А изменяя iSector можно выводить текст как по окружности, так и по дуге (она задается в градусах). Наверняка многие видели такой эффектик. Какой-нибудь текст крутится вокруг центра и меняется его радиус - расстояние от центра до букв. И тут можно такое же сделать. Для этого надо вызывать эту процедуру по таймеру, где перед вызовом изменять iAngle и iR (переменные завести). Только перед каждым рисованием, надо в этой функции очищать уже нарисованное, чтобы не оставалось старого. А если это непосредственно на канве делается медленно и мигает, но надо рисовать на битмапе и оттуда изображение копировать.
В этом разделе вы создадите два новых приложения OLE. Первое - простая программа-сервер OLE, второе - пример простого контейнера OLE. Эти программы предназначены для демонстрации минимальных затрат программирования, необходимых для создания приложений OLE 2.
В любом случае, для создания оболочки программы следует воспользоваться приложением AppExpert. Сначала необходимо сгенерировать основу приложения в AppExpert, затем модифицировать созданные файлы для создания законченного рабочего примера.
При написании своих версий этих программ необходимо иметь в виду несколько моментов. Во-первых, в этой главе приводятся листинги только исходных, немодифицированных файлов.
Во-вторых, CLSID этих программ будет отличаться от CLSID программ, которые вы сгенерируете с помощью AppExpert. Это нормально и даже необходимо, поскольку с помощью CLSID одни серверные приложения в Windows отличаются от других.
В-третьих, эти примеры содержат минимум необходимых средств для того, чтобы начать программировать с OLE. Вы можете использовать эти примеры в качестве начального кода для создания своего действительно полезного сервера или контейнера. В этой главе просто не хватает места для описания реализации функциональных сервера и контейнера - в этом случае вам понадобился бы грузоподъемник, чтобы положить эту книгу на стол.
Создание сервера OLE
Первое приложение OLE в этой главе - сервер. В этом примере вы построите полный сервер - сервер, который может использоваться и как автономное приложение, и как сервер. Создавая автономный сервер (т.е. в виде исполняемой программы .ЕХЕ, а не в виде динамически подключаемой библиотеки DLL), вы упрощаете процесс регистрации сервера в Windows.
Начальный процесс разработки сервера прост. Сначала из интегрированной среды Borland C++ версии 4.5 запустите AppExpert. Задайте каталог и имя вашего проекта. Я поместил свой проект в каталог \BC45\SOURCE\OLESVR. Проект я назвал OLESVR (я всегда называю проекты и каталоги проектов одним и тем же именем, это облегчает запоминание). Ниже приводится последовательность действий, в результате которых был создан проект OLESVR.
Запустите AppExpert. В первом диалоговом окне следует задать имя и каталог проекта. Как уже отмечалось, я использовал OLESVR для задания обоих.
После выбора ОК в диалоговом окне имени и каталога проекта следующий раздел АррЕхреrt - диалоговое окно Application General Options (основные опции приложения). Это диалоговое окно позволяет задать конфигурацию приложения, генерируемого AppExpert. Вам придется модифицировать несколько опций для проекта OLESVR.
Первая опция, которую необходимо изменить, находится в блоке Application: Summary. Замените параметр по умолчанию Multiple document interface на Single document interface. Это изменение согласуется с призывом Microsoft делать ставку на однодокументные приложения для Windows. На рис. 21.1 демонстрируется модифицированный блок Application: Summary.
Второе изменение, которое необходимо внести, - указать AppExpert, что ваша программа будет сервером OLE. Это изменение вносится в пункт Application: OLE 2 Options, имеющий ряд опций OLE 2, которые можно задавать. Поскольку вы создаете сервер OLE, вы будете оперировать только элементами блока группы OLE 2 Server: (поищите его в правой верхней части диалога). Выберите кнопку ячейки пометки Server EXE. На рис. 21.2 демонстрируются изменения, проведенные в пункте Application:OLE 2 Options.
При желании вы можете заполнить элементы пункта Application: Admin Options блока диалога AppExpert. С его помощью вы можете задать в приложении заметку об авторском праве, имя и информацию о версии. Все элементы в Application: Admin Options необязательны, и вы можете их не задавать.
Подпункты пункта Main Window не нуждаются в модификациях, их следует оставить заданными значениями по умолчанию. Для данного приложения нет необходимости менять что-либо в этих подпунктах. Пункт MDI Child/View неприменим для этого проекта, поэтому нет нужды в нем что-нибудь менять.
После задания всех необходимых модификаций следует выбрать кнопку Generate в нижней части блока диалога AppExpert Application General Options. AppExpert запросит у вас подтверждение, действительно ли вы собираетесь создать проект; после принятия подтверждения AppExpert сгенерирует приложение. На рис. 21.3 приводится конечный проект, загруженный в интегрированную среду Borland C++ версии 4.5.
Теперь, когда программа сгенерирована, в нее следует добавить код, задающий функциональность сервера OLE. Необходимо включить код, рисующий изображение, а также провести другие незначительные изменения.
К счастью, помимо Borland C++ версии 4.5 можно воспользоваться программой ClassExpert, что облегчит внесение большей части изменений. Предположим, вы хотите сперва заняться вопросами отображения. Как и в любой созданной с помощью AppExpert программе, основная часть рисования выполняется классом отображения, производным от класса OWL TOleView. Файл, в котором содержится реализация отображения, имеет имя LSVROLVW.CPP. В листинге 21.1 приводится первоначальный файл OSROLVW.CPP.
Листинг (файл реализации класса отображения OLESVR, OSVROLVW.CPP)
Добавление сайта в каталоги уже давно и прочно вошло в список наиболее важных инструментов раскрутки и продвижения сайта в сети интернет. Сегодня мы расскажем о том, как с наилучшим результатом добавить свой сайт в каталоги. Есть два пути, при котором регистрация в каталогах влияет на посещаемость Интернет-ресурса:
Во-первых, каталоги предназначены для людей – в них человек может найти сайты по интересующей тематике. Среди таких посетителей каталогов есть и Ваши потенциальные клиенты. Таким образом, это Ваша реклама в каталоге. Примерами таких, приводящих посетителей, каталогов, является Яндекс.Каталог, рейтинг Рамблер.Top100, MAIL.ru и много других. Эти каталоги посещают миллионы пользователей ежедневно.
Во-вторых, любая поисковая система при ранжировании сайтов в выдаче по поисковому запросу учитывает количество и качество ссылок на ресурс, это так называемые индексы цитирования. У каждой поисковой системы он свой. У Яндекса - тИЦ (тематический индекс цитирования, применяется для ранжирования сайтов в Яндекс.Каталоге; можно увидеть на "денежке") и вИЦ (внутренний индекс цитирования, применяется для ранжирования сайтов в поисковой выдаче; не разглашается), у Google - PR (PageRank), у Апорта - ИЦ.
PageRank (PR) – рассчитывается для каждой веб-страницы отдельно, и определяется PageRank’ом (цитируемостью) ссылающихся на нее страниц. Своего рода замкнутый круг. Главная задача заключается в том, чтобы найти критерий, выражающий важность страницы. В случае с PageRank таким критерием была выбрана теоретическая посещаемость страницы.
тИЦ – тематический индекс цитирования – рассчитывается для сайта в целом и показывает авторитетность ресурса относительно других, тематически близких ресурсов (а не всех сайтов Интернета в целом). ТИЦ используется для ранжирования сайтов в каталоге Яндекса.
вИЦ – взвешенный индекс цитирования – аналог PageRank, применяемый поисковой системой Яндекс. Значения ВИЦ нигде не публикуются и известны только Яндексу. Поскольку узнать ВИЦ нельзя, следует просто помнить, что у Яндекса есть собственный алгоритм оценки «важности» страниц.
Добавляя свой сайт в каталог, Вы создаете дополнительную ссылку на него и повышаете таким образом свой индекс цитирования.
Стоит помнить, что просто повышая ИЦ, тИЦ, PR Вы мало чего добьетесь . Думаю, многие наблюдали ситуацию, когда на первой странице выдачи Яндекса вперед выходят сайты, имеющие меньший тИЦ, да и PR, чем у тех, кто занимает более низкие позиции. Для того чтобы использовать регистрацию в каталогах максимально эффективно, необходимо принять во вниманию ссылочное ранжирование. Дело в том, что этот фактор зачастую перевешивает многие другие, влияющие на место в поисковой выдаче.
Каким же образом действует ссылочное ранжирование? Формат гипертекста позволяет «на гиперссылке» ставить произвольный текст. Совпадение текста ссылок со словами поискового запроса (а особо точного вхождения) повышает Ваши позиции в выдаче.
Заметим также, что по низкочастотным запросам поисковики иногда выдают проиндексированные ими страницы каталогов со ссылкой на Ваш ресурс.
Таким образом, перед тем как регистрировать сайт в каталогах, составьте список запросов, по которым Вы хотели бы, чтобы Вас находили в поисковых системах. Для этого можно воспользоваться службами Подбора слов Яндекс.Директа и Статистикой поисковых запросов Рамблера.
Затем составьте несколько названий для Вашего сайта с использованием выбранных Вами ключевых слов. При этом учтите, что оптимальным будет использование словосочетаний, а не только отдельных слов, найденных Вами в статистике. Эти названия будут размещены на ссылке из каталога на Ваш сайт! Использование при регистрации в каталогах несколько названий позволит Вам использовать разные ключевые слова и избежать «превышения лимита» ссылок с одинаковым текстом, которые не учитываются поисковиками.
Названия должны быть осмысленными. Это обусловлено двумя причинами: во-первых, в последнее время поисковые системы очень плохо учитывают ссылки с перечислением ключевых слов через запятые. Во-вторых, большинство каталогов размещают ссылки после предварительной модерации. Те каталоги, которые следят за своим содержанием, с большой вероятностью откажут в размещении такой ссылки либо скорректируют ее на свое усмотрение, а как правило, ссылки именно с этих, серьезно модерируемых каталогов, имеют наибольший вес.
Адрес сайта указывать не обязательно, однако его присутствие в названии повышает Вашу узнаваемость среди многих других конкурентов. Еще раз повторю: не стоит перечислять ключевые слова через запятую, большое количество альтернативных названий позволит Вам использовать все выбранные Вами ключевые слова и даст значительно больше эффекта.
Выбирая рубрики, выбирайте наиболее подходящие. Зачем? Страница из подходящего раздела каталога получается самой подходящей с точки зрения «тематического» цитирования – это раз. Если раздел не подходит, модератор каталога (который тоже человек), может, не вдаваясь в подробности, просто отклонить сайт. Это два.
Для увеличения скорости выбора рубрик используйте Поиск. Обратите внимание на следующее: расставляйте слова в списке, начиная с наиболее подходящих, а затем по убыванию соответствия. В некоторых случаях, когда сложно предугадать, в каком склонении стоит слово в названии рубрики, используйте слова без окончаний. Иногда одно и то же слово может писаться по-разному. Учитывайте и это.
На заметку:
Обязательное условие успешной регистрации в каталогах и поисковиках - правильное описание ресурса и подбор ключевых слов. Иначе эффективность регистрации будет чрезвычайно мала.
Подача заявки на регистрацию еще вовсе не означает, что ресурс будет обязательно зарегистрирован. На это существует масса причин: неподходящая специализация каталога, некорректно составленное описание сайта, выбор неправильной категории, "заморочки" модераторов и проч. В среднем при хорошей предрегистрационной подготовке сайта, ресурс в течение месяца проходит регистрацию в 70-80% каталогов, куда была подана заявка.
Вопрос создания непрямоугольных окон часто интересует начинающих программистов и время от времени обсуждается на форумах разработчиков в среде Delphi. А вообще, нужно ли это кому-нибудь? Ответ - да! Это уже было нужно таким известным фирмам, как Symantec (Norton Utilities, Norton CrashGuard), Microsoft (Приложение "
Часы" в Windows NT4 может принимать круглую форму, Deluxe CD Player из MS Plus! 98 имеет вид прямоугольника со скругленными краями). У Borland Jbuilder 2 в окне начальной загрузки стрела крана "выскочила" за пределы прямоугольника. Программы для видеокарт TV Capture фирмы AverMedia имитируют пульт управления. Окно переводчика Magic Goody принимает вид гуся, разгуливающего по экрану.
Список можно продолжить, а вывод такой: окно "хитрой" формы – это "изюминка" оформления Вашей программы, нечто запоминающееся, дополнительный плюс в борьбе за потенциального покупателя. Главное в этом – не переборщить. Вряд ли будет удобно работать с текстовым редактором в треугольном окне. Окна произвольной формы неплохо смотрятся при начальной загрузке (Splash) и, возможно, в качестве окна "О программе … ".
Как это делается? Средствами Delphi – достаточно просто. Приведенные ниже примеры можно также перевести в C++ Builder или Visual C++.
При создании окна непрямоугольной формы используются API функции
Переопределение функции WMNCHitTest позволит перетаскивать окно, захватив его мышкой.
До сих пор в примерах мы рассматривали регионы с абсолютными значениями линейных величин. Пример непрямоугольного окна, которое масштабирует свою форму в зависимости от его размера. Искодный код, приведенный ниже, создает окно в виде бабочки, причем бабочка исполльзует максимально высоту и ширину исходной формы.
Если грамотно разложить фигуру на элементарные составляющие, то Вам вполне по силам создать окно абсолютно любой формы. Это похоже на детскую игру "конструктор", только Ваши "кубики" намного разнообразнее.
Для завершения проекта необходимо создать фоновую картинку, которая подчеркнет границы нового окна. И обязательно установить свойство формы Scaled = False, иначе фоновая картинка и форма могут "разъехаться" при использовании нестандартных видеорежимов или стилей оформления Windows.
В заключение следует сказать, что существуют готовые компоненты и библиотеки компонент для решения подобных задач, например, CoolForm, TPlasmaForm. Однако при использовании компонент от сторонних производителей могут возникнуть проблемы лицензионности их использования и проблемы перехода на новую версию компилятора. А приведенные в данной статье примеры компилируются без изменений в исходном коде на Borland Delphi 3.0 - 7.0 и, вероятно, будут совместимы с последующими версиями.
На сегодняшний день ни один грамотно поддерживаемый сайт не обходится без анализа данных о посетителях сайта. Для чего нужна статистика? Только для того, чтобы наблюдать за темпом посещаемости сайта? Отчасти - да. Но умные люди найдут в статистике еще и дополнительный способ увеличения популярности своего сайта. Давайте же разберемся, чем сможет нам помочь статистика в этом плане.
Хост - уникальный посетитель вашего сайта. Другими словами - если один и тот же человек заходил к вам на сайт в течение дня несколько раз, то на счетчике хостов он будет засчитан только один раз.
Хит - количество загрузок всех страниц сайта, если счетчик установлен на каждой странце. Если один посетитель в течение одного дня возвращался к вам 10 раз или в течение одного сеанса просмотрел 10 страниц - на счётчике хитов будет отображена именно эта цифра. Информация будет суммироваться с приходом следующего юзера.
Реферал - (Refer) - англ. - ссылаться. Рефералом является ссылка на страницу, с которой к вам пришел пользователь. Это одна из самых важных частей статистики. Вы можете контролировать источники своей аудитории.
Анализируем :
Первым делом статистику надо получить. Те, кто не “обременен” платным хостингом, и, соответственно, не имеет доступа к логам сервера, могут воспользоваться бесплатным счетчиком. Благо, выбор довольно богатый. В зависимости от правил предоставителя счетчика его можно размещать как на одной странице, так и на всех. Идеальным выглядит, конечно же, второй вариант из соображений того, что почти каждое действие со стороны посетителя будет зафиксировано и статистика будет наиболее полной.
Итак, вы уже имеете ее, заветную информацию о посещениях вашего сайта. Теперь давайте искать пути использования статистики в целях раскрутки сайта или ликвидации тех факторов, которые препятствуют процессу раскрутки. Этому можно найти пример. Снимите в конце дня данные о количестве хитов и хостов на вашем сайте. Подсчитайте соотношение хиты/хосты, получившаяся цифра даст вам представление о том, сколько в среднем страниц загружает один посетитель. Если цифра окажется менее трех - это явно свидетельствует о том, что у вас не все в порядке с навигацией или отображением информации. Так же следует обратить внимание на контент (содержание) и скорость загрузки сайта. Без устранения этих недостатков раскрутка с мертвой точки не сдвинется.
Далее следует изучить наиболее популярные пути по сайту или наиболее популярные разделы сайта и уделить внимание менее популярным разделам, а может быть, и вовсе, заменить их на другие. Таким образом, все вышеописанные действия представляют собой первоначальную подготовку сайта к раскрутке.
Заимствуем “рефералов” :
Способ этот, насколько я знаю, еще нигде публично не излагался, поэтому я невольно являюсь первопроходцем в этой области. Всем известно, что сайт, зарегистрировавший счетчик, невольно попадает в своеобразный рейтинг сайтов. Вот туда мы и направимся. Причем неважно, зарегистрированы вы в этом рейтинге или нет. Из этого самого рейтинга в большинстве случаев можно получить доступ к статистике. Часть сайтов ее закрывает паролем, а часть оставляет “свободной”. Так вот в “свободной” статистике чужого сайта будет очень даже интересно покопаться. Особенно в отчете по “рефералам” (см. “на заметку”). Ищем наиболее прибыльные рефералы, идем на них и воплощаем идею сотрудничества с тем сайтом в жизнь. Таким образом, при удачном исходе вы будете сотрудничать с очень полезными сайтами, обладающими большой отдачей.
Не стоит забывать и про рефералов в своей статистике. Сайты, которые наиболее часто снабжают вас аудиторией следует лилеять и искать пути углубления сотрудничества.
В качестве заключения :
Таким образом, с помощью статистики можно не только выявить причины непопулярности сайта, но и раскрутить его. Конечно, речь не идет о мгновенном рывке в первые ряды TOPов, эффект будет поскромнее. Те, кто полагается на “авось сама раскрутится” очень ошибутся. Придется все же усердно поработать, прежде чем ваш счетчик закрутится. А кому сейчас легко? Ленивый веб-мастер - это не веб-мастер. Побольше вам “рефералов” и циферок на “крутилке”. И в добрый путь - бороздить рейтинги РуНета.
я знал о борьбе Яндекса с белыми каталогами, но если честно - не подозревал о масштабах этой борьбы… А столкнулся я с этой проблемой (а именно “проблемой белых каталогов”) в связи с созданием нескольких новых сайтов и желанием на старте “нахаляву” немного им поднять ТИЦ. Нахаляву - то есть просто регистрируя новый сайт в белых каталогах, работа конечно крайне скучная и нудная, но простая и не требует затрат.
Для чего существуют белые каталоги? Думаю, не открою секрета, если скажу - для поднятия ТИЦ (то есть для поисковиков, а не для людей как бы, вот поэтому Яндекс и банит белые каталоги, особенно те, которые уж очень явно сделаны не для людей).
А чтоб белый каталог был полезен для этого самого поднятия, прямую ссылку с него должен увидеть Яндекс. А если каталог отсутствует в индексе Яндекса, зачем в нем регистрироваться? Есть, конечно, еще и другие поисковики, тот же Гугле, Рамблер, но все-таки большинство усилий SEO направлено именно на Яндекс.
С учетом всего этого я внимательно проверял каждый каталог или рейтинг перед регистрацией, чтобы не выполнять напрасную работу. И вот к какому тоскливому выводу я пришел - большинство подборок и списков белых каталогов оказались абсолютно бесполезны! Беру из списка первые 10-15 каталогов и проверяю такие параметры - ТИЦ, Google PR, наличие в индексе Яндекса и Гугла (кол-во страниц в выдаче).
Итог множества проверок такой: примерно 10-20% каталогов вообще мертвы, то есть просто давно заброшены и не работают, 70-80% имеют ТИЦ, какой-то PR и проиндексированы Google, но! в выдаче Яндекса либо 0 страниц, либо 1-2 - вот и приплыли… и только в среднем 1 из 10 каталогов жив и здравствует… Но это тоже зависит от подборки - в некоторых списках из первых 30-40 каталогов я не находил ни одного рабочего и полезного каталога (не “нулевки”).
Совершенно забавные данные я получил по одному из каталогов (видно, что ранее он был довольно продвинут) - каталог фигурировал под названием “Самый большой интернет каталог”, так вот в индексе Google оказалось 237000 страниц этого каталога! А в Яндексе - 0 (ноль), но Яндекс ТИЦ равен 375 - не так уж плохо, зато Google PR - ноль! вот с таким я столкнулся первый раз, но это уже за торговлю ссылками.
Попадались каталоги с ТИЦ более 1000, но отсутствующие в выдаче Яндекса.
Буквально сегодня видел (и не раз) рекламу в Бегуне - “Регистрируем в 4500 каталогов! Быстрая раскрутка, недорого! Вы сразу получите PR3 и ТИЦ +30?. Вдумываясь в текст, понимаешь истинный смысл - их 4.5 тыщи каталогов дадут вам прирост ТИЦ всего 30! ну а PR3 вообще никак не связано с регистрацией в каталогах - это достигается просто грамотной внутренней перелинковкой сайта, к примеру два наших сайта, запущенные в 2007 году, при первом же апе Google получили PR3, бэклинков к этому времени почти не было, ТИЦ тоже был почти нулевой. Хотя сейчас вроде Google ужесточает раздачу PR, теперь возможно получить “тройку” сразу будет непросто, по крайней мере многие сайты во время прошлого апдейта Google PR получили падение ПР, но опять-таки - большинство из них имели продажные ссылки.
В общем, делаем выводы - стоит ли регистрироваться в белых каталогах, стоит ли пользоваться услугами “оптовых регистраторов”, и как выбирать каталоги для регистрации. Регистрироваться вслепую - напрасно тратить время.
Выбор ключевых слов является одним из важнейших этапов оптимизации сайта под поисковые системы. Так как поисковики являются основным источником целевых посетителей, то этому вопросу надо уделять особое внимание. Правильно подобранные ключевые слова помогут пользователям легко находить страницы сайта, а также повысят их позицию в результатах выдачи по запросу.
Итак, для начала необходимо проанализировать тематику сайта и постараться взглянуть на него глазами посетителя. Цель такого упражнения-разминки – подбор слов и выражений, по которым, на ваш взгляд, производится поиск подобных сайтов.
Теперь можно приступить к детализации задачи, а именно, подбору ключевых слов для каждой страницы сайта отдельно. Большинство начинающих разработчиков при оптимизации допускают одну критическую ошибку, а именно, оптимизируют все страницы под одни и те же запросы. Они не учитывают тот факт, что машины поиска каждую страницу рассматривают независимо от остальных, поэтому необходимо оптимизировать страницы по отдельности, тщательно подбирая для них ключевые слова.
При анализе страницы необходимо написать около двух десятков ключевых слов, из которых попробовать сформировать фразы с учетом возможностей морфологического поиска и расположить слова и выражения в порядке их соответствия тематике страницы.
Например, ваша компания занимается продажей бытовой техники. Вместо использования в тегах HTML-кода и содержимом страниц ключевой фразы “продажа бытовой техники”, нужно уточнить эту фразу в зависимости от содержимого каждой страницы. Если на данной странице внимание сфокусировано, например, на кухонных комбайнах, то теги и текст необходимо оптимизировать именно под это выражение.
Сейчас идет тенденция к оптимизации страниц больше под ключевые выражения, чем под отдельные слова. Это связано с повышением уровня интернет-пользователей, которые для уточнения поисковых запросов из ключевых слов с помощью служебных символов строят ключевые фразы, значительно повышающие релевантность результатов поиска.
Следующий этап - это анализ частоты запросов по пунктам списка, составленного на этапе обдумывания тематики сайта. Здесь уже придется излагать не свое видение сайта, а вооружиться поисковой системой. Желательно брать тот поисковик, в трафике которого вы больше всего заинтересованы.
Составленный список предполагаемых ключевых слов можно проверить, например, с помощью сервиса «Яндекс.Директ» и выделить в нем фразы, сходные с заданными изначально. Далее необходимо посмотреть количество запросов для каждого выражения, выбранного на первом этапе, и попробовать найти фразы-синонимы. Если для них количество запросов будет больше, есть смысл заменить первоначальный вариант.
Чтобы выявить близкие по значению выражения, можно использовать сервис «Рамблер-Ассоциации», который представляет статистику поисковых запросов и работает по принципу «Те, кто ищут [запрос пользователя], ищут также». Сервис предназначен в помощь пользователю, совершившему поиск по какому-либо запросу и не получившему нужной информации. Статистика “ассоциаций” помогает выяснить интересы пользователей, путем анализа списка запросов, схожих с основным. Для выявления англоязычных запросов можно использовать сервис Wordtracker, который в бесплатной версии выдает ограниченные отчеты по поисковым запросам.
Теперь необходимо проанализировать полученную статистику запросов по списку ключевых слов. Если по некоторым из них результаты зашкаливают за десятки тысяч, их однозначно можно убрать из дальнейшего рассмотрения т.к. эти слова используются многими конкурентами. Здесь надо учесть тот факт, что если для оптимизации будет выбрана слишком распространенная ключевая фраза, то потребуется много времени и сил, чтобы взобраться на вершину ранжированного списка результатов. Кроме того, привлеченный таким образом сетевой трафик будет плохо сфокусирован, т.е. процент целевых покупателей будет невелик. С другой стороны, если для ключевой фразы будет получено малое число результатов, то эффективность такой оптимизации также буде невысока.
Чтобы добиться компромисса в этом сложном вопросе, надо брать ключевую фразу, которая является оптимальной для тематики страницы и высоко конкурентной, и добавлять в нее описательные слова или, например, конкретные модели и торговые марки, т.е. конкретизировать представленную на странице информацию.
Часто многие сайты для привлечения большего числа посетителей используют для ключевых слов практически на всех страницах выражения типа “все модели”, “весь модельный ряд”, “огромный выбор” и т.д. Если на вашем сайте в самом деле представлены все модели некоторой торговой марки или же подавляющее большинство их, то лучшим вариантом будет оптимизация под такой запрос какой-то одной страницы, например с самой популярной моделью. При этом на этой странице обязательно должны быть ссылки на другие модели или на страницу с кратким представлением всех моделей в удобном для сравнения виде. Если в ключевой фразе перечисляются конкретные модели, то необходимо располагать их в порядке убывания популярности.
Очень часто при вводе поискового запроса пользователи не пишут прописные буквы в названиях компаний, торговых марок, городов и т.п. Т.к. некоторые системы поиска чувствительны к регистру символов, т.е. поиск по вариантам фразы с символами, преобразованными в нижний регистр, и с символами в верхнем регистре приводит к разным результатам. Поэтому, чтобы улучшить результаты поиска своего сайта, надо добавлять на страницы все варианты написания ключевой фразы. Если во фразе используются слова, которые по правилам языка пишутся с прописной буквы, то можно использовать ее версию со строчными буквами там, где она не будет видна для посетителей.
В зависимости от того, под какую систему поиска оптимизируется сайт, необходимо узнать поддерживается ли ей морфологический поиск, т.е. поиск по слову во всех его морфологических формах. Это значит, что поиск по фразе «оптовая покупка скидка» может быть интерпретирован, как “при оптовой покупке скидки” и т.д. Чтобы определить, выполняет ли данный поисковик морфологическую функцию, можно проработать поиск по различным версиям ключевой фразы и проанализировать результаты.
Необходимо не только постоянно проводить мониторинг частоты использования вашей ключевой фразы пользователями, но и отслеживать, как много других страниц также оптимизированы под нее. Т.е. надо постоянно следить за конкурирующими ресурсами, которые стоят первыми в рейтинге при запросе по данной тематике.
Таким образом, выбор наиболее эффективных ключевых фраз может буквально поставить на ноги ваш онлайновый бизнес, а неудачный, наоборот, разрушить его. Главное не забывать, что каждая страница оптимизируется под одну-две ключевые фразы, которые четко соответствуют ее тематике.
Поисковая оптимизация – одна из важнейших составляющих в продвижении сайта. И если вы вебмастер или блоггер, то вам в первую очередь нужно понимать основы SEO. Ниже приведены 10 простых правил по оптимизации, которые помогут вам подготовить ваш сайт к продвижению.
Правило 1: Не пытайтесь обмануть системы.
Если вы войдете в комнату, где будут одни ученые с докторскими степенями, думаете, вы сможете обмануть их? Нет. Так и Google имеет тысячи таких комнат с учеными, поэтому будьте уверены, что их обмануть вам не удастся. Избегайте любых советов, которые рассказывают, что вы сможете попасть в top5 за пару дней, при этом иметь великолепный сайт и уникальный контент.
Правило 2: Используйте ключевые слова.
Выберите несколько ключевых слов или фраз для вашего сайта. Используйте их, и слова связанные с ними в своих текстах, статьях. Повторять их постоянно – плохая идея (см. Правило 1).
Правило 3: Его величество «Контент».
Пользователей интересует содержание сайта, а не дизайнерские фишки. Если содержание сайта не уникально и не привлекает пользователей – не ждите их вообще.
Каждая страница вашего сайта должна строиться по схеме перевернутой пирамиды: начинаться с релевантного[1] заголовка H1, который обязательно содержит одно из ключевых слов; и первый абзац текста как краткое описание всей страницы.
Правило 4: Чистый код – правильный код.
Код вашего сайта должен быть читабелен для поисковых систем также как и для пользователей. Выделите основные блоки сайта: навигационное меню, заголовок, текст и т.д. Старайтесь использовать описательные названия классов и идентификаторов для тегов. Для списков используйте тег UL, для текста тег P, H1-H6 для заголовков, и STRONG для жирного текста (для ключевых слов и фраз). И конечно же, используйте верстку на DIV.
Правило 5: Самая важная страница – главная страница.
Как правило, в первую очередь нам необходимо, чтобы поисковые системы увидели главную страницу сайта. Поэтому ее содержание должно быть как можно более содержательным. Заголовки, текст и ссылки должны содержать самые важные ключевые слова, по которым пользователь обязательно будет ее искать.
Правило 6: Ссылки имеют значение.
Поисковые системы обращают особое внимание на ссылки и анкоры[2] ссылок. Старайтесь избегать таких ссылок как «Смотри здесь» или «Далее…». Лучше делать их неиндексируемыми. Анкор ссылки должен быть содержательным, т.е. краткий заголовок страницы на которую она ведет. Например: “Примеры и уроки для вебмастеров” или “Как сделать многоуровневое горизонтальное меню”. Не забывайте и об околоссылочном тексте.
Чем более релевантна ссылка, тем быстрее поисковая система найдет страницу с этой ссылкой. Не злоупотребляйте внешними ссылками[3], которые уведут пользователя на другой сайт. Если ваша страница ориентирована на дизайнерский минимализм, то ссылка на «Минимализм в дизайне» будет иметь место, а вот ссылка с картинки с кошкой будет бесполезной.
Правило 7: Заголовок заголовку рознь.
Каждая страница вашего сайта должна иметь свой уникальный заголовок – Title и краткое описание - Description. Достаточно всего 60 символов, но их значение будет огромным. Помните, что заголовок страницы – это то, что пользователь увидит в ответ на его поисковый запрос, поэтому по заголовку он должен понять найдет он ответ на вашей странице или нет.
Также не забывайте приписывать атрибут title у ссылок:
И атрибут Alt у изображений. Он также должен максимально кратко описывать то, что изображено на картинке:
Казалось бы мелочи, но для SEO это еще один важный способ оптимизации.
Правило 8: Лишним тегам – нет.
Давным-давно теги meta были секретом для SEO, но те дни прошли. Наиболее важным для поисковых систем и пользователей является тег description. Поисковые системы могут использовать его как подпись к ссылкам в результатах поиска. Поэтому убедитесь что вы дали грамотное описание каждой странице.
Правило 9: Карта сайта – лучший путеводитель.
Обязательно сделайте на вашем сайте карту сайта, которая будет содержать ссылки на все страницы сайта. Вы можете создать sitemap для Google с помощью генереаторов, например www.xml-sitemaps.com.
Правило 10: Дизайн – для людей.
Поисковые системы организованы так, чтобы пользователю было сразу понятно, что данный сайт - поисковик. Это значит, что и ваш сайт должен иметь дизайн, который будет говорить сам за себя, сразу давая понять какова тематика сайта. Поэтому чтобы сайт было легко найти, и он привлекал пользователей – сделайте его дизайн по максимуму приближенным к тематике сайта. Задача дизайнера – скорее решить проблему юзабилити, нежели нарисовать еще один шаблон для портфолио.
История из жизни. Я сидел за одним из своих компьютеров, слегка нервничал, потому что пытался решить проблему несоответствия браузеров стандартам CSS, и получил в это время письмо следующего содержания:
«Я с удовольствием куплю несколько текстовых ссылок на вашем сайте. Если вы заинтересованы, сообщите мне, и мы продолжим переговоры. Я действительно могу предложить вам достойное, конкурентоспособное соглашение».
Достойное, конкурентоспособное соглашение? Этот парень, должно быть, шутит? Все, кто меня знают, могут с уверенностью сказать, что на большинство предложений поисковой оптимизации или покупки ссылок я отвечаю двумя способами: нажимаю кнопку «удалить» или сообщаю в поисковые системы о спаме. Конечно, кнопка «удалить» более эффективна. Но в тот раз я был настроен по-другому. Потому что несоответствие браузеров стандартам CSS меня действительно раздражает.
«Спасибо, что ответили мне. Я заинтересован в размещении текста где-нибудь в средней или нижней части внутренних страниц вашего сайта. За это я готов заплатить вам: … за каждую внутреннюю страницу, где можно будет легко добавить маленький параграф со ссылками внизу текста. Список рекомендованных страниц: … »
Я был крайне озадачен страницами, которые он выбрал. Любой сообразительный владелец сайта посчитал бы, что эти страницы не способны привлечь посетителей.
Затем меня озарило - этот человек был совершенно серьезен в своем намерении. Он не причислял себя к «черным» или «белым» оптимизаторам, также как и не причислял к «красным» и «голубым»… Он не считал этот способ Интернет-маркетинга поисковым спамом. Я думаю, он просто пытался совершить совершенно законную сделку, чтобы получить высококачественные ссылки на свой сайт.
Этика в голове оптимизатора
Множество профессионалов поисковой оптимизации считают себя интернет-маркетологами, действующими этичными методами. Обозначение компании как «фирма с этичным поисковым маркетингом» приводит к росту продаж и подразумевает надежность. Это обозначение - синоним знаний и компетенции, символ того, что фирма понимает поисковую оптимизацию. Это говорит о том, что фирме можно доверять.
Кроме этого, этичность действий по поисковой оптимизации часто зависит от внешних обстоятельств. У каждого из профессионалов в этой отрасли обстоятельства складываются по-разному…
К примеру, я знаю некоторых внутренних специалистов по поисковому маркетингу, которые работают над оптимизацией сайтов с плохой юзабилити, к тому же написанных на Flash. Я знаю специалистов, которым начальство приказывает вывести сайт на первое место, но при этом они не разрешает производить изменения ключевых слов или текстов на сайте. Их работа - оптимизировать сайты в таких условиях. Начальство или администрация не желает слушать их извинения и ссылки на инструкции, которые составляю представители поисковыхе систем для оптимизаторов. Они просто хотят, чтобы эти специалисты делали свою работу.
У меня другая ситуация. Я владелец компании. Я могу решать, применять или нет определенные стратегии оптимизации. Когда я слышу от клиентов их ожидания на будущее, я стараюсь дать им понять, что они необоснованны. Оптимизация часто связана с проведением изменений на веб-сайте. Модификации информационной архитектуры сайта могут стать долгосрочным проектом, который некоторые люди хотят ускорить искусственно.
Я понимаю, что люди не хотят изменять свои сайты. Тогда я упоминаю о возможности рекламы в поисковых системах. Если клиент или подписчик не заинтересован в подобной рекламе, я могу сказать следующее: «Итак, вы хотите, чтобы я посыпал ваш сайт блестящим волшебным порошком, и он чудесным образом взлетел на первое место по всем ключевым словам одновременно? Хорошо… подождите… я просто сделаю пометку в блокноте: «не забыть заказать визитные карточки с должностью SEO-фея».
Интересно, насколько этичны феи.. но я отвлекся. Я понимаю, что в моих обстоятельствах и с моими знаниями, наверно, легче следовать всем инструкциям по поисковой оптимизации. Другие профессионалы SEO и SEM не становятся более или менее этичными из-за того, что у них другие обстоятельства. Человек, который пытался покупать у меня ссылки, не рассматривал себя как поискового спамера.
Таким образом, я полагаю, что «этика маркетолога поисковых систем» - в голове самого маркетолога.
«Белый» оптимизатор - начинающий оптимизатор
Многим специалистам SEO, использующим методы «черной» оптимизации, несправедливо приписывают многие черты. Вспыхивающие там и здесь обсуждения двух тактик SEO могут быть очень бурными. Я спросил Эрика Даффорна (Erik Dafforn), исполнительного вице-президента Интрапромоут, что он об этом думает:
«Мы стараемся всеми силами не вмешиваться в этот спор. Обычно мы на стороне «белых» оптимизаторов, но это становится так тяжело морально, что мы просто отстраняемся от обсуждения. Нас расстраивает, когда склиенты читают, что мы «не в теме» или менее технически грамотны, чем другие компании. Откровенно говоря, на самом деле это не так, и люди могут верить в это или опровергать в свое удовольствие.
Нахождение существующих лазеек - не та возможность, которой мы стремимся привлечь клиентов. Я не могу представить, как говорю солидному клиенту: «помните перестройку архитектуры сайта, которую мы рекомендовали вам восемь месяцев назад и которая стоила 40 000 долларов? Ну, теперь все надо начинать заново, потому что лазейка закрылась».
Как заметил Эрик, «белых» оптимизаторов обычно не считают экспертами в своей области, поскольку считают, что им недостает изощренных технических навыков. На самом же деле построение эффективной архитектуры сайта часто требует применения значительных технических навыков. Вот что об этом сказал мне Адам Одетт (Adam Audette), президент Одеттмедиа:
«Существует неверное понимание того, что может принести «белая» поисковая оптимизация… часто говорят, что «черная» оптимизация дает большие преимущества, а «белая» - нет. Или что «черные» оптимизаторы более опытны, чем «белые».
«Белые» оптимизаторы вовсе не обязательно «начинающие» оптимизаторы. Они продвинутые, очень опытные маркетологи, которые делают «белую» работу. Для меня главное отличие в том, что «белые» оптимизаторы в своей работе ориентируются на пользователя. Они не всегда соглашаются с тем, что диктуют им поисковые системы. Но им приходится придерживаться правил и, в то же время, учитывать потребности пользователя. На мой взгляд, это наиболее долгосрочный путь проведения кампаний поискового маркетинга, гораздо более выгодный, чем любые попытки перехитрить поисковые системы».
«Белые» оптимизаторы - лохи поисковых систем
«Белых» специалистов SEO называют по-разному. Они и ханжи, и фарисеи, и пай-мальчики, и мальчики для битья. Я думаю, многих смущает идея послушно следовать руководству поисковых систем. Многие специалисты SEO, практикующие «белую» оптимизацию, делают все, чтобы уложиться в рамки, заданные поисковыми системами, но не обязательно полностью согласны со всеми их инструкциями. Спросите любого «белого» специалиста SEO, что ему не нравится в Google, и вы услышите массу интересного.
Например, я не большой фанат AdSense, хотя я осознаю его прибыльный потенциал. Мне также не нравятся вебсайты AdSense magnet, которые распространены гораздо шире, чем мне бы хотелось. Факт в том, что во время тестов на юзабилити я часто наблюдал первое негативное впечатление от сайта, когда участник теста видел на сайте рекламу от Google. Часто с недоверием задается вопрос: «Google одобрил этот сайт?» Как я должен отвечать на него, будучи сторонником Google?
Я, конечно же, делаю все, чтобы следовать всем требованиям и условиям поисковых систем и буду делать в дальнейшем. Но я не всегда с ними согласен. Честно говоря, я уверен, что многие как «черные», так и «белые» оптимизаторы имеют общие взгляды на ряд условий и руководств поисковых систем. Мне очень интересно, что другие скажут на эту тему. В чем совпадают взгляды «черных» и «белых» специалистов? Лично мне бы понравилось, если бы какой-то творческий специалист по поисковому маркетингу написал пьесу с набором характерных персонажей. Я буду фея SEO. Какого героя сыграли бы вы?
1С-Предприятие - это программный комплекс, контролирующий все стадии товарооборота, от поступления товара на склад до его продажи и проведения через бухгалтерские книги. Первоначально этот комплекс задумывался как бухгалтерская программа и назывался 1C-Бухгалтерия. Но как отдельная бухгалтерская программа продукт был не очень жизнеспособен, ведь требовалось данные складских и торговых программ связывать с бухгалтерией, а это довольно проблематично, когда складская и бухгалтерская программы написаны разными поставщиками программных продуктов.
На многих предприятиях, особенно мелких, можно было увидеть такую картину: складская программа, написанная на FoxPro, Delphi, VB, да мало ли на чем… и 1C-Бухгалтерия, в которую потом те же данные заносились бухгалтерами ПОВТОРНО. Или в крайнем случае, были какие-то попытки переливать базу из формата складской программы в формат 1C, но такое редко могло закончиться удачно. Поэтому был разработан комплекс 1С-Предприятие, состоящий из нескольких взаимосвязанных модулей.
В настоящий момент очень распространены версии 7.5 и 7.7, но уже вышла версия 8.0 Сам я сей продукт не видел, так что о его преимуществах и недостатках мне судить сложно. Впрочем, на сайте 1C версия описывается достаточно подробно.
Из основных модулей можно отметить 1C-Предприятие (бухгалтерия входит туда же), Конфигуратор (именно здесь настраиваются доступы к отдельным документам, дописываются модули, создаются формы и т.д. и т.п. В общем, язык 1C мы используем именно здесь), Монитор (бесценная штука, чтобы освежить память пользователю, который говорит “Да я к этому документу даже не прикасался, это не я…”), Отладчик. Есть еще много вспомогательных утилит, вроде 1C-Деньги.
Встроенный язык системы 1С:Предприятие предназначен для описания (на стадии разработки конфигурации) алгоритмов функционирования прикладной задачи.
Встроенный язык (далее по тексту — язык) представляет собой предметно-ориентированный язык программирования, специально разработанный с учетом возможности его применения не только профессиональными программистами. В частности, все операторы языка имеют как русское, так и англоязычное написание, которые можно использовать одновременно в одном исходном тексте.
При своей относительной простоте язык обладает некоторыми объектно-ориентированными возможностями, например, правила доступа к атрибутам и методам специализированных типов данных (документам, справочникам и т. п.) подобны свойствам и методам объектов, используемых в других объектно-ориентированных языках. Однако специализированные типы данных не могут определяться средствами самого языка, а задаются в визуальном режиме конфигуратора.
Типизация переменных в языке не жесткая, т. е. тип переменной определяется ее значением. Переменные не обязательно объявлять в явном виде. Неявным определением переменной является ее первое упоминание в левой части оператора присваивания. Возможно также явное объявление переменных при помощи соответствующего оператора. Допускается применение массивов.
Формат описания элементов языка
Каждый элемент (конструкция) языка, упомянутый в этом руководстве, печатается таким шрифтом.
Информация по компонентам языка приводится в виде синтаксической диаграммы, подробного описания и примера исходного текста.
Соглашения и обозначения, принятые в синтаксических диаграммах.
В синтаксических диаграммах используются следующие символы:
[ ] В квадратных скобках заключаются необязательные синтаксические элементы.
( ) Круглые скобки заключают в себе список параметров.
| Вертикальной линией разделяются синтаксические элементы, среди которых нужно выбрать только один.
Синтаксическая диаграмма описания элемента языка
Формат описания элемента языка, используемый в данном руководстве, иллюстрируется синтаксической диаграммой, приведенной ниже.
ЭлементЯзыка
Краткое описание того, что делает данный ЭлементЯзыка.
Синтаксис:
Англоязычный синоним: (в случае описания методов, функций и процедур)
Keyword
Параметры: <Параметр1> краткое описание <Параметра1>.
<Параметр2> краткое описание <Параметра2>.
[ДобКлючевоеСлово] краткое описание ДобКлючевоеСлово.
Возвращаемое значение:
Тип и краткое описание возвращаемого значения.
Описание:
Подробное описание того, что реализует ЭлементЯзыка.
Пример:
Краткое описание примера
Исходный текст примера
Под конец, как пример синтаксиса языка приведу внешнюю обработку .ert, которая пересчитывает оптовые цены с учетом первоначальной (заводской) цены и скидки: