Species of the day: Swallow

, 14 May 2020
Species of the day: Swallow
Swallow © Derek Middleton

By James Duncan

Learning and Engagement Officer

The Swallow (Hirundo rustica) is a fabulous indicator of seasonal change, arriving on our shores with the advent of spring and typically departing as the nights draw in, following the autumn equinox. It's perhaps our most welcomed avian migrant, one viewed with overwhelming affection as a glorious precursor to summer. It's interesting to consider that in Classical Greek times, Aristotle had once thought of the Swallow as a bird that hibernated underwater throughout the winter. This may seem far-fetched, but he may naturally have witnessed the birds both disappearing out to sea and skimming insects from the surface of water-bodies. Incredibly this belief existed not just for hundreds of years, but well into the eighteenth century. Of course we now know the Swallow to be one of out most magnificent long-distance migrants, undertaking a hugely demanding annual pilgrimage between its breeding and wintering grounds. Data garnered by the British Trust for Ornithology (BTO) has even shown the Swallow to be one species whose arrival time in Britain has shifted significantly forward in recent years (a total exceeding ten days), perhaps indicative of a response to a rapidly changing global climate. 

The Swallow belongs to an extensive family of birds, the Hirundinidae, comprising both the swallows and martins. Officially our swallow is known as the 'Barn Swallow', a necessary in order to differentiate it from a variety of family members present in mainland Europe and Africa. A number of subspecies are even recognised from the Barn Swallow itself. With a predilection for spending half its year raising a family in our barns and outbuildings, the name seems entirely logical. Once upon a time, it was likely a cave-nesting species though it's now readily associated with not just rural locations, but our quieter urban spaces. The most ubiquitous location for a perching Swallow is most surely a telegraph wire, to the point where it's hard to envisage anything more suitable. The privilege and joy of watching Swallows as they flit and dance, twittering evocatively, is fortunately now a regular sight across the country. Though that's not to say they haven't seen significantly fluctuations in population - as a whole, Swallows have declined across Europe since the 1970's. 

As with many migrants, climatic conditions play a huge part in Swallow survival, largely owing to the effects on the emerging insects upon which they are reliant. Changing climate is, however, also playing a role in increasing the vast size of the Sahara Desert, expanding an obstacle that's already formidable. Unusually, Swallows undertake migration by day, finding food on route, though the perilous nature of the journey means many will not make it. They face a staggering variety of hazards, just some of which range from starvation to drought, exhaustion to predation, object collision to pollution, violent weather to hunting. Though commonplace, migration is fraught with danger. There are only two interconnected reasons why it's worth the risk - light and food. Put simply, northerly latitudes offer more daylight hours in which to feed on the profusion of emerging insects during the spring and summer. British Barn Swallows also happen to undertake some of the longest routes during migration, continuing all the way to South Africa and Botswana, often over 6000 miles each way at average speeds of over 20mph. 

Swallows have always been a familiar bird of pastoral landscapes, and it's no doubt their fondness for those insect species considered as 'pests' that traditionally helped endow them with such affection. They were viewed as symbols of the onset of good luck and good weather, gaining a popularity that exists to this day in our supreme desire to protect them. As a whole, Swallows feed closer to the ground than their relative, the House Martin, and typically eat larger prey. Their wings are perfectly suited for performing magnificent feats of agility, enabling them to effectively pursue their prey, but they're not actually the very fastest of flyers - in level flight they'll be outgunned by Swifts, Ducks and Pigeons. If you're lucky enough to see them up close, you'll be rewarded by a beautifully elegant bird with iridescent blue plumage, a striking red throat and forehead and conspicuous tail streamers.  

Swallows © Jeff Paynter

Swallows © Jeff Paynter

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1783201986.42230 [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
1783201986.44750.0251Matched route: news/[slug:s]
1783201986.44760.0001Server address: 216.73.217.177
1783201986.44760Using master page: /templates/pages/blog/post.php
1783201986.44770Page arguments:
Array
(
    [0] => /news/species-of-the-day-swallow
    [s] => species-of-the-day-swallow
    [1] => species-of-the-day-swallow
)
1783201986.4480.0004 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783201986.44880.0008 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783201986.45060.0017 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1783201986.45110.0005INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1783201986.45270.0016 [1] SELECT * FROM swt_shop_cart WHERE cartID=22628976
1783201986.45310.0004 [1] SELECT * FROM swt_shop_cart WHERE cartID=22628976
1783201986.45360.0004 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-04 21:53:00' AND saleTo>'2026-07-04 21:53:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783201986.45490.0013 [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='species-of-the-day-swallow')) 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-04 21:53:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1783201986.45690.002 [1] SELECT FOUND_ROWS() AS `count`
1783201986.45740.0005 [1] SELECT * FROM swt_blog_posts WHERE postID=2146 AND postStatus='Published' AND postDateTime<='2026-07-04 21:53:00'
1783201986.45830.0009 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783201986.45910.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783201986.45970.0006 [1] SELECT * FROM swt_categories WHERE catID=191 LIMIT 1
1783201986.46020.0005 [1] SELECT * FROM swt_categories WHERE catID=45 LIMIT 1
1783201986.46090.0007Using template: /templates/blog/post.html
1783201986.46110.0002 [162] SELECT catID, catPath FROM swt_categories
1783201986.4620.0009 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-04 21:53:00' AND postSlug='species-of-the-day-swallow'
1783201986.4830.021Using template: /templates/blog/post.html
1783201986.48360.0007 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783201986.48530.0016Using template: /templates/pages/attributes/seo.html
1783201986.48550.0002 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1783201986.48640.0009 [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
1783201986.48810.0016 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783201986.49110.003 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783201986.49170.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783201986.49380.0021Using template: /templates/navigation/ps_nav_template.html
1783201986.49380 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783201986.49480.001 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783201986.49520.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783201986.49770.0025 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783201986.49870.001 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783201986.49940.0007 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783201986.50230.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1783201986.50310.0008 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1783201986.5050.0019 [1] Using template: /templates/navigation/breadcrumbs.html
1783201986.50550.0005Using template: /templates/blog/post.html
1783201986.50580.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='19' LIMIT 1
1783201986.50640.0006Using template: /templates/blog/author.html
1783201986.50680.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='species-of-the-day-swallow')) 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-04 21:53:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1783201986.50860.0018 [1] SELECT FOUND_ROWS() AS `count`
1783201986.5090.0004 [1] Using template: /templates/blog/post.html
1783201986.51210.0032Using template: /templates/blog/comment_form.html
1783201986.5130.0009 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=2146 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1783201986.57210.0591 [0] Using template: /templates/blog/comment.html
1783201986.57230.0003Using template: /templates/blog/post.html
1783201986.57260.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='19' LIMIT 1
1783201986.57340.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783201986.57410.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783201986.57460.0005 [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
1783201986.57720.0026 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783201986.57770.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783201986.57970.0019 [6] Using template: /templates/navigation/footer-nav.html
1783201986.58080.0011 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783201986.58130.0005 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783201986.58170.0004 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783201986.58410.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783201986.58460.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783201986.58670.0021 [10] Using template: /templates/navigation/footer-nav.html
1783201986.59010.0034 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783201986.59070.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783201986.59120.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
1783201986.59350.0022 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783201986.59390.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783201986.59580.0019 [29] Using template: /templates/navigation/footer-nav.html
1783201986.59870.0029 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783201986.59940.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783201986.59990.0005 [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
1783201986.6020.0021 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783201986.60250.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783201986.60440.0019 [10] Using template: /templates/navigation/footer-nav.html
1783201986.60580.0014Request time: 0.1869
1783201986.60580Process time: 0.1867
1783201986.60580Memory: 1.6521