Rose debug info
---------------

Давайте дружить! Я в соц сетях

Можно ли быстро сделать англоязычный сайт на 10 тысяч страниц

Работая над географическими сервисами, я понял, что имея базу данных городов на определенном языке, можно практически за 10 тысяч создавать объемные сайты.
В качестве примера, предлагаю рассмотреть проект sunrisenow.net
Изначально у меня уже была база на 1,5 млн мест с географическими координатами и часовыми поясами. Я решил сделать проект с расчетом долготы дня, но используя не все города, а только самые крупные. После фильтрации по населению, оставил 7500 мест.
Сделать скрипт расчета долготы дня — дело одного двух дней, так как в стандартной библиотеке PHP есть функции по работе со временем восхода и рассвета.
Приведу пример небольшого php скрипта на Laravel, который делает расчет долготы дня на три дня (вчера, сегодня, завтра).

public function sunriseNow($lat, $lng, $iana) {
        date_default_timezone_set($iana);
        $lastDay = Carbon::now()->subDay()->format('Y-m-d H:i:s');
        $now = Carbon::now()->format('Y-m-d H:i:s');
        $nextDay = Carbon::now()->addDay()->format('Y-m-d H:i:s');
        $massDate = [$lastDay, $now, $nextDay];
        $day = [];
        $a = 0;
        foreach($massDate as $key) {
            $sun_info = date_sun_info(strtotime($key), $lat, $lng);
            $a++;
            $sunrise = date("H:i:s", $sun_info['sunrise']);
            $transit = date("H:i:s", $sun_info['transit']);
            $sunset = date("H:i:s", $sun_info['sunset']);
            $day[$a] = $sunrise;
            $a++;
            $day[$a] = $transit;
            $a++;
            $day[$a] = $sunset;
        }
        $dateSunriseToday = Carbon::createFromTimeString($day[4]);
        $dateSunriseYestoday = Carbon::createFromTimeString($day[1]);
        $dateSunsetToday = Carbon::createFromTimeString($day[6]);
        $dateSunsetYestoday = Carbon::createFromTimeString($day[3]);
        $totalDurationSunrise = $dateSunriseYestoday->diffInMinutes($dateSunriseToday, false);
        $totalDurationSunset = $dateSunsetYestoday->diffInMinutes($dateSunsetToday, false);
        if($totalDurationSunrise < 0) {
            $color = 'red';
        }
        elseif($totalDurationSunrise > 0) {
            $totalDurationSunrise = "+".$totalDurationSunrise;
            $color = 'green';
        }
        elseif($totalDurationSunrise === 0){
            $color = 'black';
        }
        if($totalDurationSunset < 0) {
            $color = 'red';
        }
        elseif($totalDurationSunset > 0) {
            $color = 'green';
            $totalDurationSunset = "+".$totalDurationSunset;
        }
        elseif($totalDurationSunset === 0){
            $color = 'black';
        }
        $printSunrise = " <span style='color:$color'><small>".$totalDurationSunrise."</span> мин.</small>";
        $printSunset = " <span style='color:$color'><small>".$totalDurationSunset."</span> мин.</small>";
        if($totalDurationSunset === 0) {
            $printSunset = '';
        }
        if($totalDurationSunrise === 0) {
            $printSunrise = '';
        }

        $day[4] = $day[4].$printSunrise;
        $day[6] = $day[6].$printSunset;

        return $day;


    }

Результат выполнения скрипта

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

Получается, чтобы создать проект на 10 тысяч страниц на английском языке надо:

  1. Приобрести базу городов;
  2. Купить или свестать легкий шаблон;
  3. Написать несколько php скриптов;
  4. Сделать перевод объемом 2-3 страницы;
  5. Купить несколько иконок.

Думаю, что затраты на такой проект не превысят и 10 тысяч рублей.

Подписаться на блог
Поделиться
Отправить
Запинить
 29   3 мес   Идеи   Разработка