Генерация контента сайта с использованием template toolkit


Содержание

Генерация контента. Возможно ли сегодня создать сайт с таким содержимым?

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

Не, ребята, если вы открыли этот пост в надежде, что здесь будет готовый кейс и ссылка на мой проект, то я вас разочарую – сегодня обойдемся без подобного стриптиза. Я просто постараюсь заставить вас взглянуть на генерацию контента новым взглядом. Может кому-то это поможет, и он родит свой проект по окончанию прочтения.

Генерация контента ранее активно использовалась при создании дорвеев – это было даже порой увлекательно под пивко читать то, что выдавал скрипт генерации. Для генерации был необходим собственно сам этот скрипт генерации или программка, а также несколько мегабайт тематического текста. Я не знаю, как сейчас обстоят дела с дорвеями и подобной генерацией, так как ушел из этой темы 2 года назад. Но уже тогда поисковики умели наказывать за подобный контент. Сейчас, я уверен, они глупее не стали.

Вообще мечта любого вебмастера – это создать сайт с минимальными усилиями, который самостоятельно бы развивался и приносил прибыль. Слишком уж идеалистично скажете вы? Но я могу с гордостью сказать, что один такой сайт у меня в загашнике точно есть, и он даже полностью «белый». Сейчас вот был запущен второй, о котором я и хочу рассказать. Охарактеризовать я его могу, как «сервис ответов».

Реализация генерации

Вы никогда не задумывались, сколько трафика собирают банальные вопросы в поисковых системах, наподобие «2+2» , «корень из 81» , «курс доллара на 28.02.2014» (исключительно в качестве примера)? А ведь дать ответы на подобные вопросы очень и очень даже просто: обычная арифметическая операция на стороне сервера, несложная интеграция с каким-нибудь сервисом и т.д. Таким образом, задача вашего проекта сводится к тому, чтобы научиться создавать страницы с ответами на вопросы пользователей без вашего прямого участия. К этой же группе сайтов можно отнести и сервисы по поиску расстояний между городами, поиску кратчайшего пути – все это делается грамотно написанным скриптом и интеграцией с уже существующими сервисами (в данном случае Google карты ).

Идея моего проекта родилась чисто случайно, когда я собирал семантическое ядро для совершенно другого сайта и случайно подметил группу запросов в Яндекс Wordstat. По большому счету, проект представляет собой форму поиска, которая благодаря реализованным алгоритмам способна давать ответы на поисковые запросы пользователей.

Реализация наполнения сайта

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

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

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

Основные моменты внутренней оптимизации

О, сколько же постов в блогах написано на эту тему! Я лишь отмечу основные моменты, на которые я делаю упор в этом проекте:

  • Title и метатеги страницы;
  • Структура заголовков H1-H3;
  • Наличие медиа-контента (картинки, ролики YouTube).

Да, ребята, и оптимизацию каждой отдельной страницы по указанным критериям также можно автоматизировать – сейчас расскажу как.

Генерация Title и Metatgs

Сгенерировать заголовок и метатэги на самом деле несложно – это вам не контент страницы генерировать в несколько предложений. Тут вам нужно-то всего одно предложение из нескольких слов. Поэтому за полчаса-час можно составить шаблон генерации и в дальнейшем использовать его, получая на выходе достаточно уникальные предложения. Если дружите с PHP, то можете воспользоваться моим скриптом для генерации текста из шаблона. Разумеется, при генерации текстов и новой страницы необходимо использовать данные формы поиска, которую пользователь заполняет.

Заполнение тегов H1-H3

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

Парсинг картинок и видеороликов

Наличие тематического медиа-контента на странице я считаю не менее важным, чем тот же грамотно составленный Title страницы. Однако мы же говорим о полностью автоматизированном сайте: как же реализовать поиск этого самого «тематического» медиа.

Вообще слово «парсинг», наверное, не совсем уместно, когда используется легальное API от самого же Google. Это раньше приходилось придумывать какие-то хитрые скрипты и схемы, чтобы спарсить какое-то содержимое из выдачи Google. Сегодня же я с абсолютной уверенностью могу сказать, что вы можете осуществлять санкционированный поиск изображений и видеороликов через предоставленные инструменты Google API.

Про поиск изображений я написать еще не успел, а вот как осуществить поиск видеороликов на YouTube через YouTube Data API v3 можете почитать.

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

Возможно, немного разочарую, но не на все запросы к API вы будете получать тематический медиа-контент надлежащего качества. Случались у меня казусы: ищешь, например, пейзажи Африки, а тебе по непонятному алгоритму отдается видеоролик из World Of Tanks. Но! Если Google считает это видео или изображение тематическим, значит и наша страница сайта его должна устраивать. Логично?

Результат

Итак, самый интересный момент поста: как же поживает мой проект, созданный с использованием указанных схем и технологий? Он находится в индексе обоих поисковых систем и уже собирает порядка 50 пользователей в сутки. Прилагаю скриншот из Google Analytics по посещалке.

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

И вся изюминка сайта в том, что мне не надо тратиться на контент, собирать семантическое ядро – все, что необходимо, рано или поздно создадут сами пользователи. Прям сайт для людей какой-то получился :LOL:

Ну как? Удалось мне немного расшатать ваш стереотип о сайтах на cгенерированном контенте?

Template Toolkit

Template::Toolkit (а также TTk или просто TT) — шаблонизатор, Perl-библиотека для отделения уровня представления от уровня приложения. Короче говоря, относительно простой язык программирования, упрощающий генерацию динамических страниц, в основном, хотя и не обязательно — HTML-страниц.

Статья Template Toolkit в русскоязычной Википедии пытается намекнуть нам на то, что по сути своей TT — «легковесная» библиотека, в отличие от «полновесных» фреймворков для построения веб-приложений.

Содержание

«Не используйте Template Toolkit!»

Все проблемы TT происходят от того, что он тьюринг-полный. Реализовать на нём можно ну абсолютно всё, что угодно. Можно писать на TT, не используя нативный Perl-код вообще. «Всех» проблем, по сути, две — высокая средняя сложность кода шаблонов и очень низкая производительность. Идея о простых шаблонах, которые может редактировать даже дизайнер, накрывается медным тазом. Для примера достаточно взглянуть на шаблоны и код Bugzilla.

Забавно, что синтаксис TT, за исключением извращений, логичен, и даже в своём шаблонизаторе я пришёл к похожему синтаксису, в том числе и к передаче переменных единым Perl-хешем. С другой стороны, а что же значит «за исключением извращений»? Раскроем смысл фразы — логично в синтаксисе TT всё, кроме:

  • Виртуальных методов: зачем изобретать свой достаточно сложный язык, где «всё — объект», почему не использовать обычные вызовы функций?
  • Блоков: «функции» в шаблонах вредны — их полезно выносить в отдельные шаблоны, а если таковых очень много — это, скорее всего, какие-то сообщения, в этом случае их можно объединять в хеш-таблицу и в один файл «локализации», как делает MediaWiki (см. например, русскую локализацию).
  • Фильтров: чем фильтр не функция (имеется ввиду внешняя функция), зачем вводить дублирующий функционал?
  • Оператора выбора (SWITCH): его нет даже в самом Perl’е и почему-то никто не страдает, зачем же он в шаблонах?
  • Макросов: чем макрос не блок? Чем макрос не функция? Часто вы используете C-препроцессор в Perl-коде?
  • Встраивания Perl-кода: вредно для простоты шаблонов, неудобно (ибо Stash) и, возможно, опасно.
  • Stash’а (от англ. stash — тайник, «заначка»): производительность TT страдает в первую очередь именно от него — зачем-то введённого отдельного уровня хранения данных — по сути, собственной реализации хеш-таблицы со множеством наворотов, проверок и вообще лишних действий. «Зачем-то», по всей видимости — для обеспечения нетривиальных возможностей вроде установки функции-getter’а вместо значение переменной шаблона (нафиг в шаблонах такие хаки?).
  • Try/catch: про то, что это очередная возможность усложнить шаблоны, упоминать как-то даже глупо. Исключения, как известно, придуманы не для шаблонов, а для сложных (по уровню вложенности вызовов функций) конфигураций обработки ошибок, которая в шаблонах опять-таки не полезна, а вредна. Можно было бы подумать, что это всё для обработки ошибок приложения, но лично я считаю, что шаблон не должен вызывать функций приложения — его предназначение заключается как раз в изоляции уровня приложения от уровня представления.
  • «Обёрток» (wrapper’ов): чем это не фильтр, а чем фильтр не функция?
  • TT не восстанавливает значение счётчика после выхода из FOREACH: это поведение не так страшно в языках программирования типа PHP, где всё равно переменная обычно попадает в локальную область видимости функции, однако в шаблонах, особенно в сложных, приводит к различным относительно трудноуловимым багам.

Таким образом, остаётся приблизительно следующий набор: скаляры, хеши и массивы, функции, условный оператор, оператор цикла и включение другого шаблона. То есть, простейшие элементы. Так вот, именно их синтаксис в TT и логичен :-)

Кстати, раз обычный Stash — просто кошмар неиллюзорный, а Template Toolkit был (да и до сих пор) весьма популярен, в районе года 2000 появилась его XS-версия (то есть, переписанная на C) — Template::Stash::XS. После этого TT-шаблонам, всё-таки, полегчало. Но, во-первых, Stash никогда не был единственным замедляющим работу TT уровнем, во-вторых, даже Stash::XS всё равно работает не так быстро, как мог бы, а в-третьих, Stash::XS долгое время имел различные баги — например, поддержка UTF-8 в Template::Stash::XS появилась только 4 июля 2009 года. И ещё Stash::XS менее безопасен — делает меньше проверок на ошибки. Пример раскопок по данной причине: Perl + mod_perl + gdb.

Update от 25.06.2010. Ещё одним TT’шным идиотизмом является способ получения имени текущего шаблона, «в котором находишься». Его можно взять из обычного Stash’а, из специальных переменных с именами (!) «component» и «template». Гениально. Ну хотя бы «_» в начале имени поставили, или хотя бы верхним регистром написали. А так — конфликты обеспечены, та же Bugzilla на них нарывается. И опять-таки самое ужасное в том, что получение текущего шаблона вообще нелогично смешивать с данными шаблона — его логично вообще отделить в функцию, либо «сельф» какой-нибудь завести ($self/this).

Пример: Bugzilla

Bugzilla — популярный и распространённый баг-трекер, «система контроля ошибок», разработанная организацией Mozilla, написанный на Perl’е.

Изначально Bugzilla вообще не была веб-приложением, а работала на основе библиотеки Tk. Однако это было давно и неправда и, как и распространённые версии 2.x, так и версии 3.x используют Template Toolkit.

Bugzilla 2

Bugzilla 2, с точки зрения качества кода, вообще была очень сомнительным поделием, поддерживающим только запуск через CGI и содержащим большое количество старого кода, рассчитанного на то, что недоступны ни транзакции, ни даже библиотека Perl DBI, файлы-вложения хранились в виде BLOB’ов в базе, существовала дурацкая вещь под названием «versioncache» (кэш данных в файле с дампнутым перловым хешем), интерфейс был весьма аскетичен и местами неудобен, и т. д. и т. п. Тем не менее, свои задача Bugzilla 2 выполняла хорошо, и почти никаких проблем с надёжностью не испытывала. «Почти» — то есть, кроме необходимости иногда пробивать versioncache при некоторых изменениях и время от времени падающих MyISAM-таблиц в MySQL. Для генерации страниц Bugzilla 2 использует Template Toolkit и, несмотря на CGI, показывает приличную производительность (нет, конечно же не веб-2.0, но для баг-трекера вполне) благодаря относительной простоте кода и, что важно, шаблонов.

Bugzilla 3…

Bugzilla 3 же показала большой прогресс в области удаления старого кода и написания нового. Появились транзакции, DBI, mod_perl, поддержка UTF-8, более приятный интерфейс, защита от дублирования изменений, для почты стали наконец-то использоваться нормальные (ну, такие же) шаблоны для писем (это с большой оговоркой: если Template Toolkit вообще считать нормальным). Также авторы начали понимать, что Bugzillе совершенно необходимы возможности расширения и постепенно добавляют таковые — в 3.0 появляются Custom Fields (дополнительные поля у багов) и чуть-чуть хуков, в 3.2 настраиваемый жизненный цикл бага, поддержка расширений авторизации и ещё чуть-чуть хуков, в 3.4 Custom Fields стали умнее и т. п.

По поводу ума Custom Fields в 3.4, правда, тоже не обошлось без глупости — возможность ограничить значение поля значением какого-то другого поля появилась, то есть, например, сделать, чтобы у разных продуктов были разные значения вашего поля, теперь можно. А сделать, чтобы некоторое значение показывалось только в двух продуктах, но не в остальных — нельзя…

Но есть и беда: Bugzilla всё ещё использует Template Toolkit, а разрабатывается длительное время и большим числом людей разной степени вшивости :) в итоге люди начинают использовать ну, прямо-таки все возможности Template Toolkit’а, что ведёт к уже упомянутому анти-паттерну разработки: перемещению 50 % логики в шаблоны.

…И её тормоза

Практически это приводит к следующим эффектам. Например, открытие бага с большим числом комментариев (например, с 703-емя — это наш максимум в ЗИС’е) в Bugzilla 2.x, даже с учётом того, что это CGI-скрипт (то есть перезапускается интерпретатор), занимает примерно 1.5 секунды, а в 3.x, даже с учётом того, что это mod_perl (то есть интерпретатор не перезапускается и модули тоже не перезагружаются — хочется быстрее, да?)… примерно 22 секунды, из которых 6 тратятся на работу Template::Stash. После некоторых манипуляций средней хитрости время с 22 сек было доведено до 5.5 секунд, но это всё равно уже никак не 1.5 секунды 2-ой багзиллы, а для дальнейшего прогресса «локальных» улучшений уже мало — нужно глобально менять, так сказать, «архитектурные элементы». Та же история, хоть и менее катастрофическая, с поиском багов — было полсекунды, стало полторы. Некритично, конечно, но где же оно, заявленное «this greatly improves performance and highly decreases the memory footprint».

А в процессе манипуляций был выявлен замечательный идиотизм, который надо, во-первых, увековечить, а во-вторых, и зафиксить тоже не помешает. Код багзиллы, к счастью, доступен online на Mozilla Cross-Referencer. Мы будем рассматривать ветку Bugzilla 3.4 (вдруг потом баг всё-таки пофиксят). Но вообще он присутствует и в 3.2, и в 3.0.

Итак. В коде Bugzilla::Template есть такая замечательная функция, как quoteUrls, отвечающая за преобразование слов «bug XXXX» и «comment XX» в комментариях в ссылки на баги и оборачивание обычных ссылок и e-mail адресов в гипертекстовые ссылки. А в ней есть следующая строчка:

Строчка относится к получению настоящего названия термина «баг» — в Bugzilla 3 можно баги называть не багами, а «задачами», «проблемами», «требованиями» и вообще как душе угодно. Функция quoteUrls при выводе страницы по разу вызывается для каждого комментария. А что делает get_text? Обратимся к модулю Bugzilla::Util:

А теперь заглянем в шаблон global/message.txt.tmpl — он почти ничего не делает, но включает в себя другой шаблон: global/messages.html.tmpl, отвечающий за вывод огромного числа различных информационных сообщений (между прочим, цепочкой ELSIF’ов вместо кучи блоков и именного PROCESS), и в частности — отдельным ELSIF’ом — вывод термина [% terms.$term %] , ради которого, собственно, и вызывается get_text(‘term’, < term =>‘bug’ >) . Иными словами, это 33 килобайта, выполняющиеся заново при обработке каждого коммента к багу. В нашем случае — каждого из 703… На это уходило почти 10 секунд из всех 20-и, то есть почти 50 % времени.

  • Во-первых, функция get_text с первым аргументом ‘term’ вызывается в коде Bugzilla только в одном месте (см.выше), а все term’ы содержатся в отдельном шаблоне global/variables.none.tmpl. Поэтому получение термина можно вынести в отдельную функцию.
  • Во-вторых, нет никакой нужды выбирать нужную функцию в global/messages.html.tmpl цепочкой ELSIF’ов — можно применить блоки Template Toolkit’а, или даже просто отдельные шаблончики. Хотя самое забавное, что время-то как раз съедали не ELSIF’ы, а постоянные дёрганья global/field-descs.none.tmpl, представляющего собой по сути всего лишь пару вызовов Template::Stash::set(), это очередная загадка TT.
  • В-третьих, что самое главное — нет никакой нужды фильтровать тексты комментариев заново при каждом выводе страницы! Зачем выполнять лишнюю работу? Фильтрованный HTML-текст комментариев можно просто сохранить в базу данных рядом с нефильтрованным и спокойно выводить вообще без преобразования.

Вторая глобальная манипуляция — это именно разрешение Template::Stash::XS, зачем-то специально запрещённого в коде Bugzilla 3.x. Наверное, это имело под собой какие-то основания, но когда баг открывается 20 секунд, все основания идут в задницу, и это позволило сэкономить ещё где-то 5 секунд.

Другие манипуляции были более мелкие — отказ от Text::Wrap и оптимизация регулярных выражений в quoteUrls — и дали соответственный выигрыш: 1.5 секунды.

Данные профилировщика

Чтобы не быть голословным, я даже приведу данные профилировщика. Использовался Devel::NYTProf, написанный ребятами из New York Times (кстати, это очень хороший Perl-профилировщик, достойный отдельной статьи). Профилировалась Bugzilla не под mod_perl’ом, а под HTTP::Server::Simple — проблем там никаких не возникает, потому что он тоже CGI (см. Платформы для запуска Perl веб-приложений). Всё тестировалось на «супер-баге» с 703 комментами.

А ещё отсюда видно, что даже после оптимизации больше всего времени всё равно отъедает TT, и что осуществляется 61282 вызова Template::Stash::XS::get(), съедающих почти секунду времени. Такое количество какбэ намекает на возросшую (во многом бесполезно) сложность шаблонов Bugzilla.

Perl, Python — блог программиста

Материалов по теме «Как создать собственный фильтр для шаблонов Template Toolkit» достаточно, как на русском, так и на английском языках.

А вот примеров кода реально работающего фильтра практически нет. Восполняю этот пробел, возможно кому-нибудь пригодится.

Далее изложено 3 варианта создания фильтра, все — работающие. Разъяснений и комментариев в этот раз не будет. Для изучения теории создания шаблонов рекомендую несколько публикаций, ссылки на которые приведены в заключительной части.

Варианты кода для создания фильтра

Примеры разработаны для решения задачи:
Есть строка текста неопределенной длины. Надо эту строку сократить до определенного администратором числа символов.


Вариант 1. Самый простой

1) В модуле, где происходит создание объекта шаблона, создать подпрограмму-фильтр.

Генерация контента на сайте

Сегодня мы обсудим достаточно новый, но уже достаточно распространенный, способ наполнения сайта релевантным контентом. Данный материал будет полезен как для оптимизаторов, которые находятся в поиске решений по наполнению сайта большими объемами контента, так и для маркетологов/владельцев сайтов – с точки зрения оценки возможности внедрения описанного решения на своем собственном сайте с целью увеличения доли НЧ и СЧ трафика.

Илон Маск рекомендует:  Что такое код releasedc

Когда заходит речь о контенте — первое, о чем задумываются SEO-оптимизаторы — где взять качественного копирайтера, который разбирается в тематике, и сколько будет стоить 1000 символов. Если второй вопрос — напрямую зависит от качества найденного копирайтера, то вот с первым вопросом — могут возникнуть проблемы. Найти копирайтеров, глубоко разбирающихся в тематике вашего бизнеса – может оказаться непосильной задачей. При этом, инертный рынок «SEO-копирайтинга» все еще представляет из себя «конвейер» SEO-текстов, которые успешно попадают под фильтры: переоптимизация, Баден-Баден и др.

При этом, если говорить о написании контента для больших объемов посадочных страниц – от 10 000 до 1 000 000 – копирайтинг может растянуться на годы и стоить в итоге баснословных финансовых вложений. Откуда же в таком случае брать качественный контент в больших объемах?

Генерация контента – не так плохо, как звучит

Говоря о генерации контента – первое, что приходит на ум опытных маркетологов, – это UGC (User Generated Content). UGC, как видно по расшифровке аббревиатуры, — процесс генерации контента пользователем.

UGC (User Generated Content)

User Generated Content (или пользовательский контент) – это оригинальные информационные материалы, которые создаются аудиторией бренда – пользователями вашего сайта. Это одно из базовых понятий Веб 2.0, о котором много говорили ещё в 2000-ых годах, а теперь почти ничего не слышно. Тем не менее, данный метод генерации контента успешно используется многими брендами.

Существует несколько типов UGC, которые наиболее востребованы в современном online-мире:

  • Вопросы и ответы (FAQ);
  • Отзывы;
  • Обзоры;
  • Комментарии;
  • Форум;
  • Фотографии (пользовательские);
  • Рецензии;
  • Любой тип UGC — это возможность для пользователя вступить во взаимодействие с брендом: получить ответы на свои вопросы, консультацию, вступить во взаимодействие с другими потребителями вашей продукции.
  • Любой тип UGC — это обязанность бренда (вашей компании) своевременно реагировать на любой контент, генерируемый пользователями: ответы на вопросы, консультации, модерация форума и т.п.
  • Если ваш БРЕНД не готов выходить на взаимодействие со своими потребителями — данный тип генерации контента не подходит для вашей компании.

Как показывает практика, для компаний из малого и среднего бизнеса – не всегда выгодно использовать на своих проектах возможность генерации контента пользователями, так как:

  • Необходимо внедрять дополнительную штатную единицу, в ответственности которой будет входить мониторинг и премодерация генерируемого контента. Актуально для «Отзывов», «Обзоров», «Рецензий», «Фотографий», «Комментариев» и т.п.
  • Это увеличивает нагрузку на специалистов компании, обладающими экспертными знаниями и способными дать полный и полезный ответ на вопросы пользователей. Актуально для «Вопрос-ответ (FAQ)», «Онлайн-консультаций» и т.п. – где участие пользователя в процессе подразумевает фидбэк (ответную реакцию) специалиста.

Помимо UGC существует альтернативный способ генерации контента, мы назвали его – YouGC.

YOUGC (You Generated Content)

You Generated Content – способ генерации контента, который целесообразно использовать в генерации страниц на базе больших объемов шаблонных и структурируемых данных. В чистом виде YouGС представляет собой вывод массива структурированных данных по определенным, заранее подготовленным шаблонам. Официально такого термина не существует, но он вполне актуален при сравнении с UGC, особенно для SEO.

Возможные типы YouGC:

  • Генерация основного каскада страниц (структуры) по основной семантике;
  • Генерация подразделов по различным типам (устройств, услуг, и т.п.) с привязкой к основному узлу;
  • Генерация подстраниц для каждого товара или товарной группы по набору характеристик (размеры, цвета, и другие характеристики).

Данный тип генерации контента имеет следующие MUST HAVE требования:

  • Систематизируемость данных. Генерация контента по методике YouGC подходит только для систематизируемых данных, в которых помимо «вторичных» характеристик, представлен ряд «первичных» («структурообразующих»);
  • Наличие большого объема «вторичных» характеристик. Большой объем характеристик, участвующих в генерации, позволяет генерировать контент на большую глубину, охватить большую часть НЧ и СЧ семантики, получить на выходе более качественный контент;

Данные требования более подробно описаны ниже – в примерах.

Преимущества данного метода:

  • Генерации страниц для коммерческих сайтов.
    Подходит для генерации основного каскада страниц для сайтов коммерческих тематик (основные товарные предложения или предложения услуг).
  • Без ответной реакции от бренда.
    Нет необходимости вступать во взаимодействие с пользователем (как в UGC).
  • Сжатые сроки.
    Позволяет в короткие сроки реализовать достаточно объемный пласт тематических целевых страниц под различные типы запросов (геозависимые, геонезависимые, коммерческие, частично информационные).
  • Шаблонная проработка!
    Достаточно внести изменение в едином шаблоне для внедрения правок на тысячах страниц.

YouGC

Примеры генерации контента

Рассмотрим некоторые примеры тематик, которые позволяет в БОЛЬШЕЙ или МЕНЬШЕЙ степени реализовать структуру сайта целиком или же частично.

Тематика «Туризм»: авиабилеты

Основным товарным предложением в тематике является документ, подтверждающий факт заключения договора между пассажиром и авиаперевозчиком. Данный документ называется “авиабилет”. И этот товар обладает большим количеством свойств, которые мы можем использовать в генерации контента.

Свойства авиабилета:

  • Страна вылета
  • Город вылета
  • Страна назначения
  • Город назначения
  • Авиакомпания
  • Количество пересадок (или прямой рейс)
  • Аэропорт(ы) пересадки
  • Дата вылета
  • Месяц вылета
  • Сезон вылета (лето, зима)
  • Аэропорт вылета
  • Аэропорт прилета
  • Тип самолета
  • Номер рейса
  • Питание на борту
  • Класс обслуживания
  • В одну сторону / туда и обратно
  • Цена
  • Оплаченный багаж
  • Время вылета
  • и это еще не полный список.

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

Первичная проработка структуры

Назначим каждому структурообразующему свойству название (переменная):

  • Страна вылета = FROM_COUNTRY
  • Город вылета = FROM_CITY
  • Страна назначения = TO_COUNTRY
  • Город назначения = TO_CITY

Например:

  • FROM_COUNTRY = из Германии
  • FROM_CITY = из Берлина
  • TO_COUNTRY = в Нидерланды
  • TO_CITY = в Амстердам

Чтобы правильно реализовать достаточную структуру, необходимо провести анализ семантики. Мы не будем вдаваться в детали анализа семантики, так как даже не особо глубокое изучение тематических запросов дает представление, что большая часть вхождений стран относится к пункту назначения (TO_COUNTRY), но среди запросов также имеется доля вхождений и в пункт отправления (FROM_COUNTRY). Для минимизации количества генерации страниц со «слабо полезным контентом» — объединяем пункты 1 и 3 в один сегмент структуры.

Достаточная структура в тематике «Авиабилеты» выглядит так:

  • Главная страница — site.ru
    Главная страница – является разводящей страницей по всем внутренним разделам и подразделам.
    • Страны — /страны/
      Раздел, агрегирующий в себе все страны, с которыми имеется авиасообщение.
      • Страна — /страны/*TO_COUNTRY*/
        Оконечные страницы по каждой стране.
    • Авиабилеты — /авиабилеты/
      Раздел, агрегирующий в себе все города, с которыми имеется авиасообщение.
      • Из города — /авиабилеты/*FROM_CITY*/
        Узел структуры, в котором агрегируются все города вылета (точка «А» в маршруте «из А в Б»).
      • В город — /авиабилеты/*FROM_CITY*/*TO_CITY*/
        Оконечные страницы маршрута «из А в Б».

Распределение запросов и проработка шаблонов

Каждая генерируемая страница на сайте должна быть релевантна самостоятельной группе запросов.

В данном примере распределение семантики по посадочным страницам выглядит следующим образом:

  1. Главная страница
      • купить авиабилеты;
      • купить авиабилеты онлайн;
      • авиа билеты онлайн;
      • билеты на самолет дешево;
      • и т.п.
    • Страны
      агрегирующая страница, свободная от семантики.
      • Страна (например, Германия)
        • авиабилеты в германию;
        • купить билет в германию;
        • цены билеты на самолет германия;
        • и т.п.
    • Авиабилеты
      агрегирующая страница, свободная от семантики. На страницу могут быть распределены также общие запросы, связанные с покупкой авиабилетов.
      • Авиабилеты из Города (например, Москва)
        • Дешевые билеты из Москвы;
        • Купить билет на самолет из Москвы;
        • и т.п.
      • Авиабилеты по маршруту (например, из Москвы в Берлин)
        • цены на билеты москва берлин;
        • купить билет москва берлин;
        • билеты на самолет в берлин из москвы дешево;
        • и т.п.

Как видно из примеров семантических групп, распределенных на генерируемые посадочные страницы, основным потенциалом в генерации трафика является раздел по маршрутам – «из города в город». Шаблон данного типа посадочных страниц потребует наиболее детальной проработки.

Сбор данных для генерации

В тематике авиабилетов – основной работой перед генерацией структуры является сбор названий городов со связками с IATA кодами аэропортов — все системы бронирования работают через IATA коды, и каждый город и аэропорт имеет свой IATA код.

Базы IATA кодов с названиями соответствующих им городов легко находятся с помощью поиска в Яндексе или GOOGLE, например:

  • Санкт-Петербург = LED
  • Москва = MOW
  • Берлин = BER

Также необходимо собрать все коды стран по классификатору ИСО 3166. В данном классификаторе представлен список всех стран с их двухбуквенными (альфа-2), трехбуквенными (альфа-3) и цифровыми кодами:

Для генерации контента страниц – потребуются краткие и полные названия стран, а для генерации URL могут быть использованы коды альфа-2 или альфа-3, например:

  • http://site.ru/strany/abh/ — Абхазия
  • http://site.ru/strany/aus/ — Австралия
  • http://site.ru/strany/aut/ — Австрия
  • и т.д.

Необходимо сохранить все полученные данные в таблицах в базе данных, которые в дальнейшем будут использоваться для генерации контента и настройки адресов страниц (URL).

Обработка интента

Основным коммерческим пользовательским интентом является запрос “купить”, который и выражает желание пользователя “заключить договор с перевозчиком”. Сразу после проработки структуры — ищем характеристики данного интента.

Характеристики интента всегда имеют пересечение со свойствами самого товара.

В соответствии с интентом их можно разделить на три группы:

  • купить
  • цена
  • стоимость
  • сколько стоит
  • дешево
  • прямой рейс
  • туда и обратно
  • в одну сторону
  • .

За этой группой семантикой скрываются наиболее «горячие» пользователи, которым необходимо приобрести билет прямо сейчас. Эти запросы необходимо прорабатывать в первую очередь.

  • июль 2020 (далекая дата в будущем)
  • расписание
  • рейсы
  • .

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

  • прибытие
  • во сколько
  • время в пути
  • .

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

Почему важно проработать все возможные интенты в совокупности с их характеристиками? Именно детальная проработка интентов запросов позволит реализовать более качественные шаблоны генерации данных.

Настройка роутинга (routing)


Непосредственно после проработки структуры, анализа семантики, группировки запросов по интентам — необходимо реализовать техническую часть генерации:

  • Настройка корректной обработки адресов по рассмотренной выше структуре (ЧПУ),
  • Настройка обработки 404 страницы при запросе несуществующих городов и стран (чтобы не создавались бесполезные страницы),
  • Реализация подгрузки различных шаблонов в зависимости от запрашиваемого URL.

На данном этапе необходимо составить четкое и прозрачное ТЗ для программиста, в котором необходимо учесть:

  • Каждая генерируемая страница – должна иметь свой шаблон контента;
  • В зависимости от запрашиваемого пользователем адреса – в генерации участвуют либо данные из таблицы «Страны», либо данные из таблицы «Города»;
  • Каждая генерируемая страница – должна иметь свой уникальный набор мета-данных: title, description.
  • Каждая оконечная страница (например, страница «Авиабилеты из Москвы в Берлин») должна быть доступна по уникальному адресу (не должно быть дублирования контента по различным адресам).

По завершении реализации технической части – раздел должен представлять из себя своеобразную «заготовку», для функционирования которой – необходимо проработать шаблоны для каждого типа посадочных страниц.

Генерация шаблонов

Мы не будем в подробностях расписывать, что каждая посадочная страница должна обладать «ассоциированным» с ней функционалом (иметь формы заказа или поиска авиабилетов по просматриваемому направлению), иметь качественный дизайн и удобный функционал – так как это очевидно.

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

  • Прорабатываемые шаблоны текстов должны универсально подходить под каждую посадочную страницу в рамках генерации.
  • Шаблоны генерации текстов для страниц различных групп – должны иметь существенные различия.

Пример выдуманного текста:

На сайте SITE.ru вы можете купить дешевые авиабилеты из Москвы (Россия) в Берлин (Германия) по выгодной цене. Мы сравниваем цены на авиабилеты среди 700+ авиакомпаний, осуществляющих рейсы между Москвой и Берлином, и предлагаем вам выбрать подходящий по цене рейс. Мы осуществляем продажу авиабилетов в Берлин без комиссии, с учетом топливных и аэропортовых сборов.

Подставляем переменные в данный текст:

На сайте SITE.ru вы можете купить дешевые авиабилеты из %FROM_CITY% ( %FROM_COUNTRY% ) в %TO_CITY% ( %TO_COUNTRY% ) по выгодной цене. Мы сравниваем цены на авиабилеты среди 700+ авиакомпаний, осуществляющих рейсы между %FROM_CITY% и %TO_CITY% , и предлагаем вам выбрать подходящий по цене рейс. Мы осуществляем продажу авиабилетов в %TO_CITY% без комиссии, с учетом топливных и аэропортовых сборов.

Для того, чтобы ваши тексты были более качественными – рекомендуем использовать в генерации не только исходные названия стран, но и их падежи.

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

Дополнительные источники данных

Всегда будьте в поиске дополнительных источников данных, с помощью которых вы сможете расширить количество своих посадочных страниц, количество учтенных ключевых НЧ и мНЧ фраз, и улучшить качество посадочных страниц.

Дополнительные данные для тематики авиабилетов:

  • Расписания рейсов,
  • Погода,
  • акции и специальные предложения,
  • смежные тематики (отели, экскурсии, страхование и т.п.).

Тематика «Туризм»: продажа туров

В данной тематике, как и в тематике авиабилетов, сперва необходимо четко сформулировать описание и характеристики продукта, который является основным товаром. Конечным товаром в тематике «Туров» является “туристический пакет”. “Пакет” — это комплекс услуг, объединенных в единое товарное предложение, сформированное туристическим оператором, распространяющееся через сеть собственных представительств и через туристические агентства.

После того, как мы четко описали – что именно является нашим основным предложением, необходимо собрать характеристики этого товара:

Свойства туров

  • туроператор
  • город вылета
  • страна назначения
  • курорт
  • дата вылета
  • месяц отдыха
  • сезон отдыха
  • количество дней отдыха
  • количество взрослых
  • количество инфантов
  • чартерный рейс или нет
  • условия страхования
  • цена пакета
  • цена с человека
  • тип отдыха (пляжный, горнолыжный и т.п.)
  • тип размещения (отель, апартаменты)
  • категория размещения (корпус, бунгало, и т.д.)
  • звездность отеля
  • тип питания (RO, BB, HB, FB, AI)
  • характеристики отеля
    • линия у моря (если это пляжный отдых)
    • территория
    • attractions (развлечения на территории)

Выделенные свойства являются структурообразующими, и именно по данным свойствам будет строиться будущая структура сайта / раздела.

Первичная проработка структуры

Назначим каждому структурообразующему свойству название (переменную):

  • город вылета = %FROM%
  • страна назначения = %TO_COUNTRY%
  • курорт = %TO_CITY%
  • месяц отдыха = %MONTH%
  • сезон отдыха = %SEASON%
  • звездность отеля = %STARS%
  • тип питания (RO, BB, HB, FB, AI) = %BOARD%

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

Достаточная структура

Как и в предыдущем примере – необходимо изучить основные семантические группы и на базе анализа спроектировать будущую структуру раздела. Достаточная структура для тематики «Туров» может выглядеть так:

  • *.site.ru — город вылета (при наличии многих городов вылета – рекомендуем использовать поддомены)
    • /*TO_COUNTRY*/ — страна назначения
      • /*STARS*/ — категория отеля
        • /*BOARD*/ — тип питания
        • /*SEASON*/ — сезон отдыха
          • /*MONTH*/ — месяц
      • /*TO_CITY*/ — курорт
        • /*STARS*/ — категория отеля
        • /*BOARD*/ — тип питания
        • /*SEASON*/ — сезон отдыха
          • /*MONTH*/ — месяц


Следует учитывать, что каждый узел структуры – должен иметь свой уникальный шаблон генерации контента, текстов и мета-данных.

Источники данных

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

Примеры таких виджетов на сайтах туристических агентств Санкт-Петербурга:

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

Интеграция с виджетами

Как правило, большинство поставщиков «виджетов» позаботились о гибкости своих инструментов, и позволяют настраивать фильтры в формах поиска в зависимости от переданных параметров. Это позволяет выводить на посадочной странице «Туры в Грецию» — заполненный виджет с указанием страны, списком курортов Греции и доступных отелей. Если виджет подключается через IFRAME — это, обычно, осуществляется через набор GET-параметров в ссылке в iframe.

В генерации структуры – отталкиваемся от возможностей фильтрации.

  1. Берем все страны, курорты и другие параметры из формы виджета.
  2. Сохраняем в базу данных нужные значения:
    1. название страны (с падежами);
    2. id страны в системе бронирования;
    3. название города (с падежами);
    4. id города в системе бронирования;
    5. другие параметры, участвующие в генерации структуру (с падежами).
  3. Настраиваем routing (маршрутизацию) на базе собранных параметров.

Дальнейшие действия – идентичны описанному выше примеру:

  1. Реализовываем техническую часть генерации: обработка URL, подстановка соответствующих шаблонов в зависимости от запрошенного адреса;
  2. Настраиваем обработку 404 ошибки при запросе несуществующих параметров.
  3. Настраиваем генерацию мета-данных: title, description.
  4. Прорабатываем шаблон посадочных страниц: инструменты поиска, расположение виджетов.
  5. Прорабатываем шаблоны генерации текстов с использованием переменных из базы данных.

Генерация посадочных страниц в тематике «Туров» позволяет в сжатые сроки реализовать структуру по всем странам, направлениям и курортам, которые вы предлагаете своим клиентам. Если вы не работаете с одним направлением – то ручная проработка подобной структуры на базе одной из CMS – займет большое количество времени, и, как следствие, — приведет к чрезмерным расходам на разработку и копирайтинг. При генерации – вы получаете тысячи страниц, затратив при этом существенно меньшее количество времени.

Преимущества генерации контента

Генерация контента – экономит не только ваше время, но и ваши деньги. Данный способ наполнения сайта отлично подходит для сайтов многих тематик, не только описанных в примерах выше. После реализации основной структуры и проработки шаблонов – регулярно анализируйте количество страниц в индексе поисковых систем, трафик на страницы генерируемого раздела, и при обнаружении недочетов – вносите корректировки в шаблоны генерации. Напоминаем, что для внесения изменений на 10 000 страниц (например, страницы курортов) – вам необходимо будет внести правки только в 1 шаблоне генерации, что существенно экономит ваше время.

Основные проблемы, с которыми вы можете столкнуться

  • Некачественная проработка шаблонов и текстов.
    Может привести к выпадению страниц из индекса по причинам «Недостаточно качественная» (актуально для Яндекса).
  • Чрезмерная глубина генерации.
    Длительная переиндексация изменений при большом количестве лишних сгенерированных страниц.
  • Технические ошибки. Некачественное или неполное ТЗ на разработку функционала (технической части) может привести к появлению огромного количества ошибок: дубли страниц, неверные ответы сервера и т.п.

Советы и рекомендации

Если вы решили реализовать на своем сайте раздел с генерацией, вот несколько рекомендаций:

    1. Не отдавайте проработку шаблона генерации контента сторонним копирайтерам. Если вы решили воспользоваться услугами копирайтера – убедитесь, что копирайтер действительно разбирается в вашей тематике, иначе вы рискуете получить шаблоны с текстами низкого качества, что существенно снизит качество посадочных страниц и отрицательно скажется на их ранжировании в поисковых системах.
    2. Тщательно изучите семантику и спрос, соберите все возможные характеристики вашего продукта или услуги и оцените потенциал генерации.
    3. Не генерируйте отдельные страницы под мНЧ запросы. Большинство мНЧ семантики может быть распределено на промежуточные узлы генерации.
    4. Не начинайте работы по генерации контента с технической части. Первично – анализ семантики, спроса, выделение структурообразующих свойств, и только после этого – техническая реализация генерации (роутинг и проработка шаблонов генерации текстов). При изменении порядка – вы можете обнаружить неучтенные группы семантики позднее, что приведет к изменению логики генерации страниц и обработки URL, и к лишним финансовым и временным затратам.
    5. Постоянный анализ и своевременное внесение корректировок – залог успеха.

А вы уже пробовали генерацию контента? Если да – поделитесь опытом в комментариях. Если у вас есть вопросы на тему генерации контента – пишите в комментариях, а мы постараемся ответить.

80 шаблонов Elementor на WordPress 2020

Один из самых актуальных в 2020 году визуальных конструкторов на WordPress это Elementor — максимальная кастомизация в сочетании с полностью интуитивно понятным оформлением, похожим на работу в редакторе Word или Photoshop. Никакого кодинга и отличные демо, среди которых предлагаем обратить внимание на 80 лучших шаблонов, адаптированных под конструктор Элементор.

Смотрите также: Большой обзор конструктора Elementor. Инструкция 2020 года — открыть статью

Что это значит — WordPress шаблоны под Elementor? Ведь конструктор бесплатный.

Да, базовую версию конструктора можно использовать на любом шаблоне, но у нее ограничен функционал, если вы не используете Elementor Pro . Подборка ниже адаптирована лучше под Элементор, потому что:

  1. Почти у всех шаблонов есть дополнительные виджеты для конструктора, сделанные разработчиками темы;
  2. Все демо-сайты уже собраны на Элементоре и вам будет их легко отредактировать;
  3. Элементы шаблона адаптированы под Elementor, это меню, карточки товара, вывод статей, подвал, чтобы вы могли удобно их отредактировать и использовать.

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

Подборка из 80-ти шаблонов, адаптированных для конструктора Elementor на WordPress, актуальные в 2020 году

Универсальные шаблоны Elementor

1. Phlox Pro — Крутые демо на разные тематики

Конструктор Elementor, использующийся в этом универсальном шаблоне, позволит сделать современные элегантные лендинги, легко расширяемые до более крупных сайтов. Авторы отмечают, что их работа понравилась почти 7 тысячам покупателям. Включено несколько готовых симпатичных разработок с интересным дизайном под множество тематик — от магазина одежды до ветеринарной клиники.

2. Jupiter — Самый продаваемый шаблон Elementor

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

3. Kalium

Профессиональный шаблон для интернет магазина с хорошей комплектацией:

  • несколько готовых хоумпейдж;
  • бесплатные пожизненные обновления;
  • визуальная настройка плагином Элементор;
  • есть настройки слайдеров, форм;

Мультиязыковая поддержка делает интернет шаблон совершенно универсальным для любой тематики и любого региона.

4. Monstroid2 — Самый популярный шаблон TemplateMonster

Самый популярный шаблон из подборки TemplateMonster. Снабжен удобной админ панелью, помимо визуального конструктора предлагающий настройки эффектов и слайдеров. Установлен плагин максимально быстрой загрузки. Подойдет для продающего сайта — landing page, также в роли персонального блога или блога компании. Всего в комплекте более сорока удобных модулей дизайна.

5. Media Consult — Бизнес, финансы

Адаптированный под мобильные гаджеты темплейт с тематикой бизнеса и финансовых услуг. Хорошо будет смотреться в роли сайта визитки компании. Входят:

  • плагин «Калейдоскоп» — быстрая настройка цвета;
  • удобная функция поиска;
  • возможность интеграции с соцсетями для фиксирования отзывов;
  • функционал рассылки по электронной почте.

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

6. Hoteller — Отель, гостиница

Актуальная в 2020 году подборка WordPress шаблонов для гостиниц, хостеров. Есть несколько базовых вариантов для:

  • городского отеля;
  • отеля повышенной роскоши (лакшери);
  • пляжного;
  • горного отеля;
  • съемной квартиры.

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

7. Ivy School — Обучение + доп функционал

Адаптивная WordPress theme для образования в любой сфере — от визитки учебного заведения до онлайн-курсов. Более 36 тысяч покупателей по достоинству оценили хороший дизайн, удобство настройки и оптимизированность SEO этого темплейта. Красивые готовые страницы нуждаются в минимальной доработке, можно просто заменить только текст, сохраняя нейтральные тематические картинки. Больше шаблонов с системой LMS для образовательного сайта тут.

8. Bitunet — Криптовалюта

Шаблон Internet Shop криптовалюты, где есть отслеживание актуального курса интересующих предложений. Кроме того:

  • Несколько готовых скинов, полностью тематичных;
  • Счетчики обратного отсчета — повышают конверсию заказов;
  • Плагины графики для мониторинга.


Через функционал такого сайта можно будет продавать криптовалюту напрямую либо просто отслеживать поведение интересующего номинала на бирже. Еще шаблоны про крипту.

9. BeClinic — Клиника, пластическая хирургия

Тема рассчитана, в первую очередь, на клиники — стоматологические, общего профиля, косметологические. Однако поскольку конструктор Элементор дарит огромные возможности настроек, то темплейт смело можно называть мультицелевым. Во всех вариантах сохраняется полная адаптивность и удобство использования готового сайта как владельцем, так и посетителями.

10. Arteon

Шаблон под управлением конструктора Элементор отличается универсальностью, поскольку предлагает:

  • очень большую коллекцию красивых дизайнов — уже созданных страниц в разных стилистиках;
  • функционал для размещения портфолио;
  • более 500 опций настроек;
  • есть возможность вести блог, стилизованный под плиточный дизайн.

Вне зависимости от изменяемых деталей, результат хорошо выглядит в мобильных браузерах.

11. Total

Более 36 тысяч покупателей оценили темплейт под Вордпресс. Это универсальный мультишаблон с почти сотней полностью разработанных демо, которые можно без труда поменять при необходимости — частично или полностью. Функция «живых тем» позволяет настраивать цветовые схемы и слайдеры буквально за несколько секунд. Каждая страница будет оптимизирована под SEO.

12. Imperion — Бизнес тематики

Удобный мультишаблон с многоцелевой тематикой и полным переводом на русский язык, который предлагает:

  • комплект основных плагинов — помимо визуального конструктора Элементор;
  • подборку приятных landing page по разным темам;
  • много настроек карусели, слайдеров, текста;
  • простая кастомизация.

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

13. KLEO — форум, комьюнити на BuddyPress

Известный в среде поклонников Вордпресс шаблон BuddyPress, заслуживший внимание более 16 тысяч покупателей благодаря отличному удобному функционалу и легкости настроек под универсальные тематики. Также стоит обратить внимание на яркие запоминающиеся дизайны, сделанные настоящими профи своего дела — они и служат причиной того, что подборка пользуется вниманием владельцев и разработчиков сайтов.

14. Qudos

Мультишаблон привлекает стильными демо, особенно актуальными в 2020 году, а также предлагает все нужное:

  • совместимость с последними версиями WordPress;
  • полную респонсивность, учитывающую мониторы Retina;
  • более 500 Google-шрифтов;
  • оптимизацию SEO.

Все это отлично работает и настраивается с помощью интуитивно понятного конструктора.

15. Zayne — Консалтинг

Корпоративная разработка для бизнеса, компаний, занимающихся финансами. Предлагается несколько неплохих вариантов готовых страниц, хорошо смотрящихся на компьютере и мобильном телефоне. Все детали настроек можно регулировать в онлайн режиме по системе Drag and Drop. Полностью совместимо с торговой площадкой WooCommerce, благодаря чему идеально подходит для интернет шоппинга.

16. Real Homes — Агенство недвижимости

Приятная разработка для агентств по продаже недвижимости. Оценили более 18 тысяч пользователей, поэтому стоит присмотреться и обратить внимание не только на удобную админ панель для владельца, но и возможность регистрации, поиска и других функций для потенциальных клиентов. Подключен плагин Google-карт, мультиязыковая поддержка позволит без проблем вводить кириллические тексты.

17. Medical & Dentist — Медицина

Несложный, но приятный лендинг для тематики медицины и стоматологии. Авторы гарантируют:

  • быструю загрузку;
  • удобство онлайн-изменения дизайна или добавления опций;
  • 10 хедеров и 20 футеров;
  • более 600 шрифтов Google.

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

Подборка по теме: 25 шаблонов для сайта медицинской тематики » Смотреть

18. DynamiX

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

19. Auto Repair & Car Mechanic — Авто ремонт

Тематическая разработка под ремонт машин, которая подойдет и под множество близких тематик благодаря:

  • нескольким универсальных демо на автотематику;
  • оперативной поддержке клиентов с помощью расширенного плагина обратной связи;
  • множеству опций настроек хедеров, футеров, внутреннего устройства.

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

20. WizeFit — Фитнес, спортивный клуб

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

Лендинг шаблоны на конструкторе Элементор

21. Agmycoo — Digital агенство

Прогрессивный изометричечкий дизайн шаблона делает его идеальным для посадочных страниц и портфолио. Всего предлагается:

  • 20 образцов страниц;
  • 105 дополнительных страничек;
  • 350 блоков.

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

22. Mann — Конференции, мероприятия

WordPress шаблон для конференций и ивентов, удобный за счет возможности заблаговременной регистрации и сбора заявок от участников. Более 30 тысяч покупателей оставили высокие оценки. Не требуется знание кодинга для настроек темплейта, в комплекте предлагаются все служебные картинки, при желании, их можно заменить собственными. Подключен полезный виджет Google-карт, чтобы можно было легко сориентироваться.

23. Consultancy — Бизнес, финансы

Проверенное качество и более тридцати тысяч клиентов оценили возможности темплейта. Среди них такие:

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

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

24. Nex — Завод, предприятие, строительство

Нишевый продукт для производства, заводов. Скомбинирован с платформой онлайн продаж WooCommerce, что позволяет сразу же продавать за счет лендинга. Удобный конструктор Элементор поможет настроить все нюансы в визуальном редакторе. Поддерживает огромное количество плагинов, слайдеров, дополнительных опций. По функционалу — гибрид online shop и landing page, актуальная в 2020 году комбинация.

25. Morz — Логистика, Доставка

Удобная заготовка для компаний по логистике и перевозке. Стоит оценить следующие приятные особенности:

  • спецплагин для портфолио — его можно использовать для описания услуг, с помощью которых осуществляется доставка;
  • продвинутые формы обратной связи;
  • интеграция с соцсетями;
  • виджет трекинга посылок или грузов.

С помощью приятно оформленного лендинга будет легко убедить потенциальных клиентов в ответственности и надежности компании.

Подборка по теме: 15 шаблонов для сайта логистики 2020 » Смотреть

26. Clany — Клининг

Подборка отличных темплейтов с модным флэт-оформлением для компаний, занимающихся услугами химчистки или клининга. Понятный дизайн легко настроить и кастомизировать. Предлагаются собственные кнопки и опции, которые можно настроить для того, чтобы добиться максимальной индивидуальности веб-страницы. Готовый сайт будет хорошо смотреться в мобильных приложениях, удобные формы позволят быстро сделать заказ. Еще 15 шаблонов на тему клининга смотрите тут.

27. vApp — Сайт для приложения

Заготовка для лендинг пейдж предназначена под раскрутку мобильных приложений. Актуальный яркий дизайн не отвлекает от основной задачи — описания возможностей, продемонстрировать которые можно будет с помощью видео, описаний, слайдеров с картинками. Всего предлагается 29 заготовок. Посадочная страница предусматривает прямые ссылки на Google Play и AppStore, за счет которых можно будет сразу же купить и загрузить приложение.

28. Restaurant Cafe — Ресторан, кафе

Эстетически привлекательная разработка для кафе или ресторана. Белый фон смотрится особенно роскошно, особенно если сочетать с фотографиями блюд. Также в комплекте:

  • респонсивность всех блоков предусмотрена кодом;
  • быстрая загрузка;
  • более 30 страниц — внешних и внутренних;
  • более 55 цветотем;
  • 100+ опций настроек хедеров, футеров и других элементов меню.

Можно размещать «блюда дня» и другие специальные акционные предложения для потенциальных посетителей.


29. Caverta — Ресторан

Еще один отличный темплейт для ресторанов, который одинаково хорошо подойдет для пиццерии и заведения с высокой кухней. Базовая заготовка лендинга выполнена в нейтральном стиле с акцентом на главной странице и картинке. Всего предлагается четыре варианта, но все они мгновенно меняются за счет удобного визуального плагина Элементор. Включен спецвиджет для «живого портфолио» с демонстрацией блюд.

30. Hostinza — Хостинг услуги

Чистый изометрический дизайн разработки под хостинговую компанию выглядит современно и вызывает доверие профессионалов в сфере IT. Дизайн простой, нейтральный, вместе с тем, приятный и достаточно запоминающийся. Внутри несколько подготовленных страниц, каждая из которых оптимизирована под поисковые системы. Адаптивность на мобильных устройствах сохраняется при любых изменениях дизайна.

31. Beauty Salon Spa — Салон красоты

Приятный тематический темплейт под посадочную страницу салона красоты. Предлагается:

  • пять готовых дизайнов;
  • бесконечное число цветовых настроек;
  • возможность оставить заявку онлайн на услуги.

Управляется конструктором Elementor, который редактирует все блоки без использования кодинга, в том числе, подключает дополнительные опции, слайдеры, настройки анимации. Любой сможет добиться максимально привлекательного вида сайта.

32. Pur — SPA, массаж

Нежная красивая WordPress theme под SPA-салон, массажные услуги. Авторы гарантируют пожизненную поддержку, более 30 тысяч довольных покупателей подтверждают качество разработки. Включена возможность выбирать услуги по комплектам, делать акции и другие специальные предложения. Быстрая загрузка за счет чистого оптимизированного кода, все шрифты полностью адаптированы под кириллицу.

33. Restaurant — Ресторан, доставка пиццы

Еще одна «ресторанная» заготовка, предназначенная для пиццерии и онлайн-заявок. В комплекте:

  • шесть тематических аппетитных демо;
  • три варианта представления меню;
  • интеграция с WooCommerce для онлайн-оплаты заказов;
  • три заготовки под контактные формы.

Устанавливается карта из Google Maps, причем, ее внешний вид можно подогнать под цветовую схему шаблона.

34. Alis — Шаблон свадебной тематики

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

35. Zohar — Бизнес консалтинг

Несколько отличных лендингов в бизнес тематике. Примечательно разностилевое оформление, среди хоумпейдж каждый сможет выбрать то, что ему больше нравится. Все заготовки выполнены с использованием конструктора Elementor, благодаря чему настройка не требует никаких познаний в веб-программировании. Есть интеграция WooCommerce для онлайн продаж и шоппинга.

36. Escapium — Квест комната

Эффектный шаблон, который пригодится для модного развлечения — «живых квестов». Авторы предлагают обширную подборку дизайнов в темном эффектом стиле, каждый дизайн отражает суть будущей игры. При желании, всегда можно поменять картинки на собственные. Установка проводится одним кликом. Поддерживается более 700 Google-шрифтов. Есть плагин Booked для резерва времени под конкретное проведение игры.

37. BuildWall — Строительство

Русифицированная тема Вордпресс для темы «строительство», строительных компаний. Помимо переведенной документации:

  • включены основные плагины — от визуальной настройки до отправки форм;
  • можно подключить интернет магазин;
  • 50 вариантов дизайна;
  • 11 полностью готовых хоумпейдж.

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

38. JohnnyGo — Услуги домашнего ремонта

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

Шаблоны для интернет магазина WordPress

39. Marketo — Универсальный магазин

Универсальный интернет магазин под WordPress с максимально задействованной торговой площадкой WooCommerce. В комплекте:

  • семь готовых разработок под разные темы;
  • современные стили хедеров и футеров;
  • возможность поддержки любого языка.

Основная особенность — мощные возможности интернет шоппинга с детальным поиском и подгрузкой большого количества любых товаров с разными опциями.

40. Electro Electronics Store — Магазин электроники

Подборка удобных шаблонов для крупных и средних интернет магазинов. Основываются на сетке с плагином Bootstrap, которая автоматически адаптируется под мобильные устройства. Мощный поиск по категориям и отдельным товарам. Есть несколько вариантов демо, которые выполнены в ярком флэт-дизайне. Готовый магазин будет смотреться профессионально, привлекательно и предъявлять товары в лучшем виде.

41. Ozisti — Магазин мебели

Мультицелевой шаблон с продвинутыми торговыми функциями, актуальный в 2020 году за счет следующих преимуществ:

  • онлайн переключатель валюты;
  • возможность добавления вишлиста и сравнения товаров;
  • интерактивный поиск.

Есть опции ведения блогов с рекомендациями, советами, вставкой фото в виде слайдеров и видео. Всего подготовлено 9 хоумпейдж.

Подборка по теме: 10+ тем для магазина мебели » Смотреть

42. Zoa — Магазин с минималистичным дизайном

Универсальный магазин с минималистичным ярким дизайном. Подойдет под продажи в стиле лендинга, когда нужно сделать акцент на конкретном товаре и описать его возможности и преимущества. Шаблон интегрирован с системой WooCommerce, за счет чего легко проводить онлайн-платежи. Можно расширить до мультимагазина, товары будут показываться в модном блочном дизайне.

43. Soma — Простой магазин

Магазин с очень простым оформлением будет эффективен для того, чтобы не отвлекать посетителей от особенностей товара. Шаблон позволяет загружать качественные фото, видео, демонстрировать изображения с многократным увеличением. Отлично подойдет под всевозможные специальные предложения — купоны, акции, скидки, поскольку в темплейт уже встроен подобный функционал.

44. Frido — Магазин одежды

Симпатичная разработка под WooCommerce, которая предложит своему покупателю:

  • 7 минималистичных демо, полностью адаптивных и респонсивных;
  • ускорение загрузки уже предусмотрено;
  • много настроек поиска по опциям товаров — цвет, размер, производитель;
  • Ajax-фильтр для точной подборки интересующих товаров.

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

45. Crowdmerc — Краудфандинг

Платформа для краудфандинга и финансирования с подходящими адаптированными плагинами, среди которых возможность в онлайн-режиме отслеживать сколько было внесено средств, сколько осталось. Есть возможность при помощи расширенных опций благодарить каждого «патрона» и делать ему персональные награды, например, возможность первому скачать приложение, на которое собирается краудфандинг.

46. Chromium — Автозапчасти

Несложный, но симпатичный лендинг по продажу автозапчастей. Дизайн не отвлекает от основной задачи. Предлагается интеграция с WooCommerce, в том числе, все фильтры по моделям, цвету и другим необходимым параметрам. Авторы гарантируют своевременную поддержку и постоянное обновление темы. Использование конструктора Элементор делает очень простой настройку. Еще 12 шаблонов магазина автозапчастей.

47. Mayosis — Продажа цифровых товаров

Яркая тема для онлайн-торговли с оригинальным привлекающим внимание дизайном. Также авторы обещают:

  • возможность размещать фото и видео в неограниченном количестве с удобными слайдерами прокрутки;
  • много интересных виджетов, например, «до-после»;
  • графические анимации и эффекты;
  • всего более 20 вариантов дизайна.

Продажи можно осуществлять в режиме онлайн, используя любую валюту.

48. Xing

Очень простой и ненавязчивый по дизайну, но удобный по функционалу интернет магазин. Предусмотрена онлайн оплата, огромное количество опций поиска — по категориям, нюансам товаров, размерам, цветам. Дизайн респонсивен и адаптирован под Retina. Авторы гарантируют, что шаблон будет постоянно обновляться, а также круглосуточную поддержку и помощь в настройках.

Шаблоны для блога с Elementor

49. Zeen — Много демо на разные тематики

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

50. TheBlogger — Много демо блогов

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

  • подборку минималистичных дизайнов;
  • возможность размещать фото и видео с прокруткой;
  • интеграцию с WooCommerce;
  • широкие настройки шрифтов.

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


51. Avventure — Блог путешественника

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

52. Tribe Coach — Коуч, женский инфобизнес

Темплейт Вордпресс под коучинг, женский инфобизнес. Дизайн соответствует тематике, одновременно являясь приятным для чтения, не отвлекающим от содержания текстов. Есть возможность публикации большого количества фотографий за счет слайдера-карусели. Предлагается более 600 шрифтов Google и собственная документация для упрощения настроек.

53. Muzak — Блог про музыку

Яркий шаблон WordPress для музыкального блога. Предлагается оценить такие возможности:

  • управление ивентами — концертами, выступлениями с возможностью заранее приобрести билеты на интересующее событие;
  • возможность подключать плейлист в виде аудиофайлов;
  • опция онлайн продаж;
  • расширенные варианты слайдеров для фото и видео.

Все вместе выглядит ярко, интригующе. Конструктор Elementor поможет максимально кастомизировать шаблон.

54. Viseo — Видеоблог

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

55. VidoRev — Видеоблог на WordPress

Еще одна тема с акцентом на воспроизведении видео, в том числе, потокового. Ускоренная загрузка с помощью предварительно установленного плагина поможет сэкономить трафик посетителей. Дизайн несложный, зато не отвлекает от основной цели. Прекрасно выглядит в мобильной версии. Интегрируется с соцсетями и облачными сервисами.

56. Overflow

Современный журнал с удобным функционалом:

  • Много концептуальных демо в одной теме;
  • Визуальные настройки сетки;
  • Возможность установки видео-бэкграунда.

Ориентирован в равной степени на визуальные блоги и на текстовые лонгриды. Владельцы могут обращаться к авторам за консультацией в любое время. Есть SEO-оптимизация.

57. Lahanna — Блог про еду

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

Подборка по теме: 30 кулинарных шаблона на Вордпресс » Смотреть

58. News247 — Новостной сайт

Обновленная тема для новостного блога WordPress подойдет как небольшим ресурсам, так и для крупных новостных порталов. Можно разбивать информацию по рубрикам, выносить самое интересное в «горячие» события. Удобный ненавязчивый дизайн не отвлечет внимания посетителя от основной темы. Генерация URL идет с сразу под SEO-адаптацию. Еще 50+ новостных шаблона на разные тематики.

59. Efor — Шаблон для сайта на тему коучинг

Более 22 тысяч пользователей оценили этот шаблон. Особенно привлекательными выглядят следующие особенности:

  • онлайн-продажа и «упаковка» предложений по курсам;
  • множество демо-страниц;
  • оптимизация под поисковики;
  • импорт в один клик.

Несколько симпатичных дизайнов и удобный функционал за счет онлайн-настроек без необходимости разбираться в коде страниц.

60. Vinkmag

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

Шаблоны для портфолио на Elementor

61. Rhodos — Демо на разные тематики портфолио

Универсальный шаблон под портфолио предлагает:

  • 10 нишевых скинов;
  • быструю загрузку;
  • большое количество модулей и шорткодов;
  • плагины для ивентов, рассказа о команде.

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

62. Nanum — Digital агенство

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

63. ShiftCV — Визитка

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

64. Aurel Photography — Много демо фото тематики

Мультишаблон для фотографов, в котором предлагается оценить:

  • 160 вариантов размещения альбомов;
  • Приятные дизайны, каждый индивидуальный;
  • Виджеты, демонстрирующие «до и после» в прокрутке.

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

65. Framed Photography — Фото

Еще один интересный темплейт для портфолио фотографа, где авторы рекомендуют размещать работы в блочной стилистике, имитируя популярный режим Инстаграма. При клике фотографии будут увеличены, но защищены от скачивания. Просматривается очень комфортно на телефонах и планшетах. Еще 30+ тем для фото сайта.

66. Mango — Черно-белое портфолио

Стилизованное черно-белое портфолио для дизайнеров и людей, которые хотят выделиться на фоне многочисленных предложений. Также стоит отметить:

  • много настроек и опций внутри темы;
  • возможность размещать портфолио в разных вариантах;
  • установку в один клик;

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

67. Thorium — Портфолио фрилансера

Удобный и легкий вариант для фрилансера. Привлекательность гарантируется за счет собственной отрисовки векторных элементов, которые входят в стоимость. Настройки можно менять в онлайн-режиме. SEO-оптимизация включает не только текст, но и картинки, видео. Поддерживается функция торговли через интернет.

68. Seocify — СЕО и маркетинг агенство

Подборка ярких темплейтов для SEO-агенства. Помимо основных функций — адаптивность, визуальные настройки, есть удобная функция портфолио, которая поможет показать в виде инфографики достижения компании или фрилансера и, тем самым, привлечь потенциальных клиентов за счет наглядности.

69. Portfolio — Фото

Дизайнерская разработка для фотографов и дизайнеров предлагает:

  • 10 отличных хоумпейдж;
  • возможность максимального акцента на работах при минималистичном дизайне;
  • подключение блога;
  • мультиязыковую поддержку.

Заготовка отличается яркостью и одновременно простотой, всегда можно поменять детали с помощью удобного конструктора.

70. Bifrost — Минимализм

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

71. Architecturer — Дизайн интерьера

Легкий и ненавязчивый темплейт для интерьерных дизайнеров и архитекторов. Поможет не только представить работы, но и показать чертежи, чтобы потенциальные заказчики посмотрели, как понравившийся вариант будет смотреться в их квартирах или домах. Всего 11 вариантов размещения портфолио, тонкая кастомизация через админ-панель. Еще 20 крутых вариантов для дизайна интерьера.

72. Selfer — Персональное портфолио

Заготовка для индивидуальной визитки, резюме с функционалом:

  • 18 встроенных виджетов под Элементор;
  • черновики для постов, фото, видео;
  • поддержка GIF-изображений;
  • продвинутые функции блога.

Подойдет для коучей, фрилансеров и других типов индивидуальной самопрезентации.

73. Tattoo — Тату


Более 30 тысяч покупателей выбрали этот шаблон для сегмента татуажа за счет удобного размещения фотографий с функцией увеличения просмотра, адаптивности под мобильные браузеры и приятного дизайна, который не станет смотреться чересчур навязчиво. Отличный способ продемонстрировать свою работу.

74. Landscaping — Органика

Шаблон для ландшафтного дизайнера в приятной бело-зеленой стилистике включает:

  • совместимость с WordPress0;
  • собственные тематические иконки;
  • большую подборку удобных плагинов и виджетов.

Есть интеграция с соцсетями, которая позволит собрать отзывы и постить новинки из Инстаграм или в него.

75. Dendrite

Мультицелевая подборка с разными дизайнами, среди которых каждый найдет подходящий. Огромное количество опций для размещения информации — фото, видео, аудио, инфографика. Можно делать рекламные посты благодаря функции «цитаты», которая не будет индексироваться и уменьшать позиции в поисковых системах.

76. Mozo — Музыкальная тематика

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

77. Dixie — Подкаст и аудио

Несложный по дизайну, зато удобный вариант для подкастера:

  • поддержка основных форматов видео и аудио на сторонних сайтах;
  • специальные слайдеры и настройки перемотки;
  • оптимизация SEO.

Отличительная особенность, что можно размещать любую информацию сразу — и аудио, и видео, и фото. Все открывается на любых девайсах.

78. Muse — Музыка

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

79. Portfolio — Фотогалерея

Семь вариантов для размещения портфолио фотографа позволяют наилучшим образом продемонстрировать свои работы. Дизайн несложный, но это помогает сконцентрироваться на основе сайта. Есть варианты «упакованных предложений» с призывом к действию, что пригодится для фотографа, который проводит сессии.

80. Centaurus

Элегантный черно-белый шаблон на стыке между интернет магазином, сайтом визиткой и портфолио. Можно одновременно продавать, показывать и рассказывать о себе, в том числе, с помощью ведения блога. Интеграция с WooCommerce упрощает продажу, а виджеты соцсетей — общение и сборы отзывов.

Конструктор Элементор — один из самых «продвинутых» вариантов создания сайта без необходимости углубляться в веб-кодинг. Универсальность заключается еще и в том, что каждый элемент можно разработать с максимальной детализацией, добиться идеального результата, pixel perfect.

Есть вопросы по премиум шаблонам? Я подготовил для вас статью с ответами на частые вопросы по премиум темам (покупка, настройка и пр.). Статью можете изучить по ссылке.

Какой шаблон вам больше понравился? Напишите в комментариях.

Введение в Template Toolkit.

Оглавление


  • Template.pm
  • Построение контента из компонентов
  • Связь между кодом и данными
  • Расширенные возможности: фильтры, макросы, исключения, плагины
  • Разделение представления и логики приложения
  • Характеристики

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

Template Toolkit — это набор модулей, которые составляют быструю, гибкую, мощную и расширяемую систему по обработке шаблонов. Она первоначально разрабатывалась и остается наиболее полезной для генерации динамического контента web-сайта, но также эффективно может использоваться для работы с любыми текстовыми документами. Например, вся POD-документация этого модуля была подготовлена с помощью утилиты ttree .

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

По умолчанию, директивы шаблона заключены в последовательность символов ‘[%’ . ‘%]’, но вы можете изменить эту и ряд других настроек, чтобы повлиять на поведение и работу Template Toolkit. Например, вы можете установить опцию INTERPOLATE, если вы предпочитаете использовать в шаблоне переменные в стиле Perl:

Template.pm

Template.pm — фронтенд к Template Toolkit, предоставляющий доступ ко всему спектру возможностей библиотеки через один модуль с простым интерфейсом. Он загружает все остальные необходимые модули и инициализирует группу объектов для обработки последующих запросов на обработку шаблонов. Параметры конфигурации можно передать конструктору new() модуля Template.pm, после этого они будут использованы для конфигурации основных объектов.

Объект Template предоставляет метод process() для обработки файлов шаблонов или текста. В качестве первого аргумента этому методу передается имя файла входного шаблона (или другой источник), следом передается ссылка хэш с определениями переменных для подстановки в шаблоне.

Метод process() возвращает истинное значение (1) в случае удачного завершения и отправляет результат обработки шаблона на STDOUT (по умолчанию). В случае ошибки метод возвращает неопределенное значение. После этого можно вызвать метод error(), который возвращает детальное описание ошибки.

Построение контента из компонентов

Несколько специальных директив (таких как INSERT, INCLUDE и PROCESS) позволяют строить контент из меньших шаблонов-компонентов. Это позволяет использовать модульный подход для создания веб-сайта или другого набора контента, основными достоинствами которого являются: возможность повторного использования компонентов, поддержка целостности внутри сайта, простота проектирования и последующей поддержки. Общие элементы, такие как шапки, подвалы, меню, таблицы и т.д., могут быть созданы в виде отдельных файлов-шаблонов, которые затем могут быть обработаны и включены в другие документы. Все определенные переменные наследуются этими шаблонами и могут быть использованы наряду с любыми другими указанными «локальными» переменными.

Также можно определить шаблон с помощью директивы BLOCK внутри файла и включать его с помощью PROCESS, как это делатеся с любым другим шаблоном-файлом. Это может пригодиться для построения повторяющихся элементов, например таблиц, меню и т.д.

Связь между кодом и данными

Одна из ключевых возможностей, которая выделяет Template Toolkit среди прочих процессоров шаблонов, — это возможность связывать переменные шаблона с любым видом данных Perl: скалярами, массивами, хэшами, функциями и объектами.

Template Toolkit самостоятельно определит, каким образом следует получить соответсвующую переменную и подставит ее значение в шаблон. Операция ‘.’ используется для того чтобы получить доступ к элементам массивов или хэшей или для вызова методов объектов. Директива FOREACH используется для циклических операций с массивами, а для различных логических операций используются такие директивы как IF, UNLESS, ELSIF, ELSE, SWITCH, CASE и т.д.

Расширенные возможности: фильтры, макросы, исключения, плагины

Template Toolkit также предоставляет ряд дополнительных директив для более сложной обработки и возможности программирования. Модуль поддерживает выходные фильтры (FILTER), позволяет делать макроопределения (MACRO), содержит полноценную систему обработки исключений (TRY, THROW, CATCH, FINAL) и поддерживает архитектуру плагинов (USE), которая позволяет подгружать и использовать с минимальными затратами специальные модули-плагины и даже обычные модули Perl. Template Toolkit «всего лишь» процессор шаблонов, но вы можете легко расширить его, объединив с функциональностью любого модуля Perl. Таким образом, это также масштабируемая и расширяемая основа, идеально подходящая для управления слоем представления для серверов приложений, систем управления контентом и других веб-приложений.

Разделение представления и логики приложения

В отличие методов, использующих включение perl-кода или кода других языков сценариев непосредственно в документы-шаблоны, Template Toolkit поддерживает возможность хранить функциональные компоненты (то есть perl-код) в отдельности от компонентов представления (например, HTML шаблонов). Переменные шаблона обеспечивают интерфейс между двумя слоями, позволяя либо генерировать данные в коде и затем передавать их в шаблон для вывода (модель канала — pipeline model), либо связывать функции или ссылки на объекты с переменными, которые затем могут быть вызваны из шаблона в случае необходимости (модель вызова — callback model).

Директивы, которые предоставляет Template Toolkit, составляют собственный небольшой язык программирования, но в действительности они не разрабатывались для серьезного программирования общего назначения. Для этих целей больше подходит Perl. Если вы включаете логику приложения (например, фрагменты кода Perl или другого языка сценариев) в HTML шаблон, вы рискуете потерять четкое разделение между функциональностью и представлением. Становится сложнее изолировано поддерживать два этих элемента и гораздо сложнее, а часто и невозможно использовать код или само представление повторно. Гораздо лучше писать кож приложения в отдельных модулях, библиотеках или скриптах Perl, а затем использовать шаблоны для того чтобы управлять представлением результирующих данных. Таким образом, язык Template Toolkit следует рассматривать как набор директив для управления видом вывода данных, но не для их вычисления.

Тем не менее следует сказать, что Template Toolkit не навязывает вам тот или иной подход. Он оставляет выбор лучшего пути для решения задачи вам. Так, если вы установите опцию EVAL_PERL вы сможете спокойно включать perl-код в ваши шаблоны, заключая его между директивами PERL . END.

Характеристики

Template Toolkit использует быстрый синтаксический анализатор, подобный YACC, который компилирует шаблоны в perl-код для достижения максимальной эффективности во время исполнения. Также он имеет развитый механизм кеширования, который управляет скомпилированными шаблонами в памяти и на диске (т.е. долгоживущими — persistent). Модули, которые составляют библиотеку очень гибко настраиваются и архитектура, вокруг которой они построены, разработана с возможностью ее расширения. Template Toolkit предоставляет мощный каркас, вокруг которого можно строить сложные системы по созданию и доставке контента, и в то же время для широкого использования предоставляет простой интерфейс модуля Template.

Извлечение текста из контента с использованием HTML Slot, HTML Template и Shadow DOM

Дата публикации: 2020-03-19

От автора: названия глав в книгах, цитаты, ключевые слова в статье, статистика в отчете — это все типы контента, который может быть выделен и превращен в краткое изложение того, что важно. Например, вы видели, как Business Insider предоставляет ключевые моменты статьи перед тем, как перейти к содержанию?

Это то, что мы собираемся сделать, но мы попробуем извлечь основные моменты непосредственно из статьи, используя Template и Slot HTML, а также Shadow DOM.

Эти три основные спецификации обычно используются как часть веб-компонентов — полнофункциональных модулей пользовательских элементов, предназначенных для повторного использования на веб-страницах. Для нашей задачи не нужно использовать пользовательские элементы, мы можем применить эти три технологии.

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

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Причина в том, что использование этих технологий позволяет нам получить предустановленный код разметки (также, необязательно, стиль или скрипт) для нашего извлеченного текста в HTML. Мы рассмотрим это ниже. Теперь, в качестве очень упрощенного определения технологий, которые мы будем использовать, я бы сказала:

Шаблон представляет собой набор разметки, который может быть использован повторно на странице.

Слот является заполнителем для назначенного элемента со страницы.

Shadow DOM является деревом DOM, которое на самом деле не существует на странице, пока мы не добавим его с помощью скрипта.

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

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

У нас есть семантический section с ul, в котором будет размещаться список ключевых моментов. Затем у нас есть template для элементов списка, который имеет два элемента li: один со заполнителем для ключевых моментов из статьи, а другой с центрированным элементом дизайна.

Макет произвольный. Что действительно важно, так это место slot, куда будут извлечены ключевые моменты. Все, что внутри template, не будет отображаться на странице, пока мы не добавим его на страницу с помощью скрипта.
Кроме того, разметка внутри template может быть стилизована с использованием встроенных стилей или CSS, заключенного в style:

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Самое интересное! Давайте выберем ключевые моменты из статьи. Обратите внимание на значение атрибута name для slot функции template (keyPoints), потому что нам это нужно.

Ключевые моменты обернуты в span, содержащий значение атрибута slot («keyPoints»), соответствующее name в заполнителе slot внутри template. Также обратите внимание, что я добавил еще одну внешнюю оболочку ключевых моментов span.

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

Таким образом, если мы сопоставляем этот один slot внутри template со всеми элементами span с одинаковым значением атрибута slot (наши ключевые моменты) в абзаце или всей статьи, мы в конечном итоге получим только последний ключевой момент в абзаце или статье вместо slot.

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

Сначала мы перебираем каждый атрибут span с атрибутом slot и получаем копию его родителя (внешнего span). Обратите внимание, что мы могли бы также перебрать через цикл внешние span, задавая им общее значение class.

Затем внешняя копия присоединяется к теневому дереву (span.attachShadow), составленному из клона содержимого шаблона (keyPointsTemplate.cloneNode(true)).

Это «вложение» приводит к тому, что внутренний элемент slot шаблона списка в теневом дереве поглощает внутреннюю часть span, содержащую имя соответствующего слота, то есть наш ключевой момент. Ключевой момент слота затем добавляется в раздел ключевых моментов в конце страницы (keyPointsSection.appendChild(span)). Это происходит со всеми ключевыми моментами.

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

Что вы думаете об этой технике? Это будет полезно для блогов, новостных статей или даже статей Википедии? Какие еще варианты использования вы можете придумать?

Автор: Preethi

Редакция: Команда webformyself.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Template toolkit: для чего это нужно?

У меня есть, возможно, странный вопрос, который я просто не могу не задать, поскольку пришлось столкнуться с ЭТИМ, и оно меня удивило, так что нужно с кем-нибудь поделиться.

Оно встраивает в веб-страницы свой птичий язык, генерирующий части веб-страниц.

ОК. Но я только одного не могу понять: а в чём проблема делать то же самое просто из нормального кода на Perl?

Собственно, с шаблонизаторами сталкиваюсь часто, и если для меня как для сторонника концепции веб-приложения (максимум JavaScript, просящего сервер о различных услугах AJAX’ом) — генерация HTML’я на стороне сервера представляется немного удивительной, то шаблонизаторы вообще ломают мой мозг напрочь.

Ладно бы там можно было как в редакторе форм создать кнопку и задать ей свойство «овальная с коэффициентом 0.78», но ведь шаблонизаторы по сути не дают возможность уйти в своём понимании от б-гомерзкого HTML’я, они типа облегчают его генерацию. Ног в чём облегчение, если генерируется всё это тем же «языком программирования», из тех же HTML-тэгов.

http://www.template-toolkit.org/about.html
Тут в принципе всё написано в Introduction и Features.

Облегчение в том, что в коде будут отсутствовать многочисленные вставки аля ‘<><><><><> <><><>‘. И разработку шаблонов можно отдать третьим лицам, ничего не знающих о перле и твоих исходниках.

С моей точки зрения шаблонизаторы нужны для разделения зоны ответственности и для организации «этической инфраструктуры».

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

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

для меня как для сторонника концепции веб-приложения (максимум JavaScript, просящего сервер о различных услугах AJAX’ом) — генерация HTML’я на стороне сервера представляется немного удивительной

В такой концепции генерация HTML’я на стороне сервера тоже имеет смысл: генерить статический контент, который параметризуется в процессе «компиляции» сайта.

Было бы здорово, если бы оно оперировало универсальными категориями: «таблица», «рисунок», «параграф», а потом гененировало из этого то, что я закажу. Например, если там таблица, а в ней всё остальное — это может быть и xls, и html и sql-statements на выходе.

Но если я не ошибаюсь, то как раз всякие разные doxygen’ы этим как раз и занимаются.

Оно встраивает в веб-страницы свой птичий язык, генерирующий части веб-страниц. Но я только одного не могу понять: а в чём проблема делать то же самое просто из нормального кода на Perl?

Как ты такой толстый умудрился 5 звёд-то наскорить?

Вот потому ты и 3-х ненаскорил, что как отвечать — не знаешь ничего, а только задаёшь дурацкие провокационные вопросы. Сначала в школу сходи, а потом — на ЛОР (не вместо школы, а после школы!).

добавь тег «я познаю мир», здесь он точно к месту.

Я знаю, что шаблонизаторы — это абсолютный кусок дерьма родом из 90-х.

Но мне интересно, кто и почему этим пользуется.

Оказывается, им пользуются вакуумизированные верстальщики, которые вот птичий язык выучить могут, а Perl осилить не могут.

И неважно, что птичий язык того же Template’а — это в конечно итоге тот же Perl, но с изуродованным синтаксисом и кастрированными под корень возможностями.

Верстальщикам ЭТО удобно. Гм, ну не буду спорить, я хотя бы узнал, кому нравится ковыряться в дерьме. Ваккумизированным верстальщикам. Ну ОК, я не против.

P.S. Правда, я против приличного overhead’а, добавляемого такими приблудами. Каково это вообще — вместо гегерации разметки заниматься интерпретацией языка программирования из другого, тоже интерпретируемого языка программирования. И когда разработчики Template говорят о быстродействии, мне хотелось бы сказать, что они идиоты. Впрочем, так оно и есть, но им как-то пофиг. Так же, как и мне — на них. пофиг в общем :)

шаблонизаторы — это абсолютный кусок дерьма родом из 90-х.

вот тут и спалился.

А ты не в курсе, что уже в 2000-ом Рэндал Шварц вроде как книгу накатал по Template?

А в 2015-м в принципе генерация мусора из тэгов на стороне сервера и пересылка этого мусора клиенту — мягко говоря, не кажется самым правильным подходом.

ты переоцениваешь меня, я даже без гуглежа не знаю его.

генерация мусора из тэгов на стороне сервера и пересылка этого мусора клиенту

т.е. генерация хтмл по шаблону на сервере — плохо, а на клиенте — все ок?

На клиенте — значит, самим движком браузера. Коль скоро браузеры ничего, кроме убогого HTML не понимают, то пусть сами себе его и генерируют. Это называется оправданным онанизмом, когда клиент сам платит за ту муть, которая ему типа удобна. За удобства нужно платить.

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

Ещё раз повторюсь: современная модель веб-программирования даёт отличную возможность переложить голоную боль по генерации представления на клиента — как в старые-добрые времена доминирования толстых клиентов.

Нужен клиенту «драйвер» для отображения данных в браузере — ОК, мы ему его предоставим в виде 6-ти тэгов и соотв. js-обвязки, генерирующей всё остальное.

Нужен драйвер для генерации Excel-таблиц — пожалуйста, любой каприз за ваши деньги.

Но только в особо тяжёлых случаях наподобие специальных «мобильных» версий сайтов мы не можем дать возможность клиенту самому почувствовать ответственность за тот софт, который он использует.

не, генерация хтмл на стороне клиента — хорошо, но в итоге иногда получается «ничего не поделаешь — это флеш».

Оказывается, им пользуются вакуумизированные верстальщики, которые вот птичий язык выучить могут, а Perl осилить не могут.

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

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

попытка заставить разработчиков не писать бизнес-логику в шаблонах.

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

И настолько развитый как тот, что используется в Template — вполне может использоваться для чего угодно.

В конечном счёте для верстальщика в тэгах HTML, перемешанных с языком шаблонизатора — я вижу только изощрённую издёвку, потому что как правило верстальщик не вчера родился, и уже сталкивался с десятком таих птичьих языков, не совместимых друг с другом и несовместимых вообще ни с чем.

Флеш изначально был каким-то фимозным заболеванием головного мозга в IT-индустрии. Впрочем, чего ещё можно было ожидать от индустрии, забывшей о LDAP, предпочитающей ужасающего вида XML-разметки (в этом плане лаконичный и мега-удобный JSON — это просто «досадное» исключение из правил) и т.д.

JavaScript — это стандарт ECMA Script 5 и 6, с ним на живых браузерах ИМХО проблем куда меньше, чем с HTML и CSS, которые каждый браузер умудряется «понимать» сильно по-своему.

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

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

А если мне надо, например, предоставить api с xml на выходе?

Предоставьте API с XML на выходе. Эта штука называется REST API, бывает такое в жизни, встречается временами :)

Зрите в корень. Сайты — это изначально костыльное говно, на котором вот уже 20 лет как сидит весь мир и не парится по этому поводу.

Весь веб — это абсолютно кошмарный сплав далеко не самых лучших и уж точно не самых быстрых технологий.

Раньше в браузерах была вообще опция такая «отключить JavaScript». Ну порежет adblock куски javascript’а — ну и что с того?

Веб- это заработок за счёток количества, поэтому 1 тупой пользователь среди 10- миллионов ежедневно ничего абсолютно не стоит.

Взять, например, терминал Bloomberg. Там каждый пользователь стоит дорого. Ну так там интерфейс — толстый клиент. А был бы даже интерфейс на основе веб-браузера — его бы анально отгородили от всех плагинов и настроек, чтобы пользователь ничего не мог делать, кроме как наблюдать графики со стаканами и торговать.

Веб- это примерно как совковая столовая: не нравится Васе Пупкину, что таскать кипяток в гранёном стакане больно и неудобно — ну и пусть Вася отправляется со своими претензиями в ресторан Прага, и там его обслужат по высшему разряду даже если руки у него из пластилина!

Вся кривизна веба — лишь следствие исторических причин и экономических требований. Вы не в силах это изменить.

Установка Template Toolkit

Приветствую, ранее никогда не пользовался perl и столкнулся с трудностями в установке шалонизатора Template Toolkit.

Установлен ActivePerl 5.24.1 Build 2402 (64-bit), поставил Template Toolkit через ppm install Template-Toolkit.

Было вроде бы все хорошо. Дальше начинается избиение бубнами.

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

Я правильно понимаю, что Makefile.PL должна лежать в директории, куда установился ТТ?

Это была первая проблема и самая важная.

И вторая — решив попробовать скомпилировать файл с пробным текстом без makefile через терминал gitBash, получил в консоли

Через обычный терминал скомпилировало. Запускалось все из требуемой папки, т.е. косяков с путями не было.

Что можно со всем этим сделать?

25.08.2020, 23:23

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

Perl template toolkit
Делаю сайт. Индекс сайта начинает с index.pl Содержимое в index.pl #use Template; my $tt2 =.

Text Template Transformation Toolkit не создаёт файл
Пробую по этой статье сделать пример http://habrahabr.ru/post/64895/ тема довольно интересна, но не.

Установка AJAX Toolkit
Скачал последнюю сборку с оф сайта. Добавил в Tool box. Но дальше при компиляции появляютса.

Установка Windows Phone Toolkit
Привет ребят, такая проблема, ставлю Windows Phone Toolkit и через Nuget и через Nuget консоль все.

Template Toolkit Home Page

Hello [% world %]!

The Template Toolkit is a fast, flexible and highly extensible template processing system. It is Free (in both senses: free beer and free speech), Open Source software and runs on virtually every modern operating system known to man. It is mature, reliable and well documented, and is used to generate content for countless web sites ranging from the very small to the very large.

It is written in the Perl programming language but you don’t need to know any Perl to use it. In fact, it was specifically created to allow web designers and developers to concentrate on generating web pages without getting bogged down in programming matters. We call this a «Clear Separation of Concerns» and it makes the whole processes of building, updating and maintaining a web site or web application significantly easier.

This web site contains the complete documentation for the Template Toolkit. There’s also an O’Reilly book on the subject, written by Andy Wardley (the author of the Template Toolkit itself), Darren Chamberlain and Dave Cross. It’s officially entitled Perl Template Toolkit but we call it the «Badger Book» for obvious reasons.

Now Available In Python!

We’re please to announce that Sean McAfee has released the first beta version of the Python port of the Template Toolkit.

Илон Маск рекомендует:  Что такое код hw_api &#62;objectbyanchor
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL