diff --git a/src/Form/EntityCloneForm.php b/src/Form/EntityCloneForm.php
index 87258ef..9baf479 100644
--- a/src/Form/EntityCloneForm.php
+++ b/src/Form/EntityCloneForm.php
@@ -4,13 +4,18 @@ namespace Drupal\entity_clone\Form;
 
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
+use Drupal\Core\Extension\ModuleHandler;
 use Drupal\Core\Form\FormBase;
 use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Language\LanguageManager;
 use Drupal\Core\Messenger\Messenger;
 use Drupal\Core\Routing\RouteMatchInterface;
 use Drupal\Core\StringTranslation\TranslationManager;
 use Drupal\entity_clone\Event\EntityCloneEvent;
 use Drupal\entity_clone\Event\EntityCloneEvents;
+use Drupal\node\NodeInterface;
+use Drupal\path_alias\AliasManager;
+use Drupal\path_alias\AliasRepository;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 
@@ -61,6 +66,34 @@ class EntityCloneForm extends FormBase {
    */
   protected $messenger;
 
+  /**
+   * Alias manager service.
+   *
+   * @var \Drupal\path_alias\AliasManager
+   */
+  protected $pathAliasManager;
+
+  /**
+   * Alias repository service.
+   *
+   * @var \Drupal\path_alias\AliasRepository
+   */
+  protected $pathAliasRepository;
+
+  /**
+   * The language manager.
+   *
+   * @var \Drupal\Core\Language\LanguageManager
+   */
+  protected $languageManager;
+
+  /**
+   * The module handler.
+   *
+   * @var \Drupal\Core\Extension\ModuleHandler
+   */
+  protected $moduleHandler;
+
   /**
    * Constructs a new Entity Clone form.
    *
@@ -74,10 +107,18 @@ class EntityCloneForm extends FormBase {
    *   The event dispatcher service.
    * @param \Drupal\Core\Messenger\Messenger $messenger
    *   The messenger service.
+   * @param \Drupal\path_alias\AliasManager $path_alias_manager
+   *   AliasManager service.
+   * @param \Drupal\path_alias\AliasRepository $path_alias_repository
+   *   AliasRepository service.
+   * @param \Drupal\Core\Language\LanguageManager $language_manager
+   *   LanguageManager service.
+   * @param \Drupal\Core\Extension\ModuleHandler $module_handler
+   *   ModuleHandler service.
    *
    * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
    */
-  public function __construct(EntityTypeManagerInterface $entity_type_manager, RouteMatchInterface $route_match, TranslationManager $string_translation, EventDispatcherInterface $eventDispatcher, Messenger $messenger) {
+  public function __construct(EntityTypeManagerInterface $entity_type_manager, RouteMatchInterface $route_match, TranslationManager $string_translation, EventDispatcherInterface $eventDispatcher, Messenger $messenger, AliasManager $path_alias_manager, AliasRepository $path_alias_repository, LanguageManager $language_manager, ModuleHandler $module_handler) {
     $this->entityTypeManager = $entity_type_manager;
     $this->stringTranslationManager = $string_translation;
     $this->eventDispatcher = $eventDispatcher;
@@ -87,6 +128,11 @@ class EntityCloneForm extends FormBase {
     $this->entity = $route_match->getParameter($parameter_name);
 
     $this->entityTypeDefinition = $entity_type_manager->getDefinition($this->entity->getEntityTypeId());
+
+    $this->pathAliasManager = $path_alias_manager;
+    $this->pathAliasRepository = $path_alias_repository;
+    $this->languageManager = $language_manager;
+    $this->moduleHandler = $module_handler;
   }
 
   /**
@@ -98,7 +144,11 @@ class EntityCloneForm extends FormBase {
       $container->get('current_route_match'),
       $container->get('string_translation'),
       $container->get('event_dispatcher'),
-      $container->get('messenger')
+      $container->get('messenger'),
+      $container->get('path_alias.manager'),
+      $container->get('path_alias.repository'),
+      $container->get('language_manager'),
+      $container->get('module_handler')
     );
   }
 
@@ -162,6 +212,33 @@ class EntityCloneForm extends FormBase {
 
     $this->eventDispatcher->dispatch(EntityCloneEvents::PRE_CLONE, new EntityCloneEvent($this->entity, $duplicate, $properties));
     $cloned_entity = $entity_clone_handler->cloneEntity($this->entity, $duplicate, $properties);
+
+    $pathauto_enabled = $this->checkPathAuto();
+    if ($pathauto_enabled && $this->entity instanceof NodeInterface) {
+      $org_url = $this->removeLangcodeFromUrl($this->entity->toUrl()
+        ->toString());
+      $language = $this->entity->language()->getId();
+      $org_path = $this->pathAliasManager->getPathByAlias($org_url, $language);
+      $org_alias = $this->pathAliasManager->getAliasByPath($org_url, $language);
+
+      if ($org_path !== $org_alias) {
+        $cloned_path_alias = $org_alias . $this->t('_cloned');
+        $cloned_url = $this->removeLangcodeFromUrl($cloned_entity->toUrl()
+          ->toString());
+        if ($this->pathAliasManager->getPathByAlias($cloned_path_alias) === $cloned_path_alias) {
+          /** @var \Drupal\path_alias\Entity\PathAlias $alias */
+          $this->createAlias($cloned_path_alias, $cloned_url, $language);
+
+          $default_language = $cloned_entity->get('langcode')->value;
+          foreach ($this->languageManager->getLanguages() as $language) {
+            if ($cloned_entity->hasTranslation($language->getId()) && $language->getId() !== $default_language) {
+              $this->createAlias($cloned_path_alias, $cloned_url, $language);
+            }
+          }
+        }
+      }
+    }
+
     $this->eventDispatcher->dispatch(EntityCloneEvents::POST_CLONE, new EntityCloneEvent($this->entity, $duplicate, $properties));
 
     $this->messenger->addMessage($this->stringTranslationManager->translate('The entity <em>@entity (@entity_id)</em> of type <em>@type</em> was cloned.', [
@@ -170,6 +247,8 @@ class EntityCloneForm extends FormBase {
       '@type' => $this->entity->getEntityTypeId(),
     ]));
 
+    $this->messenger->addWarning($this->stringTranslationManager->translate('You have enabled Pathauto pattern for this bundle, to enable cloning of url aliases you should disable it.'));
+
     $this->formSetRedirect($form_state, $cloned_entity);
   }
 
@@ -212,4 +291,75 @@ class EntityCloneForm extends FormBase {
     return $this->entity;
   }
 
+  /**
+   * Removes langcode from url.
+   *
+   * @param string $url
+   *   Url to modify.
+   *
+   * @return string|string[]|null
+   *   Returns modified url if matched or returns url.
+   */
+  private function removeLangcodeFromUrl(string $url) {
+    if (preg_match('#^/[A-Za-z]{2}/#', $url)) {
+      $url = preg_filter('/^\/[A-Za-z]{2}\//', '/', $url);
+    }
+    return $url;
+  }
+
+  /**
+   * Checks if PathAuto module exists and pattern is enabled for cloned bundle.
+   *
+   * @return bool
+   *   Returns TRUE if module does not exists.
+   *
+   * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
+   * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
+   */
+  private function checkPathAuto() {
+    if ($this->moduleHandler->moduleExists('pathauto')) {
+      /** @var \Drupal\pathauto\Entity\PathautoPattern $c */
+      $pathauto_pattern = $this->entityTypeManager->getStorage('pathauto_pattern')
+        ->load($this->entity->bundle());
+      $status = FALSE;
+      if($pathauto_pattern) {
+        $status = $pathauto_pattern->get('status');
+      }
+      if ($status) {
+        $conditions = $pathauto_pattern->getSelectionConditions();
+        foreach ($conditions as $key => $condition) {
+          $conf = $condition->getConfiguration();
+          if (in_array($this->entity->bundle(), $conf['bundles'])) {
+            return FALSE;
+          }
+        }
+      }
+    }
+    return TRUE;
+  }
+
+  /**
+   * Creates alias for cloned entity.
+   *
+   * @param string $new_alias
+   *   Alias to set.
+   * @param string $path
+   *   Path to anchor alias.
+   * @param string $langcode
+   *   Languagecode of alias.
+   *
+   * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
+   * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
+   * @throws \Drupal\Core\Entity\EntityStorageException
+   */
+  private function createAlias(string $new_alias, string $path, string $langcode) {
+    /** @var \Drupal\path_alias\Entity\PathAlias $cloned_transaltion_alias */
+    $alias = $this->entityTypeManager->getStorage('path_alias')
+      ->create();
+    $alias->setAlias($new_alias);
+    $alias->setPath($path);
+    $alias->set('langcode', $langcode);
+    $alias->save();
+  }
+
 }
