WordPress: Two different Permalinks for same Blog

Is there any way we can have two different Permalinks in a WordPress blog? This is because lot of us starts blogging when we have limited knowledge of SEO and end up in some URLs which are not that SE friendly.

Hence lot of pages from Blogs are already indexed by search engine and we do not want to spoil old URLs.

Read More

Thus I want to create new Permalink that is different than the old one. Only the newer post should use this permalink.

Is there any solution to this problem? Without 302 redirect we want to create 2 different Permalinks in the same WordPress blog.

Related posts

Leave a Reply

1 comment

  1. If I understand you correctly, you want to access the old posts only with the old permalink structure (e.g. ?p=123), and the new posts only with the new structure(e.g. /2009/08/name-of-article).

    I’m afraid this is not possible without rewriting the WordPress code (see short explanation at the end of my answer).

    However, I think that Scott Yang’s permalink redirect plugin (scroll down to FAQ) or Dean Lee’s permalink migration plugin could be a solution.

    Edit: both sites no longer exist. There are snapshots on Archive.com:
    Scott Yang’s plugin, Dan Lee’s plugin.
    These plugins are over 10 years old, however. The WP Redirect Permalink plugin might provide a similar service.

    When WordPress generates a link (e.g. for a new article, for “continue reading” links or for search results), it will use the new permalink structure, even for the old posts (which sadly isn’t exachtly what you intended). If someone however uses an old permalink, it will be rewritten on the fly and the user (or SE) will be redirected to the correct page.

    This 301 redirect should keep your page rank.


    Explanation why having different permalink structures for old and new posts in parallel would mean changing WordPress code:

    For each post, WordPress stores an unique ID (e.g. “123”) and not necessarily unique post name (e.g. “name-of-article”) in the database.

    When an URL with a permalink like /2009/08/name-of-article is accessed, WordPress translates this according to the currently configured permalink structure. If it constructs a link, it also does this according to the currently configured permalink rule.

    You would need to add code toe WordPress so that it uses two different rules depening on the age of the article.