Migrace portálu z Drupalu 7 na Drupal 11
Odborný portál o nanotechnologiích běží od roku 2015. Za tu dobu přestaly dostávat bezpečnostní opravy obě vrstvy, na kterých stál: Drupal 7 skončil bez podpory v lednu 2025, PHP 5.6 už na konci roku 2018. Web přitom fungoval dál — a právě proto si toho nikdo nevšiml.
Po migraci na Drupal 11 a PHP 8.4 zůstalo funkčních všech 199 adres a nechybí jediný soubor.
Co bylo v sázce
Bezpečnost.
Software, který přestal dostávat bezpečnostní opravy, není jen starý. Chyby, které se v něm najdou, se veřejně popíšou — a nikdo je neopraví.
Adresy.
Na portál vedou odkazy z vyhledávačů i z cizích webů. Kdyby se po migraci změnily adresy článků, přišel by o pozice, které si deset let budoval, a návštěvník by místo textu našel chybovou stránku.
Obsah.
Deset let redakční práce: 121 obsahových stránek, 259 souborů a obrázků, vazby na autory a rubriky. Migrace, která něco z toho ztratí, se nedá vzít zpět.
Provoz.
Původní web musel fungovat až do chvíle přepnutí. Odstavit ho na týden nepřicházelo v úvahu.
Hosting bez příkazové řádky.
Na cílovém serveru nejde použít Composer, Drush ani vlastní příkazy. Celá migrace se proto musela připravit a vyzkoušet jinde a na hosting nasadit až hotová.
Jak to proběhlo
-
Příprava
Nejdřív jsem si postavil přesnou kopii cílového serveru u sebe — vývojové prostředí, ve kterém se dá zkoušet cokoli, aniž by se to dotklo běžícího webu. Na ní čistá instalace Drupalu 11 na PHP 8.4 a od začátku verzování, aby šel každý krok vrátit.
-
Převod obsahu
Přenesly se všechny stránky, soubory, rubriky, uživatelé i adresy. Zásadní bylo zachovat číselné identifikátory stránek — díky tomu fungují i staré odkazy ve tvaru /node/85, na které se za deset let dá odkazovat z míst, o kterých nikdo neví.
Při té příležitosti se opravily i zbytky kódu, které se do obsahu dostaly ještě za Drupalu 7, a autorské kontakty se z volného textu převedly do samostatných polí, se kterými se dá dál pracovat.
-
Vzhled
Šablona z jádra Drupalu, všechny úpravy ve vlastní vrstvě vedle ní. Znamená to, že budoucí aktualizace šablony provedené změny nepřepíšou — a to je u webu, který má vydržet dalších deset let, důležitější než jakýkoli detail vzhledu.
Ladění probíhalo v mnoha kolech, pokaždé s měřením na čtyřech šířkách obrazovky, od telefonu po velký monitor.
-
Úklid obsahu
Migrace je vhodná chvíle sáhnout i na obsah. Prázdné články se skryly místo smazání, aby je redakce mohla kdykoli doplnit. Třiašedesát odstavců s ručně psanými odrážkami se převedlo na skutečné seznamy — vypadají stejně, ale rozumí jim odečítače i vyhledávače. E-mailové šablony se přeložily do češtiny a kontaktní formulář dostal ochranu proti robotům.
-
Nasazení
Bez příkazové řádky na serveru, jen přes webové rozhraní. Po nasazení jsem prošel všech 199 adres jednu po druhé a u každé zkontroloval, že vede na tutéž stránku, že se text nerozpadl, že fungují odkazy a že se načetly obrázky. Ne vzorek — všechny. Pak přepnutí domény, přenos e-mailové schránky s téměř třemi gigabajty pošty, nastavení ověření odesílatele a certifikátu.
Původní web zůstal zálohovaný jako pojistka pro případ zpětné kontroly.
Výsledek
Portál běží na Drupalu 11 a PHP 8.4, tedy na verzích, které dostávají bezpečnostní opravy. Všech 199 adres zůstalo funkčních i s obsahem, odkazy a obrázky. E-mailová schránka se přenesla bez ztráty jediné zprávy. Výpadek ostrého webu se počítal na minuty.
Celý postup i všechna rozhodnutí jsou zdokumentované, takže se web dá udržovat i bez mého vysvětlování.
Čísla
Běží váš web na verzi bez podpory?
Většina majitelů webů to neví, protože se to nijak neprojeví. Web funguje, objednávky chodí, všechno vypadá v pořádku. Zastaralá verze se projeví až ve chvíli, kdy je pozdě — únikem dat z formulářů, cizím obsahem, který se na webu objeví, nebo tím, že web odstaví hosting.
Drupal 7 skončil bez podpory v lednu 2025 a weby na něm dodnes běží. Totéž platí pro starší verze PHP, WordPressu a jeho pluginů.
Zjistit, na čem váš web stojí, je práce na pár minut. Pošlete mi adresu a napíšu vám, jaké verze pod ním běží, co z toho už nedostává bezpečnostní opravy a co s tím. Zdarma a nezávazně — stejně jako každá úvodní analýza.