Оптимизация сайта на этапе разработки
На самом деле, SEO начинается ещё даже до создания сайта. Представьте, что SEO — это список плюсиков и минусиков, которые ставятся каждой странице сайта за соответствие или несоответствие по тем или иным факторам ранжирования. А в топе будут те, кто собрал больше плюсиков и меньше минусиков. Одним из таких плюсиков, например, является доменное имя сайта, которое выбирается на этапе разработки. Аналогичная ситуация со структурой сайта, ЧПУ и ещё целым рядом характеристик. Разумеется, и доменное имя, и всё остальное можно поменять, но это не всегда будет безболезненно для бюджета заказчика и текущих позиций.
Именно поэтому ещё перед созданием сайта необходимо составить и кластеризовать семантическое ядро, на основе которого уже будет строиться структура будущего сайта, а также выбрать релевантное доменное имя, быстрый хостинг и подходящую CMS, чтобы была возможность задавать метатеги, использовать ЧПУ, генерировать sitemap и т.д.
Как учесть все нюансы? Если речь о коммерческом проекте, то я рекомендую нанять SEO-специалиста ещё перед разработкой, чтобы он проанализировал конкурентов и составил корректное ТЗ дизайнерам и программистам. Ну, а если вам просто интересна механика, то вы можете ознакомиться с моими статьями на тему SEO.
Оптимизация готового сайта
Несмотря на то, что предыдущий вариант был бы идеальным, чаще всего приходится работать с уже существующими сайтами. И в большинстве случаев доработать уже имеющийся сайт вполне реально. А вот чтобы понять, насколько целесообразна работа с текущим сайтом, необходимо провести SEO-аудит, на основании результатов которого уже можно будет делать выводы.
Лично я, например, не вижу смысла продвигать одностраничники и сайты, сделанные на конструкторах типа Wix, Ucoz и т.д. Вместо этого лучше пересоздать сайт на WordPress или 1С-Bitrix. Разумеется, существуют и другие пригодные для продвижения фреймворки и CMS, но в этих я ориентируюсь наиболее уверенно, поэтому их и рекомендую.