将 vBulletin 转换为 Drupal 但仍保持 SEO 友好的 url?
我厌倦了 VB,希望将大型 vBulletin 板转换为 Drupal。但我不想丢失友好网址的链接并冒着让 Google 重新索引所有内容的风险。我如何维护这些网址?该网站自 2002 年以来一直存在。我不想受到 Google 的惩罚。
I'm fed up with VB and looking to convert a big vBulletin board to Drupal. But I don't want to lose the links of the friendly urls and risk having everything re-indexed by Google. How can I maintain those urls? The site and huge has been around since 2002. I don't want to be penalised by Google.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用路径(Drupal 核心的一部分)和 pathauto 您可以创建用户友好的 URL。
Path 允许您更改 url 在每个 url 基础上的外观,其中 path_auto 可以帮助您在创建内容等时根据一些简单规则自动创建这些 url。
With path (part of Drupal core) and pathauto you can create user friendly urls.
Path allows you to change how your urls look at a per url basis, where path_auto helps you with automatically creating those urls based on some simplerules when content is created etc.
我现在正在处理一个使用本机论坛(+高级论坛)从 vBulletin 迁移到 Drupal 7 的网站。
在我继承的迁移中,他们使用 PathAuto 构建了新的 SEO 友好 URL,但没有创建 URL 别名 [!? ]。您至少会使用相同的 URL。
但无论哪种方式,您都需要对回复/评论进行一些操作。
在 vBulletin 中,对话题的回复与话题中的第一篇帖子的内容类型相同 - 所有“帖子”。但在 D7 中,线程中的第一个帖子是一个“节点”,所有回复都只是该节点上的“评论”。
标准 Drupal Migrate 工具将在数据库中创建一个表,将 vBulletin 帖子映射到 D7 评论,但它不会创建 URL 别名,因此针对特定帖子的任何请求都将收到 404,除非您处理它们。
您可以在 vBulletin 数据库中获取该帖子的
threadid
,然后在migrate_map_forum_threads
中查找该帖子现在属于[作为评论]的 D7 节点,或者D7 数据库中的类似表。我编写了一个脚本来连接两个数据库中的数据以创建地图,如果您愿意,可以使用它。
我仍在寻找实际使用地图的最佳方法,因为在我的虚拟服务器上我无权使用 mod_rewrite 的 RewriteMap 指令。如果你能利用它,那就是正确的选择;让 Apache 在 Drupal 参与之前处理所有映射。
I am now dealing with a site that was migrated from vBulletin to Drupal 7 using native Forum (+Advanced Forum).
In the migration I inherited, they built new SEO-friendly URLs using PathAuto but did not make URL aliases [ !? ]. You at least will be using the same URLS.
But either way you will need do something for the replies/comments.
In vBulletin replies to threads are the same content type as the first post in a thread - all 'posts'. But in D7 the first post in a thread is a 'node' and all the replies are just 'comments' on that node.
The standard Drupal Migrate tool will make a table in your database mapping the vBulletin post to the D7 comment, but it will not make a URL alias, so any requests that come in for a specific post will get a 404 unless you handle them.
You can get the
threadid
for the post in the vBulletin db, and then look up the D7 node that the post will now belong to [as a comment] in themigrate_map_forum_threads
or similar table in your D7 db.I wrote a script to join the data from both DBs to create a map, you can have it if you like.
I am still figuring out the best way to actually use the map since on my virtual server I do not have permission to use mod_rewrite's RewriteMap directive. If you can use that it is the way to go; have Apache handle all the mapping before Drupal even gets involved.