WordPress include un sistem robust de roluri și permisiuni care controlează ce poate face fiecare utilizator pe website. De la administratorul cu acces total la abonatul care poate doar citi conținut, fiecare rol are un set predefinit de capabilități. Înțelegerea și configurarea corectă a acestor roluri este esențială pentru securitate și pentru gestionarea eficientă a echipei care administrează website-ul.
Într-un mediu cu mai mulți utilizatori – autori de conținut, editori, administratori de magazin, specialiști SEO – atribuirea rolurilor greșite poate duce la probleme serioase. Un autor cu drepturi de administrator poate modifica accidental setările website-ului, instala pluginuri nesigure sau șterge conținut important. Pe de altă parte, un editor cu drepturi insuficiente nu își poate îndeplini sarcinile eficient.
În acest ghid veți descoperi rolurile implicite WordPress, capabilitățile fiecăruia, cum să creați roluri personalizate prin cod PHP sau cu ajutorul pluginurilor dedicate, și cele mai bune practici pentru gestionarea utilizatorilor într-un mediu WordPress profesional. Toate aceste informații vă vor ajuta să mențineți un website securizat și organizat, indiferent de dimensiunea echipei dvs.
Cum gestionați rolurile și permisiunile utilizatorilor în WordPress
WordPress folosește un sistem de roluri bazat pe capabilități (capabilities). Fiecare rol este un set de capabilități care determină acțiunile permise. Sistemul este ierarhic – rolurile superioare includ toate capabilitățile rolurilor inferioare plus capabilități suplimentare. Capabilitățile sunt stocate în baza de date în tabelul wp_usermeta, sub cheia wp_capabilities, ca un array serializat PHP.
Atunci când un utilizator încearcă să efectueze o acțiune în WordPress, sistemul verifică dacă rolul acestuia deține capabilitatea necesară. De exemplu, pentru a publica un articol este necesară capabilitatea publish_posts, iar pentru a gestiona pluginuri este necesară capabilitatea activate_plugins. Această arhitectură modulară permite o flexibilitate ridicată în definirea drepturilor de acces.
Rolurile implicite WordPress
Administrator
Administratorul are acces complet la toate funcționalitățile WordPress. Acesta este rolul cu cele mai largi drepturi și trebuie atribuit cu maximă precauție. Capabilitățile incluse sunt:
- Gestionarea tuturor setărilor website-ului (generale, scriere, citire, discuții, media, permalink-uri)
- Instalarea și dezinstalarea pluginurilor și temelor
- Crearea, editarea și ștergerea oricărui conținut, inclusiv al altor utilizatori
- Gestionarea utilizatorilor și atribuirea rolurilor
- Accesul la editorul de fișiere din panoul de administrare (dacă nu este dezactivat)
- Exportul și importul de date WordPress
- Gestionarea meniurilor, widget-urilor și opțiunilor temei
Recomandare: limitați numărul de administratori la minimul necesar. Pe un website de prezentare, un singur administrator este suficient. Pentru securitate, folosiți o parolă puternică și autentificarea în doi pași. Este, de asemenea, recomandat să dezactivați editorul de fișiere din panoul de administrare prin adăugarea acestei linii în wp-config.php:
define( 'DISALLOW_FILE_EDIT', true );Editor
Editorul are control complet asupra conținutului, fără acces la setări sau pluginuri. Acest rol este ideal pentru șeful echipei de conținut. Capabilitățile incluse sunt:
- Publicarea, editarea și ștergerea oricărui articol sau pagini (inclusiv ale altor utilizatori)
- Gestionarea categoriilor și etichetelor
- Moderarea comentariilor
- Gestionarea linkurilor și a fișierelor media din bibliotecă
- Citirea conținutului privat sau protejat cu parolă
Autor
Autorul poate crea și publica propriul conținut, fără a putea interveni asupra articolelor altor utilizatori. Capabilitățile incluse sunt:
- Scrierea, editarea și publicarea propriilor articole
- Încărcarea fișierelor media
- Ștergerea propriilor articole publicate
- Vizualizarea comentariilor, fără posibilitatea de a le modera
Ideal pentru: scriitori de conținut de încredere care publică regulat fără supraveghere editorială.
Colaborator (Contributor)
Colaboratorul poate scrie articole, dar nu le poate publica. Conținutul creat de un colaborator necesită aprobarea unui editor sau administrator. Capabilitățile incluse sunt:
- Scrierea și editarea propriilor articole (doar ciorne)
- Ștergerea propriilor articole nepublicate
- Nu poate publica articole, nu poate încărca fișiere media și nu poate edita articolele după publicare
Ideal pentru: autori ocazionali, invitați sau autori noi care necesită supraveghere editorială.
Abonat (Subscriber)
Abonatul are acces minim – poate citi conținut și gestiona propriul profil. Capabilitățile incluse sunt:
- Citirea conținutului (inclusiv conținut restricționat pentru utilizatori logați)
- Editarea propriului profil (nume, email, parolă)
- Nu poate crea sau edita conținut de niciun fel
Ideal pentru: website-uri cu conținut exclusiv pentru membri sau magazine online unde clienții au cont propriu.
Roluri WooCommerce și alte pluginuri
Dacă folosiți WooCommerce pentru un magazin online, pluginul adaugă două roluri suplimentare care extind sistemul WordPress:
- Customer (Client) – similar cu Subscriber, dar cu capabilități de gestionare a comenzilor și a contului de client, inclusiv vizualizarea istoricului comenzilor și actualizarea adreselor de livrare
- Shop Manager – poate gestiona produsele, comenzile, cupoanele de reducere și setările WooCommerce, fără acces la setările generale WordPress
Alte pluginuri populare precum LMS (LearnDash, LifterLMS) sau pluginuri de membership (MemberPress) adaugă la rândul lor roluri specifice, cum ar fi Student, Instructor sau Member. Este important să verificați ce roluri adaugă fiecare plugin instalat și să vă asigurați că acestea respectă principiul privilegiului minim.
Crearea rolurilor personalizate în WordPress
Prin cod PHP în functions.php
Puteți crea un rol personalizat direct din codul temei sau al unui plugin custom. WordPress pune la dispoziție funcția add_role() pentru acest scop. Exemplu de rol personalizat pentru un specialist SEO care poate edita articole fără a le putea șterge sau publica:
function goai_add_seo_specialist_role() {
add_role(
'seo_specialist',
'Specialist SEO',
array(
'read' => true,
'edit_posts' => true,
'edit_others_posts' => true,
'edit_published_posts' => true,
'edit_pages' => true,
'edit_others_pages' => true,
'edit_published_pages' => true,
'publish_posts' => false,
'delete_posts' => false,
)
);
}
add_action( 'init', 'goai_add_seo_specialist_role' );Atenție: funcția add_role() stochează rolul în baza de date și nu trebuie apelată la fiecare încărcare a paginii. Cel mai bun mod este să o apelați la activarea pluginului sau temei, folosind hook-urile register_activation_hook sau after_switch_theme.
Modificarea capabilităților unui rol existent
Dacă doriți să adăugați sau să eliminați o capabilitate dintr-un rol existent, folosiți metodele add_cap() și remove_cap():
// Adăugați capabilitatea de a gestiona opțiunile pentru rolul Editor
$role = get_role( 'editor' );
$role->add_cap( 'manage_options' );
// Eliminați capabilitatea de a șterge articolele publicate ale altor utilizatori
$role->remove_cap( 'delete_others_posts' );Prin pluginul User Role Editor
Dacă preferați o abordare fără cod, pluginul User Role Editor permite crearea și modificarea rolurilor direct din panoul de administrare WordPress:
- Instalați și activați User Role Editor din Pluginuri – Adaugă nou
- Navigați la Users – User Role Editor
- Apăsați „Add Role” pentru a crea un rol nou sau selectați un rol existent pentru a-l modifica
- Selectați capabilitățile dorite din lista completă afișată
- Salvați rolul
Exemple de roluri personalizate utile pe care le puteți crea:
- Specialist SEO – poate edita articole și pagini existente (pentru optimizare) dar nu poate crea, publica sau șterge conținut
- Moderator – poate modera comentariile dar nu poate edita articolele
- Content Manager – similar cu editorul, dar fără acces la pagini (doar articole de blog)
- Redactor junior – poate scrie și edita propriile articole, dar nu le poate publica
Cele mai bune practici de securitate pentru roluri și utilizatori
Principiul privilegiului minim
Fiecare utilizator trebuie să aibă doar capabilitățile necesare pentru îndeplinirea sarcinilor sale. Dacă cineva scrie doar articole, atribuiți rolul de Autor sau chiar Colaborator, nu de Editor sau Administrator. Excesul de privilegii este una dintre cele mai frecvente greșeli de securitate în WordPress.
Audit regulat al utilizatorilor
- Verificați periodic lista de utilizatori și eliminați conturile inactive sau neutilizate
- Revizuiți rolurile atribuite și reduceți privilegiile unde nu mai sunt necesare
- Verificați dacă există conturi de administrator neautorizate – acesta este un semn clar al unui compromis de securitate
- Instalați un plugin de audit (WP Activity Log sau Simple History) pentru a monitoriza acțiunile utilizatorilor
Securizarea conturilor de utilizator
- Impuneți parole puternice pentru toate conturile, în special cele cu privilegii ridicate
- Activați autentificarea în doi pași (2FA) pentru administratori și editori
- Nu folosiți „admin” sau „administrator” ca nume de utilizator – schimbați-l dacă există
- Restricționați accesul la panoul admin pe baza adresei IP pentru conturile de administrator, adăugând reguli în fișierul
.htaccesssau în configurarea serverului
Gestionarea utilizatorilor multipli – procese recomandate
- Documentați rolurile – creați un document intern care descrie ce rol are fiecare membru al echipei și de ce a fost ales acel rol
- Procesul de onboarding – când adăugați un utilizator nou, atribuiți rolul minim necesar și creșteți privilegiile doar la nevoie demonstrată
- Procesul de offboarding – când un membru părăsește echipa, dezactivați sau ștergeți contul imediat și schimbați parolele partajate
- Transferul conținutului – când ștergeți un utilizator, WordPress oferă opțiunea de a transfera conținutul acestuia către alt utilizator; nu omiteți acest pas
Verificarea capabilităților în cod PHP
Dacă dezvoltați funcționalități custom pentru WordPress, este esențial să verificați capabilitățile utilizatorului înainte de a permite executarea unor acțiuni sensibile. Folosiți funcțiile WordPress dedicate acestui scop:
// Verificați dacă utilizatorul curent poate publica articole
if ( current_user_can( 'publish_posts' ) ) {
// Afișați butonul de publicare
}
// Verificați capabilități pentru un utilizator specific
$user_id = 5;
if ( user_can( $user_id, 'edit_others_posts' ) ) {
// Permiteți editarea
}
// Verificați rolul utilizatorului curent
$user = wp_get_current_user();
if ( in_array( 'editor', $user->roles ) ) {
// Acțiuni specifice editorilor
}Evitați verificarea rolului direct (prin in_array pe $user->roles) atunci când este posibil; preferați verificarea capabilității specifice cu current_user_can(). Această abordare este mai flexibilă și funcționează corect și pentru roluri personalizate care pot deține aceleași capabilități ca rolurile standard.
Gestionarea corectă a rolurilor și permisiunilor în WordPress este un aspect fundamental al securității și al administrării eficiente a oricărui website. Aplicați principiul privilegiului minim, efectuați audituri regulate ale conturilor de utilizator și folosiți roluri personalizate pentru a se potrivi exact fluxului de lucru al echipei dvs. Aceste practici reduc riscul de erori accidentale, de abuz de drepturi și de compromitere a securității website-ului pe termen lung.


Comments (0)