google: are these expiration headers incorrect? Especially for SEO?

I can't understand why my ranking fell, while I implemented 4 Nginx cache servers on different continents.

When I serve the PHP pages, I configure this expiration header from the source server, so that my Nginx can cache these pages for x amount of time without re-ordering them on the source server, and serve them faster to nearby clients.

Are these bad for SEO maybe? Do they also tell the Google robot that these pages will expire in this period of time and that Google could stop sending traffic until it finds them again?

Do I usually need to clip these headers on the latest servers and only use these headers between my Nginx cache and the source server?

$cache_seconds = 60*5; 

header("Expires: ".gmdate('D, d M Y H:i:s GMT', time()+$cache_seconds));
header("Cache-Control:public, max-age=".$cache_seconds);