I have a website that is updated fairly often. It has only been online since Jan (about 3 months).

I don't manually update the site, the site gets new content from users. The backend stores the website content and serves it up conditionally (paged, sorted by date, etc).

When I do a Google search, I find a link to my website and that works just fine. Google also lists individual pages of my site in the search ressults. So for example:

  • news - www.example.com
  • contacts - www.example.com
  • about - www.example.com

If I click "news - www.example.com" in the Google search results I get my website content as it was 3 months ago on that page. If once I'm on my website and navigate internally, I get up to date content, even if I navigate back to the news page. This leads me to think Google has cached and indexed my pages.

The problem is, obviously that if a user gets to one of my pages via a Google search link, they will get content 3 months old.

I can't manually ask Google to re-crawls my site every time a new post is made. I don't create content, users do.

How can I fix this without negatively affecting:

  • Performance
  • Google ranking

I've searched for answers, but the only things I've found are posts about pages that no longer exist and such due to an old website being re-written or re-coded. that is not my issue. The HTML, CSS, JavaScript, and directory structure haven't changed. Only the content in the data base which is served up by PHP as content is different.


  1. None of the content is hard coded into the site. It is pulled from the database...
  2. Content changes at least 5 times a day... at random times.
  3. All the links Google provides are 100% correct... there are no stale or old pages (This is not true, see my edit bellow).
  4. If I go to the page via the address bar bypassing Google or even if I go to it via the main Google provided search ressult link www.xyz.com... all works 100%.
  5. Only when I click on a page specific link that shows up in a Google search is there a problem... the link Google provides for the main site works 100%.

EDIT What I realized is that Google indexed the site such that some of the page specific links are as such: www.xyz.com/a.php?article=555. Obviously it should be just www.xyz.com/a.php since there are many articles on one page and which articles are there is date dependant. In this example if a user clicked the link they would see the site with one article, specifically article 555. Maybe I need some robots file to prevent search engines from indexing pages as such... not quite sure how.

  • Then they much view it as cache, as Google doesnt work like some sort of VPN. They might have old info, but they'll always redirect to your page, with YOUR content.
    – Martijn
    Mar 23, 2015 at 16:24
  • Clear your browser cache when not on your site and try again.
    – closetnoc
    Mar 23, 2015 at 19:19
  • @closetnoc. Yes, browser cache is clear. Mar 23, 2015 at 21:26

3 Answers 3


Google search results never lead directly to a cache of your pages. Google does cache pages, but you need to use the drop down next to the URL in the search results to see their cached versions.

If you are clicking on the search results and seeing old content on your site, you must have a page on your site that only lists that old content. This sometimes happens with blogs. There is usually a site feature called "show older posts" that shows posts from an older date. It is possible that Google is showing a page like that in the links it associates with your site.

One option would be remove functionality like that from your site.

Another option would be to put navigation at the top of your home page with pages that you would like to have in these site links. Google is much more likely to use links from the top of your home page for site links.

  • I have a nav like that at the top of page. Google grabbed the site links from that. Also, I don't have such a feature on my site. It is 100% custom hand coded. Mar 23, 2015 at 21:29
  • So how does your site look old when users click to it? Can you provide a link for us to look at? Mar 23, 2015 at 21:30
  • The site looks fine... the text content pulled from db is old. I now know why. I just need to figure out how to fix. What I realized is that Google indexed the site such that some of the links are as such: www.xyz.com/a.php?article=555. Obviously it should be just www.xyz.com/a.php sicne there are many articles on one page and which articles are there is date dependant. Mar 23, 2015 at 22:20
  • Isn't 555 an article id? If somebody searches for something that is in one of your articles, Google refers them directly to the article. Your home page doesn't end up ranking for very much at all. Most visitors from search engines don't start at your home page. If you prevent Google from crawling and indexing your articles, you won't get much search engine traffic. Mar 23, 2015 at 23:46

Like I told you on Stack Overflow, your site is only three months old and Google will not crawl and index your content frequently. If you want Google to find your new content quicker (the fact that is user generated is not relevant here) you need to keep adding fresh content and get more quality links pointing to your pages.

Additionally, as pointed out in the comments, Google doesn't send users to old pages. They send them to URLs they know about and if that content is old then its because that content is old. Not because Google has anything to do with it being old.


Make use of the noarchive robots meta tag by inserting this between the opening and closing head tags:

<meta name="robots" content="noarchive">

This will cause google not to cache your webpages (making it serve more current versions of your webpage). I'd give them about a week if you apply the setting because their index doesn't update instantly.

Here's more info: https://support.google.com/webmasters/answer/79812?hl=en

Now if you want to go one step further like I do with my website that changes several times a week, then you can use a shorter caching timespan for your HTML document files. For example, use this header in PHP:

header("Cache-control: max-age=5,must-revalidate",true);    

The above causes the browser to use the same copy of the document for only up to 5 seconds. Another option is to use an Etag header that changes every 5 seconds. Use higher numbers for better overall performance AND if you and your clients have enough patience.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.