WordPress og konfigurasjonsfilen wp-config.php

En viktig fil som tilhører WordPress-nettstedet ditt er wp-config.php. Denne ligger i roten av WordPress-installasjonen din, og bestemmer hvordan WordPress er konfigurert. Dette er sensitive opplysninger som detaljer om databasetilkoblingen, sikkerhetsnøkler og ulike andre konfigurasjonsvalg som påvirker nettstedets ytelse og oppførsel.

Hva er filen wp-config.php?

Filen wp-config.php er et PHP skript som WordPress bruker til å definere de grunnleggende konfigurasjonsinnstillingene som trengs for å koble til databasen og kjøre WordPress. Uten denne filen vil ikke WordPress kunne fungere.

Her er de viktigste komponentene i filen:

  • Databasekonfigurasjon: Inneholder databasenavn, brukernavn, passord og servertilkobling
  • Autentiseringsnøkler eller SALT: Sikkerhet for informasjonskapsler og passordhashing
  • Tabellprefiks for database: Tillater flere WordPress-installasjoner i en database ved å gi hver et unikt prefiks
  • WP_DEBUG: En innstilling som aktiverer eller deaktiverer feilsøkingsmodus i WordPress

Opprett og rediger filen wp-config.php

Når du laster ned WordPress finnes det ingen wp-config.php. I stedet, er der en wp-config-sample.php fil som du kan gi nytt navn og konfigurere med dine egne opplysninger.

Slik oppretter og redigerer du wp-config.php:

  1. Gi wp-config-sample.php nytt navn til wp-config.php
  2. Rediger filen i en tekst eller kodeeditor som Notepad++ eller Visual Studio Code, og legg til databasenavn, brukernavn, passord og serverlokasjon

Hvis du planlegger å legge til egendefinert kode i wp-config.php-filen, er det en god praksis å plassere den mellom disse linjene:

/* Add any custom values between this line and the "stop editing" line. */

--> LEGG TIL KODEN DIN HER <---

/* That's all, stop editing! Happy publishing. */

Databaseinnstillinger

Den første delen av wp-config.php inneholder databasetilkoblingen. Slik ser det ut:

define('DB_NAME', 'database_navn');
define('DB_USER', 'database_brukernavn');
define('DB_PASSWORD', 'database_passord');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

De fleste av disse er selvforklarende, men la oss se nærmere på dem:

  • DB_NAME – Navnet på databasen din
  • DB_USER – Brukernavnet for databasen
  • DB_PASSWORD – Passordet for databasebrukeren
  • DB_HOST – Databaseserverens vert (vanligvis localhost)
  • DB_CHARSET – Tegnsettet for databasen (vanligvis utf8)
  • DB_COLLATE – Sorteringsreglene (vanligvis tom)

Sikkerhetsnøkler og SALT

WordPress bruker unike nøkler og salts for å øke sikkerheten til informasjonskapsler og passordhashing. Disse nøklene kan genereres automatisk ved hjelp av WordPress Secret Key Service.

Aktiver feilsøkingsmodus

Feilsøkingsmodus er et nyttig verktøy når du forsøker å løse eller finne problemer med WordPress-nettstedet ditt. For å aktivere feilsøkingsmodus, legg til følgende linje i wp-config.php:

define('WP_DEBUG', true);

Når denne konstanten er satt til true, vil den vise alle PHP-feil, advarsler og meldinger. Det anbefales ikke å bruke dette på et offentlig tilgjengelig nettsted.

Hvis du må aktivere WP_DEBUG på et live nettsted, bør du aktivere feilloggen ved å legge til følgende linjer:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

Denne innstillingen er nyttig for feilsøking uten å eksponere feilmeldinger for besøkende.

Når loggen er aktivert, vil alle feil skrives til filen debug.log som ligger i mappen wp-content. For å spesifisere en egen loggfil, legg til følgende linje i stedet:

define('WP_DEBUG_LOG', '/path/to/your/custom/directory/debug.log');

Automatisk databasereparasjon

WordPress har en innebygd funksjon for å optimalisere og reparere databasen. For å aktivere denne funksjonen, legg til følgende linje:

define('WP_ALLOW_REPAIR', true);

Øke minnegrensen

Noen ganger kan WordPress kreve mer minne enn den standard tildelingen. Du kan øke minnegrensen ved å legge til følgende linje:

define('WP_MEMORY_LIMIT', '512M');

Juster verdien etter dine behov. I eksempelet har vi satt minnegrensen til 512M, som bør være mer enn tilstrekkelig for de fleste WordPress-nettsted.

Deaktiver filredigering

Som standard tillater WordPress at administratorer redigerer tema- og pluginfiler direkte fra kontrollpanelet. Denne funksjonen kan utgjøre en sikkerhetsrisiko hvis den misbrukes.

For å deaktivere filredigering, legg til følgende kode:

define('DISALLOW_FILE_EDIT', true);

Dette vil forhindre at noen får tilgang til å redigere filene direkte i WordPress kontrollpanel.

Endre intervall for automatisk lagring

WordPress lagrer automatisk endringer med jevne mellomrom. Du kan endre intervallet ved å legge til følgende linje:

define('AUTOSAVE_INTERVAL', 300); // antall sekunder

I eksempelet ovenfor settes intervallet til 300 sekunder (5 minutter). Endre verdien etter behov.

Begrense antall revisjoner

Revisjoner for innlegg og sider kan akkumulere over tid og gjøre databasen din unødvendig stor. For å begrense antall revisjoner for hver av disse, legg til følgende linje:

define('WP_POST_REVISIONS', 5);

I eksempelet ovenfor settes antall revisjoner til 5. Du kan endre denne verdien til noe som bedre passer dine behov, eller til false for å deaktivere revisjoner helt.

Endre intervall for papirkurv

WordPress sletter automatisk elementer i papirkurven etter 30 dager. Du kan endre dette intervallet ved å legge til følgende linje:

define('EMPTY_TRASH_DAYS', 7); // antall dager

I eksempelet ovenfor tømmes papirkurven hver 7. dag. Endre antall dager etter behov.

Bruk alltid SSL for kontrollpanel

For å øke sikkerheten til WordPress-nettstedet ditt, kan du tvinge WordPress til å alltid bruke SSL i kontrollpanelet:

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);

Denne konfigurasjonen sørger for at alle sensitive opplysninger overføres via en kryptert forbindelse.

Avansert konfigurasjon

Avanserte konfigurasjonsalternativer i wp-config.php gir erfarne brukere muligheten til å tilpasse og optimalisere WordPress-installasjonen utover de grunnleggende innstillingene.

Disse alternativene kan forbedre funksjonaliteten, sikkerheten og ytelsen til nettstedet ditt, men krever ofte en dypere forståelse av WordPress.

Avansert konfigurasjon kan omfatte egendefinert feilhåndtering, flytting av kjernefiler, oppsett av et nettstednettverk (multisite) og mer.

Selv om disse innstillingene gir avanserte muligheter, bør de brukes med forsiktighet for å unngå potensielle konflikter eller problemer.

Endre filsystem og struktur

WordPress sitt filsystem og struktur er svært kjent, også for hackere.

Av denne grunn kan det (noen ganger) være en fordel å endre den innebygde filstrukturen ved å flytte bestemte mapper til vilkårlige steder og sette de tilsvarende URL-ene og sti i wp-config.php.

Du kan for eksempel flytte wp-content mappen til en annen plassering for bedre organisering eller sikkerhet. For å gjøre dette, må du definere den nye stien i wp-config slik:

define('WP_CONTENT_DIR', dirname(__FILE__) . 'ny-mappe'); 
define('WP_CONTENT_URL', 'https://eksempel.no/ny-mappe');

Du bytter selvsagt ut «eksempel.no» og «ny-mappe» med ønsket adresse og sti.

Lignende metode kan benyttes for å flytte mappe for utvidelser eller plugins:

define( 'WP_PLUGIN_DIR', dirname(__FILE__) . 'wp-content/ny-plugin-mappe' );
define( 'WP_PLUGIN_URL', 'https://eksempel.no/wp-content/ny-plugin-adresse' );

Lignende metode kan benyttes for å flytte mappe for uploads:

define( 'UPLOADS', 'wp-content/ny-upload-mappe' );

Vær oppmerksom på at alle stier er relative til ABSPATH og bør ikke inneholde en ledende skråstrek.

Egendefinert side for databasefeil

Du kan opprette en egendefinert side for databasefeil for å vise en brukervennlig melding når det oppstår problemer med tilkobling til databasen.

Først oppretter du en egendefinert side for databasefeil, f.eks. db-error.php, og laster den opp til roten av WordPress-installasjonen din. Deretter legger du til følgende linje i wp-config.php:

define('WP_DB_ERROR_PAGE', dirname(__FILE__) . '/db-error.php');

Dette forteller WordPress at ved eventuelle databasefeil, skal denne siden vises i stedet for den som er standard.

Angi WordPress-adresse og nettstedsadresse

Disse to innstillingene defineres normalt fra Innstillinger > Generelt i kontrollpanelet, men kan også defineres i wp-config.php hvis ønskelig. Dette kan være nyttig om du skal flytte nettstedet til ny adresse eller mappe.

define('WP_HOME', 'https://eksempel.no');
define('WP_SITEURL', 'https://eksempel.no');

Du bytter selvsagt ut eksempel.no med den faktiske adressen din.

Aktiver WordPress multisite

WordPress multisite lar deg opprette et nettverk av nettsteder på én enkelt WordPress-installasjon. For å aktivere multisite, legg til følgende linje i konfigurasjonsfilen din:

define('WP_ALLOW_MULTISITE', true);

Etter du har lagt til denne strengen, må du konfigurere multisite gjennom WordPress kontrollpanel.

Blokker eksterne forespørsler

Du kan blokkere eksterne forespørsler (for bedre sikkerhet) ved å legge til følgende linje i wp-config.php:

define('WP_HTTP_BLOCK_EXTERNAL', true);

For å hviteliste spesifikke domener, legg til følgende linje:

define('WP_ACCESSIBLE_HOSTS', 'example.com, another-example.com');

Deaktiver CRON

Deaktivere WordPress sin innebygde CRON og sette opp CRON jobber på servernivå i stedet, er en avansert men ofte brukt metode som kan forbedre ytelse og påliteligheten til nettstedet betydelig.

WordPress bruker et system som kalles for wp-cron for å håndtere planlagte oppgaver, som til eksempel publisering av tidsbestemte innlegg, se etter oppdateringer og mange andre automatiserte oppgaver.

Ulempen med å bruke WordPress sin vanlige wp-cron er at den er avhengig av trafikk på nettstedet for å fungere, noe som kan føre til forsinkelser eller tapte oppgaver på nettsteder med lav trafikk, eller overdreven ressursbruk på nettsteder med høy trafikk.

Ved å deaktivere wp-cron og bruke serverens (webhotellet) CRON system, kan du oppnå en mer pålitelig og effektiv tidsplanlegging av oppgaver.

define('DISABLE_WP_CRON', true);

Bare sørg for at har aktivert CRON på servernivå før du utfører denne endringen, hvis ikke vil ingen av disse automatiske oppgavene utføres.

Deaktiver XML-RPC

XML-RPC er en protokoll som brukes for ekstern kommunikasjon med WordPress. Den er nødvendig for ulike oppgaver og verktøy som kobles til WordPress-nettstedet eksternt, men for svært mange vil den ikke ha noen praktisk funksjon.

XML-RPC er dessverre ofte utsatt for angrep av ondsinnede brukere og boter på internett, og derfor anbefales det på generelt grunnlag å deaktivere den:

add_filter('xmlrpc_enabled', '__return_false');

Konfigurer automatiske oppdateringer

Automatiske oppdateringer kan hjelpe deg å holde tritt med oppdateringer ved at WordPress installerer de automatisk.

Dette er en svært praktisk løsning, men som du sikkert vet kan noen oppdateringer inneholde feil eller skape konflikter med nettstedets eksisterende oppsett. Bruk derfor denne funksjonen med forsiktighet.

For å aktivere automatiske oppdateringer for større WordPress oppdateringer (til eksempel fra 5.9 til 6.0) legg til følgende linje i wp-config.php:

define('WP_AUTO_UPDATE_CORE', true);

For å deaktivere disse oppdateringene, endrer du true til false.

Mindre oppdateringer til WordPress er aktivert som standard. For å sikre at de forblir aktivert, endrer du konstanten til minor, slik som dette:

define('WP_AUTO_UPDATE_CORE', 'minor');

For å aktivere automatiske oppdateringer for alle utvidelser eller plugins, legg til følgende i wp-config.php:

add_filter('auto_update_plugin', '__return_true');

For automatiske oppdateringer for alle installerte WordPress-temaer, legger du til:

add_filter('auto_update_theme', '__return_true');

Hvis du foretrekker å utføre alle oppdateringer manuelt, kan du deaktivere alle automatiske oppdateringer ved å legge til denne:

define('AUTOMATIC_UPDATER_DISABLED', true);

Konklusjon

Filen wp-config.php er en kritisk komponent for at WordPress skal fungere.

Fra grunnleggende innstillinger som databasekonfigurasjon og sikkerhetsnøkler til mer avanserte alternativer som deaktivering av wp-cron, konfigurasjon av automatiske oppdateringer, gir denne filen omfattende kontroll over nettstedets funksjoner.

Ved å forstå og utnytte de ulike konfigurasjonsmulighetene i wp-config.php kan du forbedre sikkerheten, funksjonaliteten og brukeropplevelsen på nettstedet betydelig.

Enten du nettopp har startet å bruke WordPress, eller er en litt mer erfaren bruker som ønsker å tilpasse WordPress-nettstedet ditt, er det å mestre wp-config.php et viktig steg i å kunne administrere et vellykket WordPress-nettsted.

Share this article