http://example.com/article/1 and http://example.com/?article=1 is treated as two different URLs to a search engine. They are bad for SEO because of the following reasons:
- link juice is split between the 2 URLs
- duplicate content on the same site as mentioned by Pavan.
As in 1, the same principle applies. http://example.com/?blabla=qwerty is indeed treated as a different page than http://example.com/
http://example.com/????article=1 is indeed different from http://example.com/?article=1. In the first case, the GET parameter is "???article" having a value of 1 and the second example, the GET parameter is "article" having a value of 1.
Now to solve this, you can use one of several strategies:
Use Canonical URLs
The Canonical URL serves to consolidate link signals for the duplicate or similar content. More to read on Google Webmaster Tools. In your case, you should add a canonical URL in the header such as.
<link rel="canonical" href="http://example.com/article/1" />
More background information can be found on Moz
Use 301 redirects
Where links are not canonical, use 301 permanent redirects to pass over the link juice to the new URL. Reference: Moz 301
Using rel="next" and rel="prev"
Where there's paginated content, use HTML attributes rel="next" and rel="prev" to indicate to google that the pages are paginated and linked. This will solve handle issues such as ?page=1 and ?page=2. Read more about Indicate paginated content at Google.
<link rel="prev" href="http://www.example.com/article?page=1">
<link rel="next" href="http://www.example.com/article?page=3">