в плане внутренней оптимизации html карта сайта никогда не будет минусом как для пользователей так и для роботов. последнии даже будут рады этому)
есть возможность - делаем, нет - да и бог с ним)
тэг "canonical" тут не уместно использовать(т.к. для дублей). да и не факт, что ПС будет верно подобран канонический адрес. как сам ТС писал, рекомм. от Я|G используем на конце урл фрагмент #xxx и выдаем без ajax, что вам душе угодно.
в sitemap.xml любая сложная структура сайта спокойно заносится. если есть ограничения к примеру кол-во УРЛ и еще рад токовых. то тем же стандартом легко решается. порой "карту сайта" используют не только роботы, но и пользователи. а для более удобного восприятия стоит иметь HTML карту сайта(xml без таблиц стилей - не удобна для пользователя). по крайне мере это минусом не будет никогда.
robots.txt
немного не по теме. слеш на конце как мне кажется делать эстетично только для разделов и категорий к примеру:
/news/
/news/cat/subcat/
а для конечной страницы допустим статьи без слеша на конце адреса.
/news/cat/123-post
что то вроде древовидной структуры.
стоит, куча дублей и мусорных страниц не есть хорошо.
где? на странице с 404 кодом?
контент надо выводить на 404 странице с навигацией для пользователей. а робот получив от сервера 404 код ответа, не будет ходить по ссылкам и проводить какие то манипуляции с контентом и тем более передавать ссылочный вес т.к. страницы нет на сервере.
301 надо делать сразу. позиции - влияет много факторов. как понял сменили CMS, что скорее всего изменился html код, структура сайта.... не обязательно 302 редирект повлиял на позиции.
нужно - вес передается.
найти все входящии ссылки - забить в БД. при запросе к серверу сверять адрес(урл), если есть в БД, то 301 на нужную страницу.
404 - страница не существует. ПС их не индексирует, перетекать ничего не будет.
ТС отправить надо данные в xml, если отправлять GET - как обойти ограничения HTTP?