public function updateSite(
        $siteName,
        $urls,
        $ecommerce = '',
        $siteSearch = '',
        $searchKeywordParameters = '',
        $searchCategoryParameters = '',
        $excludeIps = '',
        $excludedQueryParameters = '',
        $timezone = '',
        $currency = '',
        $group = '',
        $startDate = '',
        $excludedUserAgents = '',
        $keepURLFragments = '',
        $type = '',
        $settings = '',
        array $optional = []
    )
    {
        return $this->_request('SitesManager.updateSite', [
            'siteName' => $siteName,
            'urls' => $urls,
            'ecommerce' => $ecommerce,
            'siteSearch' => $siteSearch,
            'searchKeywordParameters' => $searchKeywordParameters,
            'searchCategoryParameters' => $searchCategoryParameters,
            'excludeIps' => $excludeIps,
            'excludedQueryParameters' => $excludedQueryParameters,
            'timezone' => $timezone,
            'currency' => $currency,
            'group' => $group,
            'startDate' => $startDate,
            'excludedUserAgents' => $excludedUserAgents,
            'keepURLFragments' => $keepURLFragments,
            'type' => $type,
            'settings' => $settings,
        ], $optional);
    }