Помогите оценить стоимость сайта (СДЛ, из ЯК)

MVH
На сайте с 03.05.2005
Offline
64
MVH
841

Помогите, пожалуйста, определить примерную стоимость сайта pereriv.ru без учёта доходов и расходов.

Сайту 2 года.

Зарегистрирован в каталогах (около 2х лет назад): Яндекс.Каталог и Каталог@mail.ru

Посещаемость: 800 чел. в сутки.

Сайтом я занимался только несколько месяцев после открытия, затем другой человек просто обновлял его понемногу. Т.е. последние года полтора сайт висел мёртвым грузом, не развивался и т.п.

Сейчас выложил новую версию сайта с новый дизайном и с новой самописной админкой (на PHP) с перекодированием видео и т.п. Также подчистил и обновил материал сайта. Раньше сайт был на вордпрессе со слегка изменённой стандартной темой (можно посмотреть в архиве, правда там нет части фона, flv плеера и картинок).

Вёрстка сайта (front-end'а) оптимизированна под следующие браузеры:

IE6 (с некоторыми упрощениями дизайна)

IE7

IE8

Firefox 2 (с несколькими косметическими глюками)

Firefox 3

Opera 9 (один глюк: появляется пустое пространство внизу, исправить легко, просто не хочу семантику портить)

Opera 10

Safari 4 win

Кроме описанных глюков других не нашёл, но ещё раз чуть позже всё протестирую (т.к. вносились изменения с последнего теста).

Возможности админки:

(скриншоты в самом низу)

  • Возможность создавать страницы, категории и посты без всяких префиксов, вроде category/ в вордпрессе.
  • Возможность задавать категориям форматы URL постов (/cat_name/y/m/d/post_name/, /cat_name/y/m/post_name/, /cat_name/y/post_name/, /cat_name/post_name/) с проверкой коллизий URL адресов.
  • URL макросы для URL адресов страниц и файлов, благодоря чему переименовывать страницы и файлы без опасения появления битых ссылок и без необходимости изменять URL адреса в текст страницы соответственно.
  • Настраиваемые макросы для файлов по mime-типу, благодаря чему текст поста выглядит так:
  • а сама страница так: http://www.pereriv.ru/video/susan-boyle/
  • Возможность создавать отдельные темы (как в вордпрессе).
  • Возможность создавать доп. поля для страниц и/или постов.
  • Закачка файлов с отображнием кол-ва закаченных мегабайт (работает только если одновременно не начать закачку нескольких файлов).
  • Перекодирование видео на основе ffmpeg.
  • Отображение прогресса перекодирования, прдупреждение об ошибках перекодировки и т.п.
  • Возможность создавать доп. изображения и видео/аудио файлы в различных форматах.
  • Авто (просто пропорциональное уменьшение и обрезание) и ручное кадрирование изображений.
  • Создание скриншотов видео с возможностью кадрирования изображения.
  • Автоматическое создание любого кол-ва доп. файлов (изображений, видео, аудио, скриншотов).
  • Автоматическое изменение формата, разрешения и т.п. основного файла.
  • Отсутствие фантомных файлов (например, когда файл закачали, но страницу не сохранили).
  • Комментирование с возможностью установки различных вариантов модерирования для любой страницы (если для категории - то такое значение будет по умолчанию для поста).
  • Возможно установить: запрещать комментарии, разрешать без проверки, разрешать с показом только после модерирования, разрешать публикацию с модерированием ссылок (комментарий появится, но вместо ссылки будет "ссылка ожидает проверки").
  • Выделение ссылок в тексте (если текст - адрес сайта, но ещё не ссылка).
  • Возможность создавать пользоватлей с различными правами (см. скриншот), в частности: изменение и создание постов (своих, чужих, суперпользователей) в различных категориях.

Админка "монолитная" (т.е. до плагинов она не абстрагирована, разьве только есть возможность изменять макросы файлов для различных тем и создавать свои макросы, например, "[mail-form email="test@example.com"]", который заменится на форму обратной связи), но внутри програмный код довольно хорошо "причёсан".

Например, для получения постов есть следующие ф-и:

page::get_posts_count($filter = array())
view_helpers::pages_nav($page_num, $posts_count, $rows_on_page, $pages_nav_length)
page::get_posts($post_id = null, $filter = array(), $order = array(), $offset = null, $limit = null, $get_content = 0, $get_files = 0)

Подобные ф-и есть для добавления, измнения и удаления постов, страниц, файлов и т.п.

Например:

attachment::insert_attachment($open_file, $filename, $alt, $caption, $source_url, $source_name, $page_id, $conversion_params = array(), $save_filename_dir = 0, $filename_date = null)
attachment::create_else_files($attachment_id, $pattern_filename)
attachment::insert_video_frame($parent_file, $filename, $temp_frame_id = null, $file_key = null, $conversion_params = array())
attachment::delete_attachments($attachment_ids)

Так же есть различные вспомогательные ф-и для форматирования контента.

Есть возможность создавать доп. права пользователей, например:

$ACCESS = array(
//без всяких ограничений, просто разрешить или запретить создание страниц
'create_pages' => '',
'publish_pages' => '',
'change_pages' => '',
'delete_pages' => '',
//посты
'create_posts' => array(
'info_function' => '', //здесь ф-я не нужна, т.к. по id объекта это действие проверяться не может, т.к. на момент проверки объект ещё не создан
'user_restriction' => array(), //ограничения по пользователю здесь тоже быть не может, т.к. объект ещё не создан
'page_restriction' => array('cat_all', 'cat_*'),
),
'publish_posts' => array(
'info_function' => 'post_info',
'user_restriction' => array('our', 'another', 'superuser'),
'page_restriction' => array('cat_all', 'cat_*'),
),
'change_posts' => array(
'info_function' => 'post_info',
'user_restriction' => array('our', 'another', 'superuser'),
'page_restriction' => array('cat_all', 'cat_without', 'cat_*'),
),
'delete_posts' => array(
'info_function' => 'post_info',
'user_restriction' => array('our', 'another', 'superuser'),
'page_restriction' => array('cat_all', 'cat_without', 'cat_*'),
),
);

И потом проверять права доступа в коде программы с помощью ф-и access::check_access($action = null, $object_id = null, $page_id = null, $owner_id = null):

Ф-я хорошо инкапсулирована и копаться в ней вряд ли понадобится.

Возможные варианты вызова:


//доступ имеет только суперпользователь
access::check_access()

//можно ли изменять какие-либо комментарии на какой-либо странице или категории
access::check_access('change_comments')

//можно ли изменять какие-либо комментарии на какой-либо странице
access::check_access('change_comments', 'page')

//можно ли изменять какие-либо комментарии в какой-либо категории
access::check_access('change_comments', 'cat')

//разрешено ли изменять данный комментарий
access::check_access('change_comments', $comment_id)

//можно ли изменять комментарии данного владельца на данной странице/категории
access::check_access('change_comments', null, $page_id, $user_id)

//можно ли изменять какие-либо комментарии на данной странице/категории
access::check_access('change_comments', null, $page_id)

//можно ли изменять какие-либо комментарии у объектов без категории
access::check_access('change_comments', null, 'without')

//можно ли изменять какие-либо комментарии данного владельца
access::check_access('change_comments', null, null, $user_id)

---продолжение ниже---

MVH
На сайте с 03.05.2005
Offline
64
MVH
#1

---продолжение---

Вот так можно создать доп. поле:

$PAGE_FORM_ELSE_FIELDS = array(
'editor_choice' => array(
'restriction' => array('post'), //на каких формах добавлния показывать: page_and_cat, post
'cat_restriction' => array(), //массив - id категорий, у постов которых будет выводиться это поле, пустой массив - у постов во всех категориях
'group' => 'content', //группа полей, например, группа "Настройки страницы:". Возможные значения: first, settings, content, files, publication, else
'type' => 'checkbox', //text, text_date, text_datetime, textarea, checkbox, select, multiple_select, radio
'values' => array('1' => 'Да'), //массив значений, действует для checkbox, select, multiple_select и radio
'default_value' => 0, //значение по молчанию, строка или массива значений
'title' => 'Выбор редакции', //название поля
'is_obligatory' => 0, //обязательное ли для заполнение поле или нет
'maxlength' => '', //соответствующий аттрибут тега input
'style' => '', //если стили не применять, то поле text будет на всю длину
'class' => '', //если класс не задавать, то поле text будет на всю длину
),
);

Так изменить при закачке основной файл или создать доп. файлы:

$CUSTOM_FORMATS['video'] = array(
'FLV' => array(
'mime_type' => 'video/x-flv',
'file_format' => 'flv',
'video_codec' => 'flv',
'video_frame_rate' => '', //кол-во кадров в секунду
'video_bitrate' => '', //пустота, значит как у исходного файла
'video_size_factor' => 2, //множитель, которому должены быть равны ширина и высота
'audio_codec' => 'libmp3lame',
//'audio_codec' => 'adpcm_swf',
//'audio_frequency' => '44100',
'audio_bitrate' => '',
'disable_audio' => 0,
),
);

$SOURCE_FILES_CONVERSION['image'] = array('width' => 1000, 'height' => 1000, 'crop' => 0);
$SOURCE_FILES_CONVERSION['video'] = array('custom_format' => 'FLV','width' => 450, 'height' => '', 'absolute_conversion' => 1);
$SOURCE_FILES_CONVERSION['audio'] = array('custom_format' => 'MP3', 'absolute_conversion' => 1);

//дополнительные изображение, которые будут созданы при закачке файла, поддерживаемого $SUPPORT_FILES['image']
$ELSE_FILES['image'] = array(
'thumb' => array('width' => 150, 'height' => 95, 'crop' => 1, 'prefix' => '', 'postfix' => '.thumb'),
'medium' => array('width' => 320, 'height' => '', 'crop' => 0, 'prefix' => '', 'postfix' => '.medium'),
'inner_page' => array('width' => 450, 'height' => '', 'crop' => 0, 'prefix' => '', 'postfix' => '.inner-page'),
'clown_thumb' => array('width' => 77, 'height' => 65, 'crop' => 1, 'prefix' => '', 'postfix' => '.clown-thumb'),
);

//дополнительные видео файлы, которые будут созданы при закачке файла, поддерживаемого $SUPPORT_FILES['video']
$ELSE_FILES['video'] = array(
'mobile' => array('custom_format' => '3GP', 'width' => 176, 'height' => 144, 'absolute_conversion' => 1, 'prefix' => '', 'postfix' => ''),
'mac' => array('custom_format' => 'MOV', 'width' => '', 'height' => '', 'absolute_conversion' => 1, 'prefix' => '', 'postfix' => ''), //разрешение, как у исходного
'win' => array('custom_format' => 'WMV', 'width' => '', 'height' => '', 'absolute_conversion' => 1, 'prefix' => '', 'postfix' => ''), //разрешение, как у исходного
'win2' => array('custom_format' => 'AVI', 'width' => '', 'height' => '', 'absolute_conversion' => 1, 'prefix' => '', 'postfix' => ''), //разрешение, как у исходного
);

Конечно, код далеко не идеал мечтаний, есть места запутанные и требующие дополнительного рефакторинга для дальнейшего изменения функционала (например, управление файлами), JS код, возможно, многим не понравится (я в нём не силён). Но в целом, я бы сказал, что код хороший (хотя я могу и заблуждаться).

Админка оптимизирована под Firefox 3.5. В opera тоже всё работает, за исключением пары незначительных косметических дефектов. В IE 8 дефектов побольше.

Под оперу и IE я пока не оптимизировал за ненадобностью и отсутствием времени, но будем считать, что админка работает так же в opera 10 и IE8.

Сайт лежит на VPS, где настроен ffmpeg и nginx (nginx'ом отдаются только закачиваемые файлы (изображения и видео в частности); картинки дизайна, css и js отдаются апачем).

Различные PHP акселераторы пока не настроены, опять же за временной ненадобностью и нехваткой времени. Настроен только gzip, которым сжимаются страницы, css и js файлы.

Собственно скриншоты админки:

Главная страница:

http://www.pereriv.ru/_admin_screenshots/1.gif

Управление страницами (список, создание и т.п.):

http://www.pereriv.ru/_admin_screenshots/2.gif

http://www.pereriv.ru/_admin_screenshots/3.gif

http://www.pereriv.ru/_admin_screenshots/4.gif

http://www.pereriv.ru/_admin_screenshots/5.gif

Управление файлами:

http://www.pereriv.ru/_admin_screenshots/6.gif

http://www.pereriv.ru/_admin_screenshots/7.gif

http://www.pereriv.ru/_admin_screenshots/8.gif

http://www.pereriv.ru/_admin_screenshots/9.gif

http://www.pereriv.ru/_admin_screenshots/10.gif

http://www.pereriv.ru/_admin_screenshots/11.gif

http://www.pereriv.ru/_admin_screenshots/12.gif

http://www.pereriv.ru/_admin_screenshots/13.gif

http://www.pereriv.ru/_admin_screenshots/20.gif

http://www.pereriv.ru/_admin_screenshots/14.gif

http://www.pereriv.ru/_admin_screenshots/15.gif

http://www.pereriv.ru/_admin_screenshots/16.gif

http://www.pereriv.ru/_admin_screenshots/17.gif

Права пользователей:

http://www.pereriv.ru/_admin_screenshots/18.gif

Вид глазами пользователя с ограниченными правами:

http://www.pereriv.ru/_admin_screenshots/19.gif

Пример обработки страницы:

содержание: http://www.pereriv.ru/_admin_screenshots/21.gif

результат: http://www.pereriv.ru/_admin_screenshots/22.gif

Знаю, что здесь есть люди, которые занимаются покупкой/продажей сайтов, поэтому моя просьба прежде всего к ним, т.к. они должны быть знакомы с ценами на "рынке".

Роман
На сайте с 30.04.2008
Offline
261
#2

Хорошенький сайт, думаю тысяч сто потянет рубликов

fan
На сайте с 08.07.2005
Offline
142
fan
#3

Тысяч за 30-40 уйдет, я считаю.

MVH, попробуйте выставить в раздел покупки-продажи сайтов.

MVH
На сайте с 03.05.2005
Offline
64
MVH
#4
fan:
Тысяч за 30-40 уйдет, я считаю.

Не понимаю, откуда такие цены? Ну 40 000 руб. - это же вообще не сумма для данного сайта. Зарегистрировать в ЯК только 15 000 руб. стоит. А дизайн, вёрстка (все эти выпадающие менюшки, flv плееры и т.п.), программирование, перекодирование видео (которое не так просто сделать, как кажется), удобное управление файлами (что позволит в дальнейшем сэкономить время при наполнении сайта и деньги), тестирование, настройка и т.п. Про наполнение сайта я и не говорю.

fan:
MVH, попробуйте выставить в раздел покупки-продажи сайтов.

Да я пока хочу просто цену узнать, пока ещё не продаю. Не знаю, если можно эту тему в продажу сайтов перенести (если правилам не противоречит), то просьба к модераторам сделать это.

fan
На сайте с 08.07.2005
Offline
142
fan
#5
MVH:
(все эти выпадающие менюшки, flv плееры и т.п.), программирование, перекодирование видео (которое не так просто сделать, как кажется), удобное управление файлами (что позволит в дальнейшем сэкономить время при наполнении сайта и деньги), тестирование, настройка и т.п.

Меня, как покупателя, все это не сильно интересует. Возможно, кто-то другой оценит ваши усилия. Поэтому и такая цена. 15тыр за як, 5-8 за сайт, за тиц еще 2к можно дать, за наполнение 1к. Посещалка для развелечений маленькая, пусть за нее еще пару тыс. Вот и выходит 30 тыс. рублей. Чисто имхо.:)

MVH
На сайте с 03.05.2005
Offline
64
MVH
#6
fan:
5-8 за сайт

Сильно. 10 символов

[Удален]
#7

~35 000 рублей его цена.

Блиц 40 000-45 000 поставь.

Старт 20 000-25 000.

Шаг 3 000.

Окончание ППС 72часа

И все будет чики-пуки ;)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий