Bird ringing provides clues to migration

, 18 March 2025
Bird ringing provides clues to migration
David bird ringing © Gesine Garz

David King

Ranger, Rye Harbour Nature Reserve

Bird ringing is the process of catching wild birds and putting uniquely numbered rings on them. When they are caught, or found again, anywhere in the world, we are able to gain a lot of knowledge from the tiny little ring around their leg. When ringing started, over a 100 years ago, we were most interested in bird movements and how long they live. But it's now providing an insight into global warming and the effect it's having on changing some migration routes. With the complete computerisation of all the ringing records, researchers are now able to analyse the data in many different ways, like working out why certain species are declining so rapidly.

As a ringer, it's always exciting to catch someone else's bird (control) or have one of your own turn up elsewhere (recovery), especially when these occur abroad. Last year I had a number of Warblers that involved foreign movements. I catch reasonable numbers of Reed and Sedge Warbler at Rye Harbour and although they occupy similar habitats here, they have different wintering grounds and migration routes.

Sedge Warblers winter south of the Sahara but leave Britain and make a short hop to Northern France, where they feed up and probably do a big hop south. I do have quite a number of Sedge Warblers that make this short trip to France to feed up.

Sedge Warbler
Sedge Warbler © Barry Yates

Reed Warblers winter on the west coast of Africa and I haven't had any birds recovered aboard until this year. Last summer we caught a Portuguese Reed Warbler that was ringed in August 2023 (on its way south). This bird was caught in breeding condition at Rye. It appears that all British Reed Warblers stop in Portugal to feed up before continuing south.

Reed Warbler
Reed Warbler © Barry Yates


Willow Warblers and Chiffchaffs are both small green Warblers that look very similar, but again, they both have different migration strategies. Willow Warblers winter in broadly the same area as Sedge Warblers, south of the Sahara. However they are increasingly breeding further north, they are almost completely absent as a breeding bird in southern England and I think their numbers are decreasing alarmingly in East Anglia - no doubt driven by climate change.

Willow Warbler
Willow Warbler © Derek Middleton

Chiffchaffs are short distance migrants wintering around the Mediterranean Sea, but also in this country, particularly near sewage farms! It's warmer and there are plentiful insects there even in winter. Although there is a considerable overlap in their breeding ranges, Willow Warblers tend to breed further north than Chiffchaffs.

Chiffchaff
Chiffchaff © Dave Kilbey

At the end of July last year I caught a Chiffchaff wearing a Norwegian ring. It was an adult that was undergoing full wing moult - like many birds in Northern Europe, they moult after breeding, on or close to their breeding territory. I was rather surprised to find out that this bird was caught in the latter half of April last year in the southern half of Norway. On that date it should have been on its first breeding attempt of the year. Firstly, their aren't many Chiffchaffs breeding in Norway as it's right on the northern edge of its range. Secondly, why did it move so far across the North Sea to get here to moult? I would have expected it to moult in Norway or possibly Denmark. One possible theory is it was a failed breeding bird and it went wandering around in the summer until it found its way to Britain and Rye Harbour Nature Reserve.

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1783566748.95070 [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
1783566748.98160.0309Matched route: news/[slug:s]
1783566748.98170.0002Server address: 216.73.216.62
1783566748.98180Using master page: /templates/pages/blog/post.php
1783566748.98180Page arguments:
Array
(
    [0] => /news/bird-ringing-provides-clues-to-migration
    [s] => bird-ringing-provides-clues-to-migration
    [1] => bird-ringing-provides-clues-to-migration
)
1783566748.98220.0004 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783566748.98330.0011 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783566748.98550.0022 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1783566748.98630.0007INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1783566748.98930.003 [1] SELECT * FROM swt_shop_cart WHERE cartID=22806300
1783566748.98990.0007 [1] SELECT * FROM swt_shop_cart WHERE cartID=22806300
1783566748.99070.0007 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-09 03:12:00' AND saleTo>'2026-07-09 03:12:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783566748.99240.0017 [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='bird-ringing-provides-clues-to-migration')) 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-07-09 03:12:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1783566748.99610.0037 [1] SELECT FOUND_ROWS() AS `count`
1783566748.99670.0006 [1] SELECT * FROM swt_blog_posts WHERE postID=3659 AND postStatus='Published' AND postDateTime<='2026-07-09 03:12:00'
1783566748.9980.0013 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783566748.99880.0009 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783566748.99970.0008 [1] SELECT * FROM swt_categories WHERE catID=73 LIMIT 1
1783566749.00060.0009 [1] SELECT * FROM swt_categories WHERE catID=70 LIMIT 1
1783566749.00120.0006 [1] SELECT * FROM swt_categories WHERE catID=45 LIMIT 1
1783566749.00190.0007Using template: /templates/blog/post.html
1783566749.00230.0004 [162] SELECT catID, catPath FROM swt_categories
1783566749.00350.0011 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-09 03:12:00' AND postSlug='bird-ringing-provides-clues-to-migration'
1783566749.02580.0223Using template: /templates/blog/post.html
1783566749.02650.0007 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783566749.02850.0019Using template: /templates/pages/attributes/seo.html
1783566749.02880.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1783566749.02990.0011 [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
1783566749.03170.0018 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783566749.03490.0032 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783566749.03570.0008 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783566749.0380.0023Using template: /templates/navigation/ps_nav_template.html
1783566749.0380 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783566749.03890.0009 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783566749.03940.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783566749.04220.0028 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783566749.04330.001 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783566749.0440.0008 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783566749.04710.0031 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1783566749.04820.0011 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1783566749.0510.0028 [1] Using template: /templates/navigation/breadcrumbs.html
1783566749.05160.0006Using template: /templates/blog/post.html
1783566749.0520.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1783566749.05290.0009Using template: /templates/blog/author.html
1783566749.05330.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='bird-ringing-provides-clues-to-migration')) 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-07-09 03:12:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1783566749.05560.0023 [1] SELECT FOUND_ROWS() AS `count`
1783566749.05620.0006 [1] Using template: /templates/blog/post.html
1783566749.05980.0036Using template: /templates/blog/comment_form.html
1783566749.0610.0012 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=3659 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1783566749.11190.0509 [0] Using template: /templates/blog/comment.html
1783566749.11220.0003Using template: /templates/blog/post.html
1783566749.11250.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1783566749.11350.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783566749.11440.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783566749.11520.0007 [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
1783566749.11780.0026 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783566749.11840.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783566749.12040.002 [6] Using template: /templates/navigation/footer-nav.html
1783566749.12180.0013 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783566749.12250.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783566749.1230.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783566749.12530.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783566749.12580.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783566749.12780.0019 [10] Using template: /templates/navigation/footer-nav.html
1783566749.13110.0033 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783566749.13180.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783566749.13260.0007 [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
1783566749.13490.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783566749.14150.0067 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783566749.14420.0026 [29] Using template: /templates/navigation/footer-nav.html
1783566749.1470.0029 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783566749.1480.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783566749.14850.0006 [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
1783566749.15090.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783566749.15150.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783566749.15330.0019 [10] Using template: /templates/navigation/footer-nav.html
1783566749.15460.0013Request time: 0.2079
1783566749.15460Process time: 0.2077
1783566749.15460Memory: 1.6554