- Разбить проект на взаимодействующие сервисы, каждый из которых можно разрабатывать параллельно.
- Покрывать код тестами и использовать continuous integration.
- Применять единый code style для всей базы кода, использовать git/github flow, линтеры
- поддержка postgresql
- инкрементальный бэкап
- восстановление бекапа за заданную дату
- ну и конечно нужно хранить бекапы на другом сервере, хранение на том же имеет очень мало смысла
Посмотрите как проверяется пароль в коде аутентификации админки. Если там хэш или хэш + соль - сгенерируйте нужный хэш с новым паролем и поменяйте в БД, если в открытом виде - просто поменяйте пароль в таблице БД.
Все просто, оцениваете количество дней/часов, которые вы потратите на разработку проекта.
Умножаете на стоимость часа работы и получаете стоимость разработки. Из этого стоит сделать вывод что нет такой характеристики как "стоимость сайта", потому что она (стоимость) сильно зависит от того кто будет разрабатывать этот сайт (от этого конечно также зависит и качество результата).
Это будет примерная стоимость, а точно оценить без четко зафиксированных требований и не получится.