Every page in the current site’s main menu, migrated by one script with no hand edits, and checked against its source. This is the method the proposal describes for all nineteen sites, shown here on the central site.
- 36menu pages migrated
- 28,456words on the new pages (27,556 in the sources, before menus and “read more” links were removed)
- 75images copied to the new site, none hot-linked
- 454 of 454links in the source content kept on the new pages; none lost (what this means)
- 1,019publication records indexed for search
What the script does
- Capture. Each menu page is downloaded as published; the 204 publication archive pages give the search index.
- Extract. Page-builder markup (Divi) is stripped to clean, standard HTML: headings, paragraphs, lists, tables, links, images. Broken nesting in the source is repaired.
- Transform. One rule per page type turns repeated patterns into structured content: listings become cards, event blocks become a dated list, contact tables become grouped cards, the Task list becomes a structured index.
- Rewrite. Links to migrated pages point at the new URLs; links to pages not yet migrated keep pointing at the current site; every image is copied across.
- Reconcile. Each page is counted against its source (words, items, images, links) and anything that needs an editor’s decision is flagged below rather than guessed.
Page by page
| New page | Current URL | Rule | Words in source | Words here | Images | Links kept | Items carried over | Flagged for editors |
|---|---|---|---|---|---|---|---|---|
| Home | / | Redesigned homepage from the homepage's own content | 801 | 892 | 5 | 28 of 28 ✓ 7 to new pages | — | |
| Bioenergy, a sustainable solution | /bioenergy-a-sustainable-solution/ | Prose: cleaned and restructured | 402 | 398 | 4 | 2 of 2 ✓ | 4 images without alt text in the source; 1 image-only link(s) with no text, labelled from the file they open | |
| What is IEA Bioenergy? | /about/ | Prose: cleaned and restructured | 786 | 782 | 1 | 27 of 27 ✓ 26 to new pages | 1 image without alt text in the source | |
| R&D Networks | /about/rd-networks/ | Prose: cleaned and restructured | 666 | 664 | 0 | none in the source | — | |
| Our collaborations network | /iealinks/ | Prose: cleaned and restructured | 556 | 553 | 0 | 20 of 20 ✓ | — | |
| Chairs, Coordination and Secretary | /directory/ | Profiles → people cards | 200 | 200 | 8 | none in the source | 8 of 8 ✓ | — |
| Executive Committee | /directory/executive-committee/ | Contact tables → grouped cards | 1,111 | 1,140 | 0 | 1 of 1 ✓ | 50 of 50 ✓ | — |
| Contracting Parties | /about/contracting-parties/ | Prose: cleaned and restructured | 217 | 208 | 0 | none in the source | — | |
| Task Leaders | /directory/task-leaders/ | Contact tables → grouped cards | 545 | 565 | 0 | none in the source | 25 of 25 ✓ | 1 group heading(s) typed as plain paragraphs in the source, made headings |
| Activities: Tasks | /our-work-tasks/ | Tasks → structured index | 560 | 1,001 | 0 | 37 of 37 ✓ 2 to new pages | 34 of 34 ✓ | — |
| News and bulletins | /iea-publications/bulletins/ | Listing → Nanopage CMS collection | 13,169 | 13,169 | 41 | 62 in the articles, all kept | 18 of 18 ✓ | — |
| Latest releases | /latest-updates/ | Listing → cards | 417 | 393 | 12 | 12 of 12 ✓ 1 to new pages | 12 of 12 ✓ | — |
| Newsletters | /iea-publications/newsletters/ | Listing → cards | 332 | 326 | 9 | 12 of 12 ✓ | 9 of 9 ✓ | — |
| Task events | /iea-bioenergy-task-events/ | Events → dated list | 404 | 390 | 0 | 16 of 16 ✓ | 9 of 9 ✓ | — |
| ExCo workshops | /iea-publications/workshops/ | Events → dated list | 423 | 410 | 0 | 13 of 13 ✓ | 10 of 10 ✓ | — |
| IEA Bioenergy Conferences | /iea-publications/conferences/ | Events → dated list | 176 | 163 | 0 | 5 of 5 ✓ | 5 of 5 ✓ | — |
| Webinars | /iea-publications/webinars/ | Events → dated list | 407 | 391 | 0 | 14 of 14 ✓ | 9 of 9 ✓ | — |
| Other events | /iea-bioenergy-task-events/other/ | Events → dated list | 288 | 262 | 0 | 23 of 23 ✓ | 18 of 18 ✓ | — |
| Full calendar | /iea-bioenergy-task-events/full-calendar/ | Events → dated list | 255 | 236 | 0 | 20 of 20 ✓ | 14 of 14 ✓ | — |
| Publications by date | /iea-publications/ | Listing → cards | 324 | 318 | 9 | 17 of 17 ✓ 1 to new pages | 9 of 9 ✓ | — |
| Publication search | /iea-publications/publication-search/ | Search form → working search index | 6 | 197 | 0 | none in the source | 1019 of 1019 ✓ | — |
| Annual Reports | /blog/document-category/annual-reports/ | Listing → cards | 334 | 340 | 7 | 12 of 12 ✓ | 9 of 9 ✓ | — |
| 2024 Country Reports | /blog/publications/2024-country-reports/ | Prose: cleaned and restructured | 240 | 246 | 0 | 35 of 35 ✓ 2 to new pages | — | |
| 2021 Country Reports | /blog/publications/2021-country-reports/ | Prose: cleaned and restructured | 216 | 222 | 0 | 38 of 38 ✓ 2 to new pages | — | |
| 2018 Country Reports | /iea-publications/country-reports/2018-country-reports/ | Prose: cleaned and restructured | 105 | 102 | 0 | 25 of 25 ✓ | — | |
| 2016 Country Reports | /iea-publications/country-reports/2016-country-reports/ | Prose: cleaned and restructured | 54 | 51 | 0 | 1 of 1 ✓ | — | |
| Factsheets | /factsheets/ | Listing → cards | 92 | 87 | 3 | 3 of 3 ✓ 2 to new pages | 3 of 3 ✓ | — |
| Success Stories | /iea-publications/success-stories/ | Prose: cleaned and restructured | 637 | 635 | 0 | 29 of 29 ✓ | — | |
| What is bioenergy? | /blog/publications/what-is-bioenergy/ | Prose: cleaned and restructured | 632 | 643 | 7 | 18 of 18 ✓ 4 to new pages | 4 images without alt text in the source | |
| How to improve residential solid biofuels combustion? | /blog/publications/residential-solid-biofuels-combustion-continuous-improvement-over-time/ | Prose: cleaned and restructured | 1,193 | 1,194 | 4 | 16 of 16 ✓ 4 to new pages | 4 images without alt text in the source | |
| Is energy from woody biomass positive for the climate? | /iea-publications/faq/woodybiomass/ | Prose: cleaned and restructured | 1,055 | 1,046 | 1 | 19 of 19 ✓ | 1 image without alt text in the source | |
| Is there enough room for bioenergy in agriculture? | /iea-publications/faq/agriculture/ | Prose: cleaned and restructured | 557 | 549 | 2 | 10 of 10 ✓ | 2 images without alt text in the source | |
| Facilities | /installations/ | Embedded frame → full-width link | 26 | 100 | 0 | none in the source | 1 of 1 ✓ | — |
| Contact us | /contact-us/ | Contact form (fields kept) | 2 | 83 | 0 | 1 of 1 ✓ | 1 of 1 ✓ | — |
| GDPR | /gdpr/ | Prose: cleaned and restructured | 113 | 250 | 0 | none in the source | — | |
| Terms and Conditions of Use | /terms-and-conditions-of-use/ | Prose: cleaned and restructured | 255 | 250 | 0 | none in the source | — |
Word counts differ by design: the source counts include repeated “read more” and “More Details” links, slider duplicates and form labels, which the new templates replace with real links and headings. “Items carried over” compares structured items (cards, events, people, Tasks) with the number found in the source.
News moved into the CMS
The 18 newest bulletins are entries in the Nanopage news collection, not static pages: each keeps its original date, cover image, text and inline images, and gets its own page at /news-…. Editors add the next article in the CMS; the list, the homepage and the RSS feed update without a republish.
Links and search visibility
Search engines and other websites reach IEA Bioenergy through its URLs and its links. The migration keeps both. There are two separate questions:
1. Do the links inside the pages still work?
Yes. The script followed every one of the 454 links in the migrated content, and every one is on the new page:
| Link in the source pointed to | Links | What the script did |
|---|---|---|
| A page that is now migrated | 51 | Pointed at the page’s new address directly, so visitors and search engines don’t go through a redirect. This is the “51 links to new pages” figure. |
| A page not migrated in this concept (single publications, events, Task pages) | 343 | Kept, pointing at the current site. In the full migration each becomes its new address the same way, or reaches it through the redirect map. |
| Another website | 55 | Kept exactly as published. |
| An email address | 2 | Kept. |
| A relative path (“View all upcoming events”) | 3 | Made absolute. They only worked because of the page’s current address, and would have broken under any new URL structure. |
| Total | 454 of 454 | No link lost. |
Pagination is kept too: where a listing had pages 2, 3, 4… on the current site, the new page links to each of them, so older newsletters, events and reports stay one click away and crawlable.
2. Do the old addresses still lead somewhere?
Yes. Each current address maps to exactly one new page: the 36 menu pages and the 18 news articles, 54 in all. Anchors are kept as well: links such as …/executive-committee/#NewZealand land on the same section. Every target was requested on the live concept on 18 October 2026: 54 of 54 answer with the page. In production every line becomes a permanent (301) redirect, which passes the old page’s search ranking to the new one. Downloadable files (the PDFs) keep their own redirects as well. Download the redirect map.
3. Search markup on each page
| Check | Current site | New site |
|---|---|---|
| Meta description (the summary search engines show) | 0 of 36 pages | 36 of 36, each written from the page’s own opening text |
| Exactly one main heading (h1) | 9 of 36 | 36 of 36 |
| Headings that skip a level | 11 pages | 0 |
| Canonical URL | Yes, every page | Not on this demonstration, which is unlisted and set to noindex so it can’t compete with the real site. In production every page carries its own canonical URL. |
| Links search engines can follow in the publication archive | None: the archive entries have no links | All 1,019 records linked from the search |
The current site and the new one, page by page
Measured on the same 36 pages. The current pages are the copies captured on 18 October 2026, tested from disk with network access blocked so the comparison is like for like and the current site isn’t loaded; the new pages likewise, except the CMS-rendered News list, tested on the live concept.
| Average per page | Current site | New site |
|---|---|---|
| Accessibility problems found by axe (WCAG 2.2 A and AA, contrast excluded; with contrast, live: 12.3 on the current site, 0 on the new) | 10.4 | 0.0 |
| HTML the browser downloads | 163 kB | 13 kB |
| Script files, plus inline scripts | 35 + 27 | 1 + 0 |
| Stylesheets | 14 | 1 |
| Third-party services loaded | ajax.googleapis.com, demoplants21.best-research.eu, elfsightcdn.com, fonts.googleapis.com, kit.fontawesome.com, www.googletagmanager.com, www.youtube.com | None |
| Page-builder markup (Divi classes) | 173 | 0 |
| Embedded frames | 1.1 | 0 |
Loaded live, the way a visitor gets them
Each page opened in a fresh browser with an empty cache, one page at a time, on 18 October 2026 (40 pages).
| Average per page | Current site | New site |
|---|---|---|
| Data transferred (everything the page loads) | 3.1 MB | 0.45 MB |
| Requests | 74 | 15 |
| Other companies’ servers contacted | 7 per page; 11 across the pages: ajax.googleapis.com, demoplants21.best-research.eu, elfsightcdn.com, fonts.googleapis.com, fonts.gstatic.com, ka-f.fontawesome.com, kit.fontawesome.com, stats.g.doubleclick.net, www.google-analytics.com, www.googletagmanager.com, www.youtube.com | 1: the demonstration host’s cookieless visit counter (Cloudflare Web Analytics). The production site needs none. |
| Cookies set before any consent | 6.1 | 0.0 |
| Pages that scroll sideways on a 375 px phone | 0 of 40 | 0 of 40 |
Load time is not reported: it depends on the network and on the host, and the measurement was not reliable enough to compare. Data transferred and requests do not depend on either. The new site’s figures include the demonstration host’s badge and visit counter; about 0.28 MB of each new page is its two self-hosted typefaces, downloaded once and then cached.
The accessibility problems repeated on every current page: zooming is disabled on phones (WCAG 1.4.4), menu buttons have no name a screen reader can announce, and icon links have no text. Some pages add more: list items outside a list on the Tasks page, unlabelled form fields on Contact, GDPR and Publication search, an unnamed frame on Facilities. The new pages pass all of these, and also colour contrast, which was checked separately on the live concept at 1280, 375 and 320 px wide.
Found during the migration
- 12 links in the current content are already broken (pages that no longer exist, a domain that has lapsed). They are carried over unchanged, because whether to remove, replace or archive them is an editorial decision: Another 5 links answer automated checks with “forbidden” but open in a browser, and are fine. Of 351 external links checked, 334 work.
The 12 broken links
- http://itp-sustainable.ieabioenergy.com/wp-content/uploads/2017/11/Koponen.-Quantifying-th… on faq-woody-biomass.html
- http://www.bioenergyadvice.com/ on collaborations.html
- http://task37.ieabioenergy.com/case-studies.html on success-stories.html
- http://task37.ieabioenergy.com/success-stories.html on success-stories.html
- https://www.ieabioenergy.com/publications/technology-roadmap-delivering-sustainable-bioene… on bioenergy-a-sustainable-solution.html
- http://www.efi.int/files/attachments/publications/efi_fstp_3_2016.pdf on faq-woody-biomass.html
- http://itp-sustainable.ieabioenergy.com/wp-content/uploads/2017/11/Cintas.-Carbon-balances… on faq-woody-biomass.html
- http://itp-sustainable.ieabioenergy.com/wp-content/uploads/2017/11/Duden-et-al.-Modeling-t… on faq-woody-biomass.html
- http://itp-sustainable.ieabioenergy.com/wp-content/uploads/2017/11/Hanssen.-Wood-pellets-w… on faq-woody-biomass.html
- http://itp-sustainable.ieabioenergy.com/wp-content/uploads/2017/11/Parish-et-al.-Reference… on faq-woody-biomass.html
- http://www.videncenter.dk/uk/index.htm on collaborations.html
- https://www.gov.br/mre/pt-br/canais_atendimento/imprensa/notas-a-imprensa/lancamento-do-co… on news-iea-sees-a-quadrupling-of-sustainable-biofuels-by-2050-in-new-report
- No page on the current site has a meta description, the summary search engines show under the title. Every new page has one, taken from its own text.
- The homepage’s FAQ and report tiles have no links in the HTML; they only work through a script. On the new homepage each one is a real link.
- The full calendar lists the Global Bioeconomy Summit 2026 twice, on 19 and 20 October, under two different URLs. Both are carried over, as in the source; the homepage shows it once. An editor decides which entry stays.
- The first pass dropped three interactive pieces, now restored: the GDPR data request form, and the homepage newsletter signup and webinar video. The extractor removed form and frame markup with the page furniture. Every captured page has since been checked for forms and frames: the only others are the Contact form (kept), the header search (replaced by the publication search), the Facilities frame (now a link) and Google Tag Manager (not carried over).
- The GDPR form’s spam check is a picture code (its alt text is “captcha”), which a screen-reader user cannot complete, so a blind visitor cannot send a data request. The rebuild uses invisible spam protection.
- 16 images still have no alt text, as in the source, and are flagged per page above. Descriptions were written for the three informative graphics on What is bioenergy?; for the rest, an editor writes them, or confirms the image is decorative.
- The publication archive has no links in its HTML. Entries on /blog/publications/ carry a title and a date but no link, so search engines and keyboard users can’t follow them. The new index links every record.
- The publication search page is a form with no content of its own. It is rebuilt here as a working client-side search over all 1,019 records.
- The facilities page is an embedded frame that the current page itself says works only on wide screens. It becomes a full-width link.
- Several pages have no top-level heading, or several. Every new page has exactly one h1 and headings that don’t skip levels.