Sari la conținut

Cum migrezi de pe Drupal 7 pe Drupal 10/11: ghid tehnic complet cu checklist SEO

· 12 min lectură· Digital Rocket

Drupal 7 a ajuns la End of Life pe 5 ianuarie 2025 — nu mai primește patch-uri de securitate din comunitate, iar site-urile rămase pe D7 sunt vulnerabile și non-conforme cu standardele FedRAMP, PCI, HIPAA și SOC 2. Dacă ai un site pe Drupal 7, migrarea nu mai este opțională — este urgentă. Acest ghid este complementar cu comparația Drupal vs WordPress — dacă te întrebi „pe ce migrez?", citește mai întâi acel articol.

Vestea bună: Drupal 10/11 oferă un sistem de migrare matur (Migrate API), iar procesul este bine documentat. Vestea mai puțin bună: migrarea D7 → D10/D11 nu este un simplu update — este o migrare completă (conținut transferat via ETL pipeline, teme și module custom rescrise). Acest ghid acoperă tot procesul tehnic, de la evaluarea inițială până la go-live cu SEO intact.

Statistică critică: Ultimul release Drupal 7 a fost 7.103 (decembrie 2024). Extended Security Support este disponibil doar prin vendori certificați (HeroDevs, Tag1 Consulting, DropSolid) — contra cost. Fiecare lună de întârziere crește riscul de breach și costul total al migrării.


De ce trebuie să migrezi de pe Drupal 7 acum?

Există 5 motive tehnice și business concrete:

MotivImpactUrgență
Securitate — fără patch-uriVulnerabilități noi nu sunt reparateCritic
PHP incompatibilD7 rulează pe PHP 7.4-8.1 (EOL), D11 necesită PHP 8.3+Mare
Module abandonateModule contrib D7 nu mai sunt menținuteMare
Compliance non-conformFedRAMP, HIPAA, PCI, SOC 2 — nu treci audit pe D7Critic
Performance limitatăFără BigPipe, Dynamic Page Cache, cache tagsMediu

Dacă vrei să înțelegi cum un redesign complet al site-ului se planifică corect, inclusiv migrarea SEO, verifică ghidul dedicat.

Alternate paths dacă nu vrei Drupal 10/11:

  • Drupal → headless (Drupal backend + Next.js frontend) — cel mai performant, dar cost mai mare
  • Drupal → WordPress — posibil via WP All Import, dar pierzi granularitatea content model Drupal
  • Drupal → alt CMS headless — Strapi, Sanity, Contentful — pierzi ecosistemul Drupal

Recomandare: Dacă ai investit în content modeling Drupal (entități, câmpuri, referințe), rămâi pe Drupal 10/11. Reconstrucția pe alt CMS costă mai mult decât migrarea.


Ce diferă între migrare D7→D10 și upgrade D9→D10?

Aceasta este confuzia cea mai frecventă. Sunt procese fundamental diferite:

AspectD7 → D10/D11 (migrare)D9 → D10 → D11 (upgrade)
ProcesETL pipeline — extrage, transformă, încarcăComposer update + deprecation fixes
Cod customRescriere completă (procedural → OOP/Symfony)Ajustări minore (remove deprecated)
TemeRefacere completă (PHPTemplate → Twig)Actualizare Twig minor
ConținutMigrat via Migrate APIRămâne in-place
Timp estimatSăptămâni — luniOre — zile
Risc SEOMare — URL-uri, structură, meta se pot schimbaMic — totul rămâne la locul lui

Dacă ești pe D8 sau D9: nu ai nevoie de acest ghid — rulezi composer update drupal/core cu fix-uri pe deprecări. Procesul este similar cu un update WordPress major.

Dacă ești pe D7: citește mai departe — ai nevoie de o migrare planificată.


Care sunt etapele complete ale migrării Drupal 7?

Pasul 1: Auditează site-ul Drupal 7 existent

Înainte de orice migrare, documentează complet ce ai:

  1. Inventar module: drush pm:list --status=enabled — listează toate modulele active. Verifică echivalent D10/D11 pe drupal.org
  2. Content types: documentează fiecare content type, câmpurile, referințele, taxonomiile
  3. Custom modules: identifică module custom — acestea necesită rescriere completă
  4. Teme: tema custom D7 (PHPTemplate) trebuie refăcută în Twig
  5. URL aliases: exportă toate URL aliases existente (Pathauto patterns + custom aliases)
  6. Integrări externe: API-uri, SSO, payment gateways, CRM — verifică compatibilitate
  7. Volum conținut: câte noduri, utilizatori, media files — influențează durata migrării

Output audit: document cu inventar complet, gap analysis (ce module D7 nu au echivalent D10), estimare efort per componentă.

Regulă practică: Timpul de migrare = 1 săptămână per 10 module custom + 1-2 săptămâni per temă custom + 1-3 zile per integrare externă. Site simplu D7 cu temă stock: 2-3 săptămâni. Enterprise complex: 2-4 luni.


Cum funcționează Migrate API din Drupal core?

Pasul 2: Configurează și rulează migrarea conținutului

Drupal core include un sistem de migrare matur bazat pe ETL (Extract, Transform, Load):

Module core necesare:

  • Migrate — framework-ul ETL generic
  • Migrate Drupal — plugin-uri specifice D6/D7 (nodes, users, taxonomy, menus, Views config)
  • Migrate Drupal UI — interfață browser pentru migrare (alternativă la Drush)

Module contribuite recomandate:

  • Migrate Plus — plugin-uri proces avansate (DOM manipulation, lookup, skip)
  • Migrate Tools — comenzi Drush extinse (import, rollback, status)
  • Migrate Upgrade — generează configurația de migrare din baza de date sursă

Workflow de migrare:

EtapăComandă/AcțiuneCe face
1. Setupcomposer require drupal/migrate_upgrade drupal/migrate_plus drupal/migrate_toolsInstalează module migrare
2. Configdrush migrate:upgrade --legacy-db-url=mysql://user:pass@host/d7db --configure-onlyGenerează config migrare din DB sursă
3. ReviewEditează fișierele YAML de migrareAjustează mapping-uri, transformări
4. Test rundrush migrate:import --tag=content --limit=100Migrează primele 100 noduri pentru verificare
5. Full importdrush migrate:import --allRulează migrarea completă
6. Verifydrush migrate:statusVerifică status per tip de migrare
7. Rollback (dacă e nevoie)drush migrate:rollback --allȘterge conținutul migrat, retry

Ce se migrează automat: noduri (conținut), utilizatori, taxonomii, meniuri, fișiere, blocuri, comentarii, traduceri.

Ce NU se migrează automat: teme, Views complexe, module custom, reguli CSS, setări specifice module contrib.


Ce provocări tehnice apar frecvent în migrare?

ProvocareCauzăSoluție
Module custom D7Cod procedural incompatibil cu D10 OOPRescriere module ca Symfony services/plugins
Module contrib fără echivalent D10Modul abandonat sau neportatGăsește alternativă sau dezvoltă custom
Paragraphs migrationParagraphs D7 → D10 are mapping complexParagraphs Migration module + config manuală
Media migrationD7 file fields → D10 Media entitiesMedia Migration module + mapping types
Date fieldsFormat date diferit D7 vs D10Process plugin custom sau Migrate Plus DOM
Entity references circulareNoduri care se referă reciprocMigrare în 2 pași: noduri fără referințe → update referințe
Volum mare (100K+ noduri)Timeout, memorieBatch processing, --limit flag, cron migrare

Pasul 3: Rezolvă gap-urile de module și funcționalitate

Cele mai frecvente module D7 cu echivalente D10/D11:

Modul D7Echivalent D10/D11Note
Views (contrib)Views (core)Inclus în core din D8
PathautoPathautoDisponibil, funcționează similar
TokenTokenDisponibil
MetatagMetatagDisponibil, API diferit
WebformWebformDisponibil, major rewrite
RulesECA (Events, Conditions, Actions)Alternativă modernă
ContextContext sau Block Visibility GroupsDisponibil
Display SuiteDisplay Suite sau Layout Builder (core)Layout Builder e core
PanelsLayout Builder (core)Core replacement
FeaturesConfig Management (core)Core din D8

Pro tip: Folosește Upgrade Status module pe site-ul D7 curent — analizează automat compatibilitatea tuturor modulelor active și raportează ce necesită acțiune.


Cum preservi SEO-ul în timpul migrării?

Pasul 4: Implementează redirect-uri 301 și preservă metadata SEO

Aceasta este partea cea mai importantă și cea mai des neglijată. O migrare fără plan SEO poate pierde 30-70% din traficul organic.

Checklist SEO pre-migrare:

  1. Exportă toate URL-urile indexate: Google Search Console → Coverage → Valid → exportă CSV
  2. Exportă toate URL aliases D7: drush sql-query "SELECT source, alias FROM url_alias" → CSV
  3. Mapează URL-uri D7 → D10: majoritatea se pot menține identice dacă folosești Pathauto cu aceleași pattern-uri
  4. Configurează Redirect module: pentru URL-urile care SE SCHIMBĂ, creează redirect-uri 301

Implementare redirect-uri 301:

SituațieAcțiune
URL identic D7 → D10Nu e nevoie de redirect
URL se schimbă (ex: /node/123 → /blog/articol)Redirect 301 via Redirect module
Pagină D7 fără echivalent D10Redirect 301 → pagina cea mai relevantă
Pagină D7 cu trafic 0Lasă să returneze 404 (cleanup)

Meta tags preservation:

  1. Instalează Metatag module pe D10
  2. Configurează patterns default (title, description, OG tags)
  3. Migrează meta tags custom via Migrate API (plugin migrare Metatag disponibil)
  4. Verifică cu auditul SEO post-migrare

Sitemap și indexare:

  1. Instalează Simple Sitemap pe D10
  2. Configurează toate content types în sitemap
  3. Submit sitemap nou în Google Search Console
  4. Monitorizează Coverage report 4-8 săptămâni post-migrare

Regulă critică: Nu lansa niciodată o migrare fără redirect-uri 301 complete. Fiecare URL care returnează 404 în loc de 301 pierde link equity acumulat. Recuperarea poate dura 6-12 luni.


Cât durează și cât costă o migrare Drupal 7?

Complexitate siteModule customConținutTimp estimatCost estimat
Simplu (blog/firmă)0-3Sub 1.000 pagini2-4 săptămâni€3.000-6.000
Mediu (corporate)3-101.000-10.000 pagini1-2 luni€8.000-15.000
Complex (portal/enterprise)10-30+10.000-100.000+ pagini2-4 luni€15.000-40.000
Enterprise multisite20+ per site100.000+4-8 luni€30.000-80.000+

Factori care cresc costul:

  • Module custom care necesită rescriere completă (cel mai mare cost)
  • Integrări externe (SSO, payment, CRM) care necesită reconectare
  • Temă custom complexă cu funcționalitate front-end specifică
  • Multilingual cu 5+ limbi (migrarea traducerilor este complexă)
  • Cerințe de downtime zero (necesită migrare incrementală + DNS cutover)

Ce timeline realist ar trebui să planifici?

Pasul 5: Planifică timeline-ul de migrare cu bufere

FazăDuratăActivități
Audit și planning1-2 săptămâniInventar, gap analysis, estimare
Setup D10/D111 săptămânăInstalare, configurare, module
Temă nouă2-4 săptămâniDesign + implementare Twig
Module custom2-6 săptămâniRescriere OOP/Symfony
Migrare conținut1-2 săptămâniConfig Migrate API, test runs
QA și testing1-2 săptămâniFuncțional, visual, SEO
SEO redirect-uri2-3 zileMapping URL, Redirect module
Go-live1 ziDNS cutover, final import, monitor
Post-launch monitor2-4 săptămâniGSC, 404s, performance, GA4

Buffer recomandat: Adaugă 25-30% la estimarea inițială. Migrările Drupal au întotdeauna surprize — module care nu funcționează cum te aștepți, conținut cu structură inconsistentă, edge cases în transformări.


Cum testezi migrarea înainte de go-live?

Workflow de testare recomandat:

  1. Staging environment: Clonează D10/D11 pe un subdomeniu (staging.site.ro)
  2. Migrare completă pe staging: Rulează tot pipeline-ul Migrate API
  3. Visual regression testing: Compară pagini D7 vs D10 — verifică layout, imagini, fonturi
  4. Content spot-check: Verifică manual 50-100 pagini aleator — text, imagini, meta tags, URL-uri
  5. Link checking: Crawl cu Screaming Frog — identifică broken links
  6. Core Web Vitals check: PageSpeed Insights pe 10-20 pagini reprezentative
  7. Redirect testing: Verifică 301-uri pe URL-uri cheie (top 50 trafic)
  8. Funcțional testing: Formulare, search, filtre, login, checkout (dacă e cazul)

Criteriu go/no-go: Zero 404-uri pe URL-uri cu trafic, Core Web Vitals green, toate redirect-urile funcționează, meta tags identice. Folosește keyword research pentru a prioritiza URL-urile cu cel mai mare potențial SEO.

Pentru o evaluare completă post-migrare, urmează checklist-ul de SEO on-page pe primele 20-30 pagini și asigură-te că SEO tehnic este corect configurat (sitemap, robots.txt, canonical, HTTPS).

Dacă planifici migrarea ca parte a unei strategii digitale mai ample, asigură-te că ai conversion tracking configurat pe noul site și că Google Analytics 4 trackuiește corect de la prima zi. Nu uita de Consent Mode — site-ul nou trebuie să fie GDPR compliant din start.

Dacă nu ai echipă internă pentru migrare, verifică criteriile de alegere firmă web design — caută specific experiență Drupal migration.


Ce greșeli frecvente se fac la migrarea Drupal 7?

  1. Amânare indefinită — fiecare lună pe D7 post-EOL crește riscul de breach și costul de Extended Support
  2. Nu fac audit complet înainte — descoperă probleme la jumătatea migrării, depășesc bugetul
  3. Ignoră SEO — nu mapează URL-uri, nu setează redirect-uri → pierd 50%+ trafic organic
  4. Rescriere totală în loc de migrare — „hai să facem totul de la zero" costă 3-5x mai mult
  5. Nu testează pe staging — go-live direct = dezastru garantat
  6. Migrare „big bang" fără rollback plan — dacă ceva nu merge, nu au cum să revină
  7. Ignoră training echipă — admin UI D10 este diferit de D7, echipa de conținut trebuie instruită
  8. Nu monitorizează post-launch — 404-uri, indexed pages drop, viteze lente — nedetectate săptămâni
  9. Subestimează efortul pe module custom — rescrierea cod procedural → OOP durează 2-5x mai mult decât estimarea inițială
  10. Nu implementează tracking-ul corect — pierd date conversii în tranziție

Glosar termeni migrare Drupal

  • Migrate API — framework ETL din Drupal core pentru transferul de date între sisteme
  • Drush — CLI tool Drupal (echivalent WP-CLI) pentru comenzi de management
  • Composer — package manager PHP pentru dependențe Drupal 10/11
  • EOL (End of Life) — data după care un software nu mai primește patch-uri de securitate
  • Extended Security Support — suport de securitate plătit post-EOL de la vendori certificați
  • ETL (Extract, Transform, Load) — pattern de migrare date: extrage din sursă, transformă, încarcă în destinație
  • Twig — motor de templating Symfony, înlocuiește PHPTemplate din D7
  • Content Moderation — modul core D10 pentru workflow editorial (draft/review/publish)
  • Pathauto — modul pentru generare automată URL aliases bazat pe pattern-uri
  • Redirect module — modul pentru gestionare redirect-uri 301/302 în Drupal

Ai un site pe Drupal 7 care trebuie migrat? Echipa Digital Rocket realizează migrări Drupal 7 → 10/11 cu zero downtime și SEO preservation completă. De la audit și planning, până la go-live și monitorizare post-lansare. Contactează-ne pentru o evaluare gratuită și un plan de migrare personalizat.

Ai nevoie de ajutor cu campaniile PPC?

Echipa Digital Rocket te poate ajuta să obții rezultate mai bune din publicitatea online.

Cere o consultație gratuită