SEO Ultimate package released! Grab 20% off - SEO20 Explore

Magento 2 Add URL Rewrite programmatically

Magento 2 URL Rewrite programmatically is one of the awesome solutions for online retailers as you who want to really create a huge number of the traffics of your website. The purpose of rewriting the url is allowing you generating 301 redirects into Magento 2 by the programmatical way.

What is URL Redirect?

URL redirect is a popular term in SEO and it is used for navigating the visitors to any link store owners expect. There are two main type of redirect: 301 redirect and 302 redirect. Therefore, if you are wondering how to continue working with the existing visitor at the current site while you are planning to build a new site with more efficiencies, the best answer is creating the search redirection through the redirect 301.

Overview of Magento 2 URL Rewrite programmatically

  • Step 1 : Generate constructor file
  • Step 2 : Insert custom URL rewrite in execute method

Step 1 : Generate constructor file

/**
* @var \Magento\UrlRewrite\Model\ResourceModel\UrlRewriteFactory
*/
protected $_urlRewriteFactory;
 
/**
* @param Context $context
* @param \Magento\UrlRewrite\Model\ResourceModel\UrlRewriteFactory $urlRewriteFactory
*/
public function __construct(
    Context $context,
    \Magento\UrlRewrite\Model\ResourceModel\UrlRewriteFactory $urlRewriteFactory
) {
    $this->_eavAttributeFactory = $eavAttributeFactory;
    parent::__construct(
        $context
    );
}

Step 2 : Insert custom URL rewrite in execute method

Only if your original website is www.example.com/customModule/customController/customAction, you want to rewrite the URL by www.example.com/xyz, instead. Then you can run the following method:

$urlRewriteModel = $this->_urlRewriteFactory->create()
/* set current store id */
$urlRewriteModel->setStoreId(1);
/* this url is not created by system so set as 0 */
$urlRewriteModel->setIsSystem(0);
/* unique identifier - set random unique value to id path */
$urlRewriteModel->setIdPath(rand(1, 100000));
/* set actual url path to target path field */
$urlRewriteModel->setTargetPath("www.example.com/customModule/customController/customAction");
/* set requested path which you want to create */
$urlRewriteModel->setRequestPath("www.example.com/xyz");
/* set current store id */
$urlRewriteModel->save();


Next tutorial:

Module Development Series



Enjoyed the tutorial? Spread it to your friends!

magento-2-tutorial
url
rewrite
programmatically

Module Development

Comments for Magento 2 Add URL Rewrite programmatically

Please leave comments if you have any questions, feedbacks.

You also may like these Magento 2 Extensions

One Step Checkout

$199
10 reviews

Layered Navigation

$99
12 reviews

SEO

FREE
no review

Shop By Brand

$99
3 reviews

People also searched for:

  • magento 2 url rewrite programmatically
  • Magento 2 URL Rewrite
  • magento 2 url rewrite management
  • magento 2 url rewrite id path
  • magento 2 url rewrite not working
  • magento 2 url rewrite to homepage
  • magento 2 url rewrite import
  • magento 2 url rewrite category to cms page
  • magento 2 url rewrite extension
  • magento 2 url rewrite table
  • magento 2 url rewrite custom module
  • magento 2 url rewrite seo
  • magento 2 url rewrite target path
  • magento 2 url rewrite tutorial
  • magento 2 update core url rewrite
  • magento 2 url rewrite video
  • magento 2 url rewrite verwaltung
  • magento 2 url rewrite with parameters
  • magento 2 url rewrite windows
  • magento 2 url rewrite www
  • magento 2 redirect url with parameters
  • magento 2 url rewrite xml
  • magento 2 reindex your url rewrite index
  • magento 2 url redirect 301
  • magento 2 url rewrite 404
  • magento 2 add url rewrite for a category