The Warbler Factory

, 25 April 2019
The Warbler Factory
Dartford Warbler © Derek Middleton

By Graeme Lyons

Senior Ecologist 

Butcherlands. The most exciting, unpredictable and constantly changing Common Bird Census (CBC) I have ever done. This is the eighth year I have carried out the four visit CBC there and it's amazing how much it's changed. Eighteen years ago this was all arable on Wealden Clay and was fenced and left to be restored to something more natural with pulse grazing by cattle currently pretty much the only management. No planting occurred and there are at least 30,000 oaks out there alone. Before looking at some of the detail though I am gonna cut right to the chase and tell you about what happened yesterday morning. First though a recap from my first visit on the 3rd April 2019. I had a Hawfinch fly over (my first since the previous winter's influx) and then surprisingly a male Dartford Warbler called repeatedly from a bramble bush. Not all that unusual to pick them up in bramble scrub away from the heaths outside of the breeding season (I've seen them in Sheepcote Valley on the edge of Brighton for example). 

Butcherlands scrub

Scrub at Butcherlands

Yesterday morning, the warblers were in full song. Whitethroats were EVERYWHERE. I recorded 44 singing males across the site. So when I got to the exact same area and heard Dartford Warbler calling again, I was pretty shocked. "It's holding territory!". I bungled the video last time so I got a quick video of it calling and you can see it fly from the bush to the left.

I thought I really should try and hear it singing, so I headed a few bushes away and crouched down out of view. It didn't work and the bird came towards me, scolding me from just a few metres away. I grabbed another video as it did so and it started singing a tiny bit. However what happened next was incredible. A female popped up out of the same bush! "THEY'RE HOLDING TERRITORY!". Some context here, there isn't any heather at Butcherlands, there is however hectares of low bramble scrub. This part of the site is on the edge of a sea of undulating bramble. It's also south west facing with a slightly sandy soil (more Common Bent/Cat's-ear than Heather). So it's hot, dry and with a structural component close to heather/low gorse. I never thought that this would be a thing at Butcherlands but these birds are much less fussy abroad. It may well be that this structural type and temperature envelope is rarely provided outside of the heaths in the UK.

Has anyone else encountered this in the UK before?

Yesterday morning my brain was totally fried from all the warblers. After this encounter I was doubting every Whitethroat that called, after all, if one pair of Darties could nest there, why not more? I really doubt I would have picked them up with so many Whitethroats there if I hadn't found the male three weeks ago. So many questions. So exciting!

I actually recorded over 75 singing warblers yesterday! My rule for difficult species pairs is this: if you're not sure, it's the commoner one. Think I'll call that 'Lyons' Razor'. It certainly came in handy with a few Blackcaps today. A Blackcap AND a Garden Warbler taking turns to sing from the same willow nearly made me lose my mind though.

Whitethroat - 44
Chiffchaff - 11
Garden Warbler - 8
Blackckap - 8
Lesser Whitethroat - 4
Dartford Warbler - 1

That's 76 warblers in all. Plus ten Nightingales and a Cuckoo. 

Read more about the birds of Butcherlands on Graeme's blog

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1783334246.41190 [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
1783334246.44440.0325Matched route: news/[slug:s]
1783334246.44460.0002Server address: 216.73.216.170
1783334246.44460.0001Using master page: /templates/pages/blog/post.php
1783334246.44460Page arguments:
Array
(
    [0] => /news/the-warbler-factory
    [s] => the-warbler-factory
    [1] => the-warbler-factory
)
1783334246.4450.0004 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783334246.44620.0012 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783334246.44820.002 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1783334246.44870.0005INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1783334246.45030.0016 [1] SELECT * FROM swt_shop_cart WHERE cartID=22685111
1783334246.45090.0005 [1] SELECT * FROM swt_shop_cart WHERE cartID=22685111
1783334246.45140.0006 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-06 10:37:00' AND saleTo>'2026-07-06 10:37:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783334246.45280.0014 [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='the-warbler-factory')) 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-06 10:37:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1783334246.45560.0028 [1] SELECT FOUND_ROWS() AS `count`
1783334246.45620.0006 [1] SELECT * FROM swt_blog_posts WHERE postID=1766 AND postStatus='Published' AND postDateTime<='2026-07-06 10:37:00'
1783334246.4570.0008 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783334246.45770.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783334246.45830.0006 [1] SELECT * FROM swt_categories WHERE catID=64 LIMIT 1
1783334246.45880.0005 [1] SELECT * FROM swt_categories WHERE catID=93 LIMIT 1
1783334246.45920.0004 [1] SELECT * FROM swt_categories WHERE catID=45 LIMIT 1
1783334246.45980.0005Using template: /templates/blog/post.html
1783334246.460.0003 [162] SELECT catID, catPath FROM swt_categories
1783334246.46090.0009 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-06 10:37:00' AND postSlug='the-warbler-factory'
1783334246.48240.0214Using template: /templates/blog/post.html
1783334246.48290.0005 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783334246.48440.0015Using template: /templates/pages/attributes/seo.html
1783334246.48460.0002 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1783334246.48560.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
1783334246.48690.0013 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783334246.48980.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783334246.49030.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783334246.49240.002Using template: /templates/navigation/ps_nav_template.html
1783334246.49240 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783334246.49310.0008 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783334246.49370.0006 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783334246.49680.0031 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783334246.49790.0011 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783334246.49860.0007 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783334246.50160.003 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1783334246.50240.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
1783334246.50440.002 [1] Using template: /templates/navigation/breadcrumbs.html
1783334246.50480.0004Using template: /templates/blog/post.html
1783334246.5050.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1783334246.50550.0005Using template: /templates/blog/author.html
1783334246.50590.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='the-warbler-factory')) 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-06 10:37:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1783334246.50790.002 [1] SELECT FOUND_ROWS() AS `count`
1783334246.50850.0006 [1] Using template: /templates/blog/post.html
1783334246.51130.0028Using template: /templates/blog/comment_form.html
1783334246.51240.0011 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=1766 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1783334246.5640.0516 [0] Using template: /templates/blog/comment.html
1783334246.56420.0002Using template: /templates/blog/post.html
1783334246.56450.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1783334246.56530.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783334246.5660.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783334246.56660.0006 [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
1783334246.56880.0022 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783334246.56930.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783334246.57110.0019 [6] Using template: /templates/navigation/footer-nav.html
1783334246.57260.0014 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783334246.57320.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783334246.57370.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783334246.57620.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783334246.57670.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783334246.57870.0019 [10] Using template: /templates/navigation/footer-nav.html
1783334246.5820.0034 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783334246.58270.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783334246.58330.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
1783334246.58560.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783334246.5860.0004 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783334246.5880.0019 [29] Using template: /templates/navigation/footer-nav.html
1783334246.59070.0028 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783334246.59150.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783334246.5920.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
1783334246.5940.002 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783334246.59450.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783334246.59640.0019 [10] Using template: /templates/navigation/footer-nav.html
1783334246.59770.0013Request time: 0.1879
1783334246.59770Process time: 0.1877
1783334246.59770Memory: 1.6523