/**
     * @param ApplicationDefault $app
     * @param string $path
     * @return ApplicationDefault
     */
    public static function initSeo(ApplicationDefault $app, $path)
    {
        preg_match('#^/all(?:/(?<spe>[^/]+))?(?:/(?<keyword>[^/]+))?#', $path, $m);
        $app->seoParams["noSpeciality"] = false;

        if(!Seo::hasSpeciality($app->applicationObject()->identifier))
        {
            $app->seoParams["noSpeciality"] = true;
        }
        if( isset($m[0]) )
        {
            if(isset($m["spe"]))
            {
                if($app->seoParams["noSpeciality"])
                {
                    $row = Seo::fetchSpecialityByUrl($app->applicationObject()->identifier, "");
                    if(!$row || !isset($row["speciality"]))
                        return $app;
                    $app->seoParams["speciality"] = "";
                }
                else
                {
                    $row = Seo::fetchSpecialityByUrl($app->applicationObject()->identifier, $m["spe"]);
                    if(!$row || !isset($row["speciality"]))
                        return $app;

                    $app->seoParams["speciality"] = $row["speciality"];
                }

                if(isset($m["keyword"]))
                {
                    $row = Seo::fetchKeywordByUrl($app->applicationObject()->identifier, $m["keyword"]);
                    if(!$row || !isset($row["keyword"]))
                        return $app;

                    $app->seoParams["keyword"] = $row["keyword"];
                }
            }

            $app->setStatus('seo');
        }
        return $app;
    }