So my site has a blog and gallery, both working the same way. There's an index, and each post has a permalink going to the individual entry. However, if I search for some of the content on Google, often it returns a link to the index, just because it happened to have been on the first page when it was crawled, instead of the individual post pages. This is especially true in cases of images. How can I make it so that Google returns the proper pages for the posts instead of just the main page of my site? My whole site is custom php code I made.
Some people actually put a no-index directive on their blog index page, that is a drastic step, but could make sense particularly for the gallery.
Another thing you could do is post excepts instead of listing the entire post on the index page.
Getting deep links to the individual posts from other sites would help.