Question:

How do I make ugly URLs such as "/index.php?main_page=about_us"?

Aurora: 5 days ago

I'm converting a Zen Cart (https://en.wikipedia.org/wiki/Zen_Cart) site to Ubercart (https://www.drupal.org/project/ubercart) and need to keep Zen Cart’s ugly URLs for SEO purposes. The site is top ranking on Google Search for their keywords and I’ve been advised that changing the URLs to something cleaner could potentially hurt rankings.

I wonder if there is any way to give a node a URL like http://example.com/index.php?main_page=about_us?

By default Drupal encodes special characters, so it tries to make my URL /index.php%3Fmain_page%3Dabout_us and I also get a 403 error.

Answer:
Skylar: 5 days ago

My advice would be to keep Drupal's URL handling as is and simply configure a set of redirects with code 301 in your .htaccess.
That way your URLs will maintain their google ranking.

A useful quote:

"Be aware that when moving a page from one URL to another, the search engines will take some time to discover the 301, recognize it, and credit the new page with the rankings and trust of its predecessor. This process can be lengthier if search engine spiders rarely visit the given web page, or if the new URL doesn't properly resolve."

This is an excerpt from https://moz.com/learn/seo/redirection, I would recommend reading that whole article, it's quite useful.

And an example of such a redirect:

RewriteCond %{QUERY_STRING}     ^main_page=about_us$     [NC]
RewriteRule ^.*$             /node/1234     [NC,L,R=301]

Hope this helps!