Nous sommes en train de migrer un site d'un système CMS existant vers WordPress. Le système de gestion de contenu existant n'a pas d'outils d'intégration directe avec WordPress.
Je cherche la possibilité de créer mon propre script/application qui migrera le contenu entre les deux systèmes. Serait-il préférable de migrer directement dans la base de données (en insérant les lignes moi-même) ou de générer un fichier WXR (ou plusieurs) et de laisser le module d'importation WordPress gérer les choses pour moi?
S'il s'agit d'un CMS standard (et non de quelque chose que vous avez créé vous-même), je dirais qu'une solution WXR est le chemin à suivre . Cela prendra peut-être un peu plus de travail, mais ce sera une bonne expérience d’apprentissage et un bon moyen de développer vos compétences en Wordpress. La route WXR sera une solution automatisée fiable et reproductible.
Vous voudrez peut-être envisager de le faire en tant que projet open source, en sollicitant l'aide de la communauté pour le faire. Le résultat final sera un outil utile à partir duquel d’autres pourront utiliser, améliorer et étendre. Les contributions Open Source sont toujours agréables à répertorier sur le CV.
Ça dépend ...
Tout dépend de votre CMS, de sa structure de données, des données qui sont vitales pour votre migration spécifique et de votre intention de le faire ou non à l'avenir. S'il s'agit d'un CMS personnalisé que vous migrez, il y a de fortes chances que vous n'ayez pas à le faire deux fois ... et la construction de votre propre système de cartographie WXR est excessive. Si vous souhaitez potentiellement migrer plusieurs sites à partir de ce CMS, une carte WXR personnalisée serait une bonne idée.
Cela dit, il y a certaines choses que vous ne pouvez pas importer dans WordPress, même avec un fichier WXR. Des éléments tels que les comptes d'utilisateurs, les liens de blogroll, etc. ne sont pas ajoutés automatiquement. Par conséquent, si ces éléments sont importants pour vous, il pourrait être plus facile à long terme de déplacer les données directement dans la base de données.