Can't throw a 404 error with urls that start with a question mark
So recently I updated my site from Joomla to Wordpress. (best decision of my life...seriously)
All of my old Joomla links were formatted with a ? right after my domain name like this: www.example.com/?blah
Now when I switched to Wordpress, I'm using pretty URLs that are formatted like this : www.example.com/blah
Now googles got all the old Joomla urls still indexed so when searched for it still gives you the old URLs. In my head those Joomla URLs should throw a 404 error. But they don't! They just display the homepage.
For Example - if you go to www.example.com/blah it will throw a 404 error because that page doesn't exist, however if you go to www.example.com/?blah it will show that URL in the address bar, but display the homepage despite the fact that that page does not exist either.
So my questions are: 1) will google eventually dump those URLs in favor of my Wordpress ones? How will that hurt my SEO and page rank - does google still see that as a valid page and keep it in its index?
2) How do I force 404 errors for those URLs that don't exist anymore with a question mark.
(1) You'll have to get your sitemap redone and have GoogleBot reindex your site. Google Webmaster Tools should be the place to do that.
(2) You could redirect the invalid links to a 404 page using your .htaccess file