0

我正在创建一个新的 wordpress 网站。我从旧网站导入了 1500 多篇帖子。问题是 wordpress 在 URL 中有诸如“an-the-a-if-is”之类的词,而我的旧网站在其中删除了这些词。

这是 SEO 和断开链接的一个主要问题,因为新链接看起来像“the-cat-in-the-hat”,而我的旧链接只是“cat-hat”。

我只想更改我上传的过去 1500 个帖子,以从 URL 中删除指定的单词(我假设通过重写),我有要删除的单词列表。我希望创建的所有新帖子都包含这些单词,所以我不只是想使用 .htaccess。

有没有办法通过 PHP 说“如果帖子早于 XYZ 日期,则删除这些单词,并从新的重写 URL 中提供,否则,正常提供”

4

2 回答 2

1

您可以在数据库上运行以下命令:

UPDATE `wdp_posts`
SET `post_name`= REPLACE(`post_name`,"-and-","-"),
WHERE `post_date` < "20120101 00:00:00";

(在尝试之前备份数据库!)

这样做是重命名 2011 年 1 月 1 日之前的任何帖子,删除名称中出现的任何“-and”(即成为 URL)。

您需要编辑日期以满足您的需要。

你需要多次运行它。一次用于“-and-”,一次用于“-if-”,一次用于“-in-”等。正如评论中指出的那样,它不会替换 url 开头或结尾的单词。

可以在一个查询中执行此操作,但它很难阅读,因此我建议一次执行一个关键字。

于 2012-08-29T18:48:56.100 回答
0

Wordpress 本身有选项,以更改 URL 的形成方式,我认为它在一般选项下,或者可能是“写作”。无论哪种情况,您都可以自定义用于 URL 的内容或使用预定义的内容。Wordpress 已经在使用它htaccess,并且mod_rewrite它需要将所有内容传递给 index.php。改变这种行为并覆盖 Wordpress 的需求可能会导致整个 WP 崩溃。

最重要的是,是否有您想要做的方法..它们可能属于 Wordpress Hacks,或者它们现在可能是 WP 中的集成选项(自从我使用 WP 以来已经有一段时间了,所以我不记得完整了好吧。但是我知道您通常可以直接通过 WP 寻找什么...

更进一步,如果您从旧的 WP 站点导出到新的 WP 站点,则有导出从帖子到设置的所有内容的方法......可能也需要考虑该选项。

于 2012-08-29T18:10:24.500 回答