Простая теория вам ничего не даст.
Я считаю что гораздо эффективнее обучаться на примере собственного проекта. Запустите какой-нибудь сайт, поставьте цель, к примеру, "10000 уников в сутки через 365 дней продвижения", и придумайте как достичь этой цели. А информацию по интересующим вопросам ищите в поисковиках, заодно научитесь фильтровать большие потоки информации, так как много противоречивых суждений по продвижению будете встречать.
Подводные камни есть везде.. Какие-то источники рекомендовать не буду, я обычно в гугле все ищу..
По поводу времени на обучение: все индивидуально и зависит от вашей способности обучаться. Кому-то жизни не хватит освоить контекст, а кто-то за 3 месяца станет профессионалом в этой области.