private function deduplicate($nodeId, $siteId, $alias)
    {
        $dupFound   = false;
        $current    = $alias;
        $increment  = 0;

        do {
            $dupFound = (bool)$this
                ->database
                ->query(
                    "SELECT 1 FROM {ucms_seo_route} WHERE route = :route AND site_id = :site",
                    [':route' => $current, ':site' => $siteId]
                )
                ->fetchField()
            ;

            if ($dupFound) {
                $current = $alias . '-' . ($increment++);
            }

        } while ($dupFound);

        return $current;
    }