к сожалению, замеченная ситуация есть почти на 80% сайтах под битриксом в случае использования чпу. ссылки неверные получаются путем либо перемещения/удаления каког-то элемента, либо случайными ошибками посетителей, а гугл и яндекс их запоминают. проверено не на 1 сайте.
как я обходил: у меня структура была четкая и 1 элемент лежал в 1 раделе - получал путь в виде строки или массива (не всегда работает) разбивал на составляющие и проверял у раздела элемента id(символьный код ) совпадает или нет. если нет выводил глобальную ошибку и ставил статус 404
[CODE]ShowError("Элемент не найден.");
@define("ERROR_404", "Y");
CHTTP::SetStatus("404 Not Found")
[/CODE]
как я обходил: у меня структура была четкая и 1 элемент лежал в 1 раделе - получал путь в виде строки или массива (не всегда работает) разбивал на составляющие и проверял у раздела элемента id(символьный код ) совпадает или нет. если нет выводил глобальную ошибку и ставил статус 404
[CODE]ShowError("Элемент не найден.");
@define("ERROR_404", "Y");
CHTTP::SetStatus("404 Not Found")
[/CODE]