Building a news site in WordPress. Importing articles from old, custom-built site. I want the imported URLs to be the same, to preserve SEO equity. The URLs should look like:

site.com/category/article-slug/2409230 (legacy id# at the end)

So each Post’s full slug would be like article-slug/2409230 (with forward slash in the middle).

  • Using Custom Permalinks plugin which lets me have forward slash (“https://wordpress.stackexchange.com/”) in slug when editing an individual article.
  • Using WP-All-Import plugin to manage the import process, all data & slug fields are normalized and ready to go.
  • Updated sanitize_title_with_dashes function (described here) to allow forward slash (“https://wordpress.stackexchange.com/”) in slug when importing.

Upon importing old articles, it’s saving the slug as intended. Displays intended URL when I hover on View link, and checked the wp_posts
DB entry to verify.

The problem is when I open that post, it does the following:

site.com/category/article-slug/2409230 301 redirect to

site.com/category/article-slug/2409230/2409230 which is a 404

If I Edit an imported post, update the slug, Save, revert slug, and Save again – it works properly (Custom Permalinks plugin is doing its job here). But I can’t do that 27k times for all of these old articles.

Anyone know what’s making WordPress want to redirect the imported slugs? Or how I can avoid this and get the imported articles to load without manually editing each one?

0

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *