Вот я тут позанимался еще своим любимым бложиком и сейчас расскажу о нововведениях.
Если коротко, то я сделал валидным код, прикрепил скрипт обратной связи и сейчас расскажу как я его кастомизировал (этого нет в документации). Я сделал ЧПУ и sitemap. А еще поправил, наконец, RSS.
Начну с самого интересного, на мой взгляд.
Я подумал, что было бы неплохо дать возможность читателям оставлять обратную связь о сайте в целом. Возможно, задавать вопросы и темы для будущих постов или сообщать об ошибках. Кстати, если у вас есть вопросы, на которые вы хотите получить ответы — пользуйтесь формой!
Вот эта ссылка как раз показывает как вызвать окно обратной связи нестандартным способом. Апи у этого движка я не узрел, поэтому пошел в лоб. Я подумал, что наверняка Copiny вешает обработчик JavaScript на свою вкладочку и при клике на ней отрисовывает окно. Поэтому я взял Firebug и узнал что у этой вкладки (у самого внешнего элемента) есть три класса: widget-tab, widget-tab-right и round. Последний, очевидно, скругляет углы. widget-tab-right, очевидно отвечает за прилипание вкладки к правой части экрана. Значит сам логический класс — widget-tab.
Раз предположительно на нем висит обработчик клика, то попробуем сэмулировать клик программно. Если я прав, то должно появиться окно. Дело за малым. Пишем код на моем любимом jQuery, который у меня подключен на всех страницах.
<a href="#" onclick="$('.widget-tab').click();return false;">Задать вопрос</a>
Вот такая нехитрая штука работает! Теперь даже, при желании, можно скрыть эту вкладку справа при помощи стилей или того же JavaScript. Например, так:
<script>
$(function() {
$('.widget-tab').hide();
});
</script>
При загрузке страницы вкладка исчезнет, но ссылка продолжит работать (JavaScript-то подгрузился). Таким образом можно кастомизировать эту форму и движок.
Решил проверить свою старую версточку на предмет соответствия стандартам. Проверил. И каково было мое удивление, когда я увидел что верстка моя почти валидная? Я не старался, честно-честно! Короче, я потратил 10 минут чтобы устранить все косяки и получил кнопочку, котору понтов ради разместил в дне сайта.
Кстати, там же вы можете наблюдать кнопки валидации CSS и RSS. И та и та показывали мне ошибки. Причем ошибки настоящие, а не просто несоответствия стандартам. Так я узнал что у меня не хватает точки с запятой в одном месте в CSS и главное — я узнал что в моей RSS нет важного элемента guid. Этот элемент отвечает за однозначную идентификацию item в потоке. Именно по нему клиенты будут узнавать читали ли они уже этот пост или нет.
А у меня как раз проблема — посты моргали. Если я вносил изменение в любой, даже самый старый пост, он снова появлялся в RSS как будто только что написанный. Подозреваю, что читателям это не очень приятно. Теперь я доделал этот элемент и привел дату в соотвествие с форматом RFC и теперь моя лента проходит валидацию и, что куда ценней — работает как надо!
Для того, чтобы отслеживать статистику было удобно — я сделал сначала параметры алиасов на блоге. Чтобы бросив взгляд на урл в системе статистики, можно было узнать что это за страница. Но потом решил идти до конца и реализовал ЧПУ. Теперь все мои посты имеют понятные, красивые адреса.
Это привело к тому, что ссылки в старых постах устарели, поэтому нужно бы провести чистку с заменой этих ссылок. Но я не мог этим заниматься покуда глючила RSS. Теперь такой проблемы нет и я могу делать со старыми постами что угодно не боясь потревожить читателей.
Всякие автоматические биржи ссылок и боты поисковиков очень любят файл sitemap.xml. Раньше я пользовался, точнее пытался пользоваться сервисами из интернета, которые генерировали мне эти файлы. Но это было по крайней мере, не удобно. А вообще-то, и не очень правильно. Особенно что касается расстановки приоритетов и порядка расположения урлов в самом файле. Хочется чтобы все было красиво.
Ну и я озаботился и наваял за часок себе скрипт и инструмент в админку, который генерирует мне новый файл sitemap.xml. Он собирает все посты, потом собирает все теги. Для каждого тега он пробегает по всем страницам. Плюс все страницы всех категорий. Плюс пара статичных всегдашних страниц вроде /profile.
Итого скрипт очень простой и удобный. А еще я подумал что карта сайта — совсем не такой плохой инструмент не только для робота, но и для людей. И начал генерировать заодно и html-версию этого файла, которая содержит ссылки на все посты блога. Думаю, эта страница может оказаться полезной для тех, кто здесь впервые.
Что касается заработка с блога — основа его пока что все еще сервис ротапост. Для моего блога приходит уже столько заявок на постовые, что я не успеваю их обрабатывать! Конечно, для больших и серьезных проектов в этом случае пригодился бы копирайтер, но мне жаль тратить деньги на написание текстов, я же все-таки сам себе блогер) И главная цель моего блога — личный рассказ о хитростях веб-разработки, а не заработок. Когда вы поймете что для моего блога пишу не я — знайте что я продался и блог существует прежде всего для заработка =)