Разное: Смысл сайта и ошибки его сотворения
02.08.2012


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


Смысл

Зачем я создал Kozalo.Ru? Ответ очевиден. Это моя домашняя "страничка", где я могу выкладывать всё, что сделал. Но ведь никто не пользуется моими программами и не читает мои статьи. Зачем тогда я всё это до сих пор пишу? Неужели надеюсь, что когда-нибудь на сайте появятся постоянные посетители? Почему не продаю те же статьи на биржах? Или получаю какую-то прибыль с сайта?

Надежда умирает последней. Но я прекрасно понимаю, что ничего не изменится. Полезных программ пока не так много, как и полезных статей. А читать размышления какого-то школьника будут единицы из тех, кто наткнётся на сайт. Комментарий могут оставить единицы из тех, кто прочтёт. А постоянных читателей будет ещё меньше. В итоге получаем статистику сайта, стремящуюся к нулю. При таком раскладе о заработке на нём остаётся только мечтать.

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

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

Ну и напоследок скажу, какими программами собственного производства я периодически пользуюсь. Список этот невелик. Для подсчёта символов в статьях использую программу для определения количества символов в тексте, предварительно удалив пробелы и переводы строк демонстрационной программой прилагаемой к библиотеке KTLib.dll. В ближайшее время ожидается выпуск новой версии программы KozReminder, которой я, скорее всего, буду пользоваться.


Ошибки

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

Во-первых, поисковики ещё не научились путешествовать по скриптам и не смогут проиндексировать динамический контент. Чтобы не остаться совсем без поискового трафика, мне пришлось создать лёгкую версию сайта. Но это не очень изящный выход, так как все ссылки из поисковиков ведут не на красивую основную, а на лёгкую заплаточную версию сайта. А другого способа, который не противоречил бы правилам поисковых систем, мне найти не удалось.

Во-вторых, надо думать о мобильной аудитории. Все современные компьютерные браузеры поддерживают асинхронные запросы к серверу, а на старьё можно забить. Но другое дело - мобильные браузеры. Не знаю, как обстоит дело со смартфонами, но Opera Mini в обычном телефоне не понимает AJAX. Выходом из этой ситуации стало создание мобильной версии сайта. С другой стороны, правда, специальная версия для мобильных устройств никогда не помешает, но на более простых сайтах она, хоть и желательна, но не обязательна.

В-третьих, сложных скриптов получается очень много, что сильно усложняет дальнейшую поддержку движка. Тут я, не привыкший к проектированию перед написанием кода, сильно лоханулся, решив писать весь JavaScript-код в один файл, разделяя на отдельные части только серверные скрипты. В итоге получилась большая, трудноразбираемая куча кода. Также некоторую проблему составили служебные части (справочная и поисковая системы, панель администрирования), которые блокируют основной механизм обновления страниц и вписывают свой текст. Они тоже достаточно сильно усложняют код. Лучше делать все служебные страницы интегрированными в основные механизмы движка.

Если мобильная версия сайта есть, то добавление на сайт AJAX-технологии возможно, но в разумных пределах. Прикольно, конечно, когда весь контент подгружается в одну-единственную страницу, но не практично для поисковой оптимизации. Так что использование асинхронных запросов оправдано только тогда, когда оно действительно улучшает usability, то есть делает сайт удобнее для всех пользователей и не вредит поисковой индексации. Например, в блоках-голосованиях. Возможна динамическая подгрузка содержимого, но только если есть альтернатива в виде обычной постраничной навигации или контент сайта не надо индексировать (чат, например).