Why do birds migrate?

, 12 November 2023
Why do birds migrate?
Wheatear © Tom Lee

Paul Tinsley-Marshall

Site Manager, Rye Harbour Nature Reserve

I’ve always thought that it’s an extraordinary thing that it is possible to see a bird, and with a little knowledge about what species it is and the place in which you are seeing it, to know that that bird is on an epic journey. 

It only takes a little more curiosity to enable you to discover whether you bird is likely to be near the beginning, middle, or end of its journey. If you see a Wheatear on the beach at Rye Harbour Nature Reserve in the early spring, or early autumn, you can be pretty sure it’s at some point on an amazing journey.

Redshank © Barry Yates
Redshank © Barry Yates

The reasons why birds migrate, and the risks they take in doing so, are fascinating too. The journeys they make can be extremely long and dangerous, and are one of the main causes of death in some species.

What makes it all worthwhile? The resources birds need to live and breed vary in availability at different times of year, and in different places. Food, a mate, or somewhere to build a nest, are things that birds might need all of the time, or just some of the time, and finding them all in the same location, or somewhere without too much competition from others isn’t always possible. To get around this, some birds have evolved migration strategies to ensure they are in the right place at the right time in their life cycle.

Ringed Plover with eggs © Barry Yates
Ringed Plover with eggs © Barry Yates

Migration can be a particularly effective strategy for ground-nesting birds, such as the Ringed Plover, which in the UK have the run the gauntlet of mammalian predators such as Foxes, Badgers, Weasels, Rats, Pine Martens and Hedgehogs.

Many of the birds that we see in the UK either on migration or overwintering breed in the far north of our hemisphere, where the extensive tundra, boreal forests and taiga offer a comparatively predator-free environment. At this northerly extreme, daylight is constant in the summer, which means more time for feeding, which can mean better body condition, the ability to lay more eggs, the chance of raising more chicks and more chance of your young making it to adulthood. The abundance of sunlight means that vegetation is very productive, providing plentiful food for herbivorous birds such as geese, and habitats that support many insects, benefitting insectivorous birds.

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1782754814.23910 [906] SELECT p.pagePath, pr.routePattern, pr.routeRegExp, p.pageTemplate, pr.routeOrder, s.settingValue AS siteOffline FROM swt_pages_staging p LEFT JOIN swt_page_routes pr ON p.pageID=pr.pageID LEFT JOIN swt_settings s ON s.settingID='siteOffline' UNION SELECT NULL AS pagePath, pr2.routePattern, pr2.routeRegExp, pr2.templatePath AS pageTemplate, pr2.routeOrder, NULL AS siteOffline FROM swt_page_routes pr2 WHERE templateID!=0 ORDER BY routeOrder ASC, pagePath ASC
1782754814.30410.065Matched route: news/[slug:s]
1782754814.30430.0002Server address: 216.73.217.103
1782754814.30430Using master page: /templates/pages/blog/post.php
1782754814.30430Page arguments:
Array
(
    [0] => /news/why-do-birds-migrate
    [s] => why-do-birds-migrate
    [1] => why-do-birds-migrate
)
1782754814.30470.0004 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782754814.30570.001 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1782754814.30790.0022 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1782754814.30860.0007INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1782754814.31080.0022 [1] SELECT * FROM swt_shop_cart WHERE cartID=22425214
1782754814.31140.0006 [1] SELECT * FROM swt_shop_cart WHERE cartID=22425214
1782754814.31240.001 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-06-29 17:40:00' AND saleTo>'2026-06-29 17:40:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1782754814.31390.0015 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='why-do-birds-migrate')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-06-29 17:40:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1782754814.31680.003 [1] SELECT FOUND_ROWS() AS `count`
1782754814.31750.0007 [1] SELECT * FROM swt_blog_posts WHERE postID=3223 AND postStatus='Published' AND postDateTime<='2026-06-29 17:40:00'
1782754814.31870.0012 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1782754814.31950.0008 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1782754814.32030.0008 [1] SELECT * FROM swt_categories WHERE catID=256 LIMIT 1
1782754814.32080.0005 [1] SELECT * FROM swt_categories WHERE catID=70 LIMIT 1
1782754814.32130.0004 [1] SELECT * FROM swt_categories WHERE catID=45 LIMIT 1
1782754814.32180.0006Using template: /templates/blog/post.html
1782754814.32210.0003 [162] SELECT catID, catPath FROM swt_categories
1782754814.32310.001 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-06-29 17:40:00' AND postSlug='why-do-birds-migrate'
1782754814.34370.0206Using template: /templates/blog/post.html
1782754814.34420.0005 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1782754814.34620.002Using template: /templates/pages/attributes/seo.html
1782754814.34640.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1782754814.35530.0089 [nil] SELECT * FROM ( SELECT idx.itemID, c.regionID, idx.pageID, c.itemJSON, idx2.indexValue as sortval FROM swt_content_index idx JOIN swt_content_items c ON idx.itemID=c.itemID AND idx.itemRev=c.itemRev AND idx.regionID=c.regionID JOIN swt_content_index idx2 ON idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev AND idx2.indexKey='_order' WHERE ((idx.regionID=104 AND idx.itemRev=0)) AND idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev ) as tbl GROUP BY itemID, pageID, itemJSON, sortval, regionID ORDER BY sortval ASC
1782754814.35730.002 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782754814.36140.0041 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782754814.36220.0008 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782754814.37250.0103Using template: /templates/navigation/ps_nav_template.html
1782754814.37250.0001 [6] Using template: /templates/navigation/ps_nav_template_children.html
1782754814.37340.0009 [4] Using template: /templates/navigation/ps_nav_template_children.html
1782754814.37390.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1782754814.37660.0027 [10] Using template: /templates/navigation/ps_nav_template_children.html
1782754814.37760.001 [7] Using template: /templates/navigation/ps_nav_template_children.html
1782754814.37830.0007 [9] Using template: /templates/navigation/ps_nav_template_children.html
1782754814.38130.003 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1782754814.38220.0009 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1782754814.38440.0022 [1] Using template: /templates/navigation/breadcrumbs.html
1782754814.38490.0005Using template: /templates/blog/post.html
1782754814.38520.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1782754814.38590.0007Using template: /templates/blog/author.html
1782754814.38620.0004 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='why-do-birds-migrate')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-06-29 17:40:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1782754814.38830.002 [1] SELECT FOUND_ROWS() AS `count`
1782754814.38880.0005 [1] Using template: /templates/blog/post.html
1782754814.39220.0034Using template: /templates/blog/comment_form.html
1782754814.39320.001 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=3223 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1782754814.44380.0506 [0] Using template: /templates/blog/comment.html
1782754814.4440.0002Using template: /templates/blog/post.html
1782754814.44430.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1782754814.44560.0013 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1782754814.44840.0028 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1782754814.44920.0008 [7] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-002%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782754814.45160.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782754814.45910.0075 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782754814.46130.0022 [6] Using template: /templates/navigation/footer-nav.html
1782754814.46280.0015 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782754814.46350.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782754814.4640.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1782754814.46680.0028 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782754814.46880.0019 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782754814.47090.0022 [10] Using template: /templates/navigation/footer-nav.html
1782754814.47480.0039 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1782754814.47540.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1782754814.47590.0005 [30] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-004%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782754814.4780.0021 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782754814.47850.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782754814.48030.0018 [29] Using template: /templates/navigation/footer-nav.html
1782754814.48310.0028 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782754814.48390.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782754814.48440.0004 [11] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782754814.48650.0021 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782754814.48690.0004 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782754814.48860.0017 [10] Using template: /templates/navigation/footer-nav.html
1782754814.490.0013Request time: 0.2536
1782754814.490Process time: 0.2535
1782754814.490Memory: 1.6254