Дневник разработки
Изначальная мысль была довольно утилитарной: сделать что-то маленькое, понятное и сразу полезное в биоинформатике. Набор простых инструментов, которые можно реально использовать — GC-калькулятор, реверс-комплемент, ORF-поиск, перевод ДНК в белок, расчёт массы белка и т.д. Такие инструменты уже есть, но часто они сделаны лет десять назад, выглядят тяжело и местами неудобны. Захотелось сделать что-то лёгкое, быстрое и чистое, что просто работает в браузере.
Появилось ощущение, что можно собрать аудиторию биологов и студентов, если дать им бесплатные и удобные инструменты. Это «входная точка»: и если сайт помогает, то может сформироваться пул пользователей, которые уже привыкли к стилю.
Читать далееТекущая реализация на: https://proteinanalysis.pages.dev
Первоначальная задача - создать простой одностраничный анализатор последовательностей.
Создан index.html с базовым функционалом:
index.html с базовым функционаломОсознание, что для SEO нужны отдельные страницы под разные ключевые слова.
Разбить функционал на 6 специализированных страниц:
/index.html - главная страница (общий анализатор)/dna-gc-calculator.html - GC калькулятор/reverse-complement.html - обратная комплементарная последовательность/orf-finder.html - поиск ORF/protein-mw-calculator.html - молекулярная масса белка/sequence-translation.html - трансляция ДНК
Код дублировался между страницами (функции для GC%, reverse complement, translation и т.д.)
Создан common.js с общими функциями:
cleanSequence() - очистка последовательностиcomputeGC() - расчет GC%reverseComplement() - обратная комплементарная последовательностьtranslateDNA() - трансляция ДНКfindORF() - поиск ORFcomputeMW() - молекулярная массаcommon.js даже если используется одна функцияcommon.js лишним кодомcommon.js с общими функциямиКаждая страница могла иметь свой стиль, не было навигации между страницами.
styles.css для всех страницgetNavigation() в common.jsstyles.css для всех страницgetNavigation() в common.js
Страницы были функциональными, но не оптимизированы для поисковых систем.
Для каждой страницы добавлено:
<title> с ключевыми словами<h1> с основным ключевым словом<title> и <h1> для каждой страницыПользователям нужно было вводить последовательности вручную, чтобы понять, как работает инструмент.
На каждой странице добавлена кнопка "Load Example" с предустановленными примерами:
ATGCGTACCTGACTGGAAGGCTTACGATGCTTGAAGACCTGAMKTFFVAGLVLAGALAAPALAGCGGATCCGTCGATGCGGCCGTTAGCGCGATCATGGCCGCAATGACCGTAAGCTTGGATCCGATTAAGCATGAAACGTTTGACCTGAAGGTTCTACTGGAATAGMQDRVKRPMNAFIVWSRDQRRKMALENATGGCTTCTGACCTGAAGGACATCGTGAACTGG





Сайт имел 6 страниц, но для увеличения органического трафика нужно было добавить больше специализированных инструментов. Навигация с 11 кнопками была перегружена.
common.js с выпадающим менюsitemap.xml (теперь 11 страниц)