There are a number of circumstances where a URL will not be indexed by a search engine. This may be due to:
Robots.txt file exclusions – a file which tells search engines what they shouldn’t visit on your site.
Directives on the webpage telling search engines not to index that page (noindex tag) or to index another similar page (canonical tag).
Search engine algorithms judging the page to be of low quality, have thin content or contain duplicate content.
The URL returning an error page (e.g. a 404 Not Found HTTP response code).