I believe Google Search has a way to determine a page is moved even there is no HTTP 301 or 302 redirect.

Almost five years ago, I merged five blogs into this blog and I recently thought about deleting them. It’s been a long time, even the deletion might cause some 404 if others linked to them. But I don’t really think any harm would come, old posts, doesn’t really matter and perhaps the contents already outdated, that could be even do a favor to searchers.

Anyway, I searched [site:fedoratux.blogspot.com] to see how many pages are still indexed:

https://lh3.googleusercontent.com/-lXRzXo4RQJA/VVaSubplZGI/AAAAAAAAHBU/xq9uu42c7Ko/s800/2015-05-16--05%25253A42%25253A48.png

I was surprised to see Google knows page moved when I only had this template that would show a notice, literally just:

<h1 id='title'>Tux Wears Fedora: Migrating to tmux from GNU/Screen</h1>
<div id='notice'>
This page has been moved to <a href='#' id='new_url'>(Please enable JavaScript to see the new link)</a>.
</div>
https://lh3.googleusercontent.com/-ftqM0iTqcA8/VVaSuV_Z4lI/AAAAAAAAHBQ/6wGMK6eI12o/s800/2015-05-16--05%25253A44%25253A31.png

There is no direct link to this blog in the HTML, not even a text string, it requires JavaScript to generate the link which leads to this blog.

If you look closer at the search results, you can see some of the page titles are the titles on new blogs, and even the summary is updated, which was only modified after the merge.

Google does know even without 301/302, and it must have evaluated the JavaScript, because there is not even a literal text of the new post URL. It’s smart, but I would rather Google hiding the results.