我正在创建一个新的wordpress网站。我从旧网站上导入了超过1500条帖子。问题是wordpress在URL中有“an-the-a-if-is”这样的词,我的旧网站删除了这些词。
这是搜索引擎优化和破坏链接的一个主要问题,因为新的链接看起来像“猫在帽子里”而我的旧链接只是“猫帽子”。
我想只更改我上传的过去1500个帖子,从URL中删除指定的单词(通过重写我假设),我有要删除的单词列表。我希望创建的所有新帖子都包含单词,所以我不只是想使用.htaccess。
有没有办法通过PHP说“如果帖子早于XYZ日期,请删除这些单词,并从新重写的URL提供,否则,正常提供”
答案 0 :(得分: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-”等。如评论中所指出的,它不会替换网址开头或结尾处的单词。
你可以在一个查询中执行此操作,但它很难阅读,所以我建议一次只使用一个关键字。
答案 1 :(得分:0)
Wordpress本身的Theres选项,改变URL的形成方法,我认为它在一般选项下或者可能是“写作”。在任何一种情况下,您都可以自定义用于URL的内容或使用预定义的内容。 Wordpress已经在使用htaccess
和mod_rewrite
来将所有内容传递给index.php。要改变这种行为并覆盖Wordpress所需的内容,可能会导致WP作为一个整体破坏。
最重要的是,有没有你想要做的方法..它们可能属于Wordpress Hacks,或者它们现在可能是WP中的集成选项(自从我使用WP以来我已经有一段时间了,所以我不喜欢记得很清楚。但我知道你通常可以通过WP直接找到你想要的东西......
为此,如果您从旧的WP站点导出到新的WP站点,那么将所有内容从帖子导出到设置的方法也可能需要考虑该选项。