public function getUniqueAlias($entity,
        string $titleProperty = 'title',
        string $titleValue = null,
        string $aliasColumn = 'seoTitle'): string
    {
        $alias = Strings::webalize($titleValue ?? $entity->{$titleProperty});
        $id = $entity->id ?? null;
        while (!$this->seoTitleIsUnique($id, $alias, $aliasColumn)) {
            if (preg_match('/.*-\d{1,3}$/', $alias)) {
                $dashPosition = strrpos($alias, '-');
                $base = substr($alias, 0, $dashPosition);
                $number = substr($alias, $dashPosition + 1);
                $number++;
                $alias = "$base-$number";
            } else {
                $alias = $alias . '-1';
            }
        }
        return $alias;
    }