URL redirect (WordPress)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

Dit artikel betreft URL redirects nav. site-updates. Oorspronkelijk was dit artikel geschreven ivm. een migratie van Drupal 7 naar Wordpress, in april 2020. In juli 2021 is dit artikel bijgewerkt nav. aanpassen van product-URL's op een WordPress-site.

Waarom?

  • Als een site migreert naar een nieuwe versie, kunnen URL's veranderen. Met URL redirecting kun je dat afvangen. Schijnt belangrijk te zijn om onderscheid te maken tussen de 'echte' locatie en de 'redirects', omdat Google anders denkt dat je aan het spammen bent
  • Om page-not-found (404)-errors te ondervangen, die vaak als vanzelf lijken te ontstaan

Soorten redirects

  • Er bestaan een handjevol soorten redirects. Het schijnt belangrijk te zijn om het onderscheid te kennen
  • Redirects worden in veel situaties automatisch verwerkt door browsers. Daarom zijn er relatief veel redirects: Om browsers zo ver te krijgen om de gewenste acties te doen
  • Vergeet dat onderscheid → 301 is de enige die je nodig hebt.

301 Permanent Redirect

Dit is wat ik zoek. Zoiets als: " Dit is een redirect. Gelieve het adres bij te werken en het oude adres te vergeten."

302 Temporary redirect

Wordt niet meer gebruikt.

303 See other

Bedoeld om te voorkomen dat mensen bv. payment redirect-pagina's gaan bookmarken.

307 Temporary Redirect

Broertje van 303.

308 Permanent Redirect

Als 307, maar dan anders.

Inventaris - Tools

Redirects maak je (in mijn geval) op de 'nieuwe' locatie (de WordPress-site). Daar moeten de 'oude' en 'incorrecte' adressen worden omgezet naar nieuwe correcte adressen. Daar heb je tools voor:

WordPress-plugins

Drupal Commerce » WooCommerce-ondersteuning

Ik zal heus niet de enige zijn die een Drupal Commerce-site overfietst naar WooCommerce. Hier bestaan vast wel kant-en-klare scripts voor, of zelfs plugins. Ik kon echter zo snel niets vinden(april 2020).

WordPress PHP-API

De redirection-plugin heeft z'n eigen PHP-API-commando: wp redirection. See WP-CLI (commando's)#wp redirection voor details.

.htaccess-bestand

Je kunt redirects configureren via .htaccess-bestanden. Dat schijnt een gebruikelijke aanpak te zijn:

  • Waarschijnlijk goed qua performance want low-level
  • Je kunt gebruik maken van regular expressions, dus flexibel
  • Waarschijnlijk heel handig voor de situate waarin ik sites kloon & vertaal: Dan zijn die oude redirects niet relevant. Door ze in .htaccess-bestanden onder te brengen, is de kans kleiner dat ik ze per ongeluk vergeet te verwijderen naar klonen van een site. Dit duidt eigenlijk op een ander probleem: Het kan lastig zijn om overzicht te houden van plugins & hun functionaliteit op een site
  • Clean & overzichtelijk - itt. gebruik van een plugin.

Virtual host-bestand

Als iets via een .htaccess-bestand kan, kan het waarschijnlijk ook via een virtual host bestand, en nog efficiënter ook. Al vraag ik me af of het niet vreemd is om het daar te doen

Actuele URL's achterhalen

  • Voordat je URL's kunt redirecten, moet je waarschijnlijk eerst weten welke URL's je allemaal hebt op de oude site. Vermoedelijk is dat niet altijd even gemakkelijk, omdat veel URL's dynamisch zijn
  • 't Aan Google vragen middels site: is vermoedelijk niet betrouwbaar, want daar krijg ik altijd leipe antwoorden van
  • Handmatig achterhalen, zal ook niet altijd handig zijn: Te veel werk + combinatorisch (historie speelt een tijd)
  • Ongetwijfeld kun je de URL's uit Drupal peuteren → Aparte hoofdstuk

Casus: Van Drupal naar WordPress (april 2020)

Drupal-URL's achterhalen:

Status: Ik weet niet meer hoe dit was geëindigd. Op de site vind ik in ieder geval geen plugin voor redirection. Het stond me bij dat ik redirects defineerde via een soort macro-taaltje. Er was steeds een risico dat de redirects te breed werden gedefineerd. Uiteindelijk was dit project niet bijster succesvol.

Zie ook

Bronnen