I can’t use bulk redirects, since they don’t support querystrings. Eventually, I’ll have 1,500 or so of these urls to rewrite. I found how I can do it with URL rewrites, but is there a limit to how many of those I can have? I have the Pro plan now.
You can use a Worker to do this programmatically to map the old to new product numbers. If the number of requests is a worry for cost, you can use a (free) Snippet instead as you have a Pro plan. Depending on the length of the product numbers you might need to split across several Snippets to fit into the 32KB size they are limited to.
The example is based on URL path but you can modify to do for query strings…