We hebben vrij veel klanten die naast een hoofddomeinnaam ook een aantal extra domeinnamen hebben. In veel gevallen verwijzen deze domeinnamen gewoon naar de hoofddomeinnaam. Dit heeft echter als nadeel dat zoekmachines zoals Google geen waarde hechten aan deze extra domeinnamen. Helaas is het binnen WordPress niet eenvoudig mogelijk om een specifieke pagina te publiceren op een specifieke domeinnaam.
We zijn daarom opzoek gegaan naar een oplossing waarmee we pagina’s eenvoudig kunnen publiceren/koppelen aan een domeinnaam. Al snel kwamen we het bericht “How to Use Domain Mapping for WordPress Pages” van WPMU.org tegen. Zij bieden een plugin aan waarmee pagina’s eenvoudig gekoppeld kunnen worden aan een domeinnaam. De “Domain Mapping System” plugin is gratis te downloaden vanaf de WordPress.org Plugin Directory.
Voordat we een plugin inzetten voor onze klanten nemen we echter altijd een kritische blik op de werking en code van dergelijke plugins. We komen namelijk erg veel plugins tegen die minder efficiënt opgezet zijn en we daarom liever niet gebruiken. De code van deze plugin is eenvoudig te bekijken via Trac of GitHub:
- http://plugins.trac.wordpress.org/browser/domain-mapping-system/tags/1.3.2
- https://github.com/deniaz/wp-dms/tree/master/dms
De manier waarop pagina’s gekoppeld kon worden aan domeinnamen vonden we enigszins complex. Ook de manier waarop dit in de code wordt afgehandeld kon naar ons idee eenvoudiger en efficiënter. Daarom hebben we de “Pronamic Domain Mapping” plugin ontwikkeld. Deze plugin registreert een extra custom post type (maatwerk bericht type) voor domeinnaam pagina’s. Bij deze pagina’s kan vervolgens een domeinnaam ingevoerd worden.
Het verschil tussen de “Domain Mapping System” en de “Pronamic Domain Mapping” zit hem voornamelijk in de afhandeling. Zo gebruikt de “Domain Mapping System” plugin de ‘init’ routine om een nieuwe query uit te voeren. De “Pronamic Domain Mapping” plugin gebruikt de ‘request’ routine om de standaard globale WordPress query al van te voren van de juiste argumenten te voorzien.
Naast deze verbetering wordt binnen de “Pronamic Domain Mapping” plugin ook de permalink van de domeinnaam pagina’s automatisch aangepast:
Dit heeft als voordeel dat er eenvoudig naar de domeinnaam pagina’s gelinkt kan en worden en dat zoekmachines altijd de juiste URL zullen indexeren. Ook zoekmachines optimalisatie plugins zoals “WordPress SEO” kunnen op deze manier goed de waarde van de domeinnaam pagina’s beoordelen.
7 reacties
Interessant artikel en iets waar veel mensen mee worstelen. Kun je bij jullie plug-in ook CPT’s koppelen aan een domein? Ik bouw namelijk landingspagina’s met Premise en die worden geregistreerd als Custom Post Type.
Ik zou deze graag aan een unieke domeinnaam willen koppelen.
We hebben de plugin dusdanig opgezet dat je custom post types eenvoudig kunt uitbreiden met deze functionaliteit. Hiervoor zou je de volgende code kunnen gebruiken:
add_post_type_support( ‘page’, ‘pronamic_domain_mapping’ );
https://codex.wordpress.org/Function_Reference/add_post_type_support
We hebben dit zelf nog niet in de praktijk gebruikt. Mocht je dus tegen problemen aanlopen dan horen we het graag.
Erg handig, waren we al lang naar op zoek. Maar een vraagje. Ik heb dus de plugin geinstalleerd en daarna een pagina aangemaakt verwijzend naar bijvoorbeeld http://www.voorbeeld.nl . Hoe zorg ik er nu voor dat die domeinnaam nu ook zelf verwijst naar die pagina?
Alvast bedankt!
Vaak kun je bij je hosting provider een domein alias of domein pointer toevoegen aan het hosting pakket van je WordPress installatie.
Als je toegang hebt tot bijvoorbeeld een hosting control panel zoals Plesk of DirectAdmin dan komen wellicht de volgende video’s van pas:
Plesk: http://www.youtube.com/watch?v=752licEBJn8
DirectAdmin: https://www.youtube.com/watch?v=antMQxZ4X4Q
Best Remco,
Harstikke bedankt voor hulp en bedankt voor het maken van deze handige plugin! Werkt nu prima en ideaal voor landingspagina’s.
Een vraagje nog.
Als je http://www.voorbeeld.nl invult als domeinnaam, dan pakt hij niet. Alleen de www. Hoe kan je dit oplossen zonder voor beide een pagina te moeten aanmaken?
Je kunt eventueel alles wat begint met ‘www’ doorverwijzen naar de variant zonder ‘www’, hiervoor kun je de volgende .htaccess regels gebruiken:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]