Статический сайт с нулевым бюджетом - часть 2
Ниже вас ждут:
-немного кода о том как вставить рассылку емейлов на статическом сайте
-немного граблей, на которые я наступил
-Пикабу в 2009 году
Повторюсь, я ни в коем случае не эксперт в сайтостроении, просто меня попросил хороший знакомый о сайте-визитке, и мне стало интересно разобораться в новой для меня области. Как правило, вход в новую сферу сопровождается интересными открытиями и граблями, которыми хочется поделиться.
И так, беглый гуглинг по теме рассказывает о сервисах с API или встраивыми формами, которые могут работать нестабильно или берут деньги за каждое письмо. Нам такое не интересно.
На этот раз мы будем извращаться с гуглформами. План такой - скрипт на сайте отправляет запрос в API форм, оттуда идёт рассылка на все нужные адреса с результатами заполнения.
Этот способ работает заметно быстрее аналогов, ну и, я надеюсь, гугловские сервисы работают стабильнее. И так, поехали - создаём форму с нужным нам количеством текстовых полей на https://docs.google.com/forms
После того, как дело сделано, идём в настройки, пункт - создать образец для заполнения.
Ничего не заполняем, жмём готово, в результате получаем ссылку типа
https://docs.google.com/forms/d/1YkK5hlHmeNb_86oV1bmqUoP2zrS...
Сама по себе она нам не нужна, из неё нам полезны строки
https://docs.google.com/forms/d/1YkK5hlHmeNb_86oV1bmqUoP2zrS...
entry.74077809
entry.187616166
entry.201335494
entry.95725200
Это адрес самой формы и имена полей в порядке их отображения в ней. Запомнили, идём в код нашего статичного сайта.
для реализации нам понадобится jquery - библиотека на js, которая во многом облегчает скриптинг. После её инициализации добавляем
$(document).ready(function(){ // после загрузки DOM
$('form[id^=form_google]').submit(function(e){ //ID формы, для которой весь сыр-бор начинается с form_google. Так как на сайте форм может быть несколько
e.preventDefault(); // Форма не перейдёт по ссылке.
var form = $(this);
var data = form.serialize();
$.ajax({
url: "https://docs.google.com/forms/d/1YkK5hlHmeNb_86oV1bmqUoP2zrS...", //Узнали? это url нашей формы с /formResponse в конце
data: data,
type: "POST",
dataType: "xml",
statusCode: { // после того как пришел ответ от сервера
200: function (){
alert('Спасибо, данные успешно отправлены');
}
}
});
});
});
Теперь составим форму на странице, которая вызывает скрипт
pastebin /yPPkYBz1
(пикабу не отображает html тэги, поэтому пастбин)
Форма отправляется, база ответов пополняется.
Теперь email рассылка:
В меню формы идём в Дополнения:
В поиске нужно найти плагин Email notifications for forms
Там есть несколько плагинов для нотификаций, этот - самый удобный из испробованных. После установки он легко настраивается на правило отправки писем с ответами.
Как это реализовано у меня - можете посмотреть в исходном коде http://стопкомар.рф
Тему использования гугловских документах на сайтах можно развивать. Например, результаты формы складируются в гугл таблицу, в ней вы можете создать ячейки с аггрегирующими функциями и, опубликовав документ, доставать значения из них на вашем сайте. Получается, из таблиц реально сделать полноценную базу данных, только вся информация в ней будет общедоступной. Можно на этой основе, например, подключить систему отзывов или комментариев - значение заносятся в таблицу через форму и отображаются на странице. Может быть я реализую этот подход на сайте и, конечно, опишу тут как у меня это получилось. Справедливости ради, стоит отметить, что для комментов есть более удобные бесплатные сервисы, также можно подключить виджет комментариев из вконтакте.
Помимо этого я хотел поделиться несколькими граблями
Оказывается, купленный мной домен уже был в употреблении. Довольно интересно было посмотреть на то, что когда-то на нём хостилось, это можно сделать в
http://web.archive.org/web/20150815000000*/http://%D1%81%D1%...
Да, интернет помнит всё! Там можно посмотреть, каким был пикабу в 2009
Я ещё не знаю, хорошо это или плохо, и как это влияет на ранжирование в поисковой выдаче. Мне не с чем сравнивать, но пока по ключевому запросу сайт выдаётся на третьей страице в гугле.
Возможно я перенесу всё на другой - латинобуквенный домен, и сравню позицию в поиске после индексации. Пока отношение поисковиков не ахти, яндекс уже вторую неделю не переиндексирует страницу, оставляя в сниппете название заглушки, а гугл третий день не распознаёт микроразметку. Про неё я расскажу позже, если она подцепится и взлетит.
Вторая грабля - не нужно разбрасываться тэгами <h1> и т.д. Я, по незнанию действовал так - хочется большой текст - ставлю <h1>. Это не правильно, поисковый движок индексирует страницу с учётом содержания заголовков и выдаёт их в сниппете - том блоке, который вы видите в списках результатов на странице поиска. Излишнее употребление заголовков чревато проблемами, обычно рекомендуют ставить только один тэг h1 на страницу.
Дальше по плану - добавить сайт в каталоги, попросить друзей понажимать кнопки шаринга в соцсетях, довести до ума микроразметку и посмотреть, как это повлияет на ранжирование сайта в выдаче.
Предыдущие части:
1 - http://pikabu.ru/story/sozdanie_besplatnogo_statichnogo_sayt...