This is a question about web application architecture rather than coding per se, however I still think it belongs here as it’s in the problem domain of most web developers:
My problem. I have a page on which the content is not complete (only partial content). I don’t want to just return a 200 response because I want it to be clear that the content on the page is only temporary, and that a visitor (google) should return at a later date to retrieve the correct page.
I’m not sure if there is a status code in the http specification that would be useful here.
I’m thinking about using a 302 redirect to the same URI, but I’m not sure if google will see this as gaming (I don’t see why it should – no-one would 302 to the same URI on a permanent basis as the page content would be pretty much disregarded).
That’s exactly what I want: For the page to be accessible – but for google to disregard the page, remember the URL and come back later to index it.
I don’t want to use a meta ‘no-index’ tag with a 200 response as I fear this will stop the page being reindexed when the correct content is ready.
206 is the partial status code but thats not what you are doing here. Thats for multi part docs. What you have here is a “under construction” type page but only the content in the page is going to change not the uri. So the right thing to do is just return a 200 and let Google index it.
If you don’t want it indexed yet because it is not ready for the public yet then add a meta no-index like you say. Google still downloads the page and parses it to find the no-index but does not index it. Remove the no-index when you are ready and it will start indexing. You can even prompt this by submitting a new sitemap.xml file with your page in it.
Google re-indexes insanely quickly these days so don’t worry too much about temp blocking a page with a meta tag.